我错过了什么方法? project.apply插件上的MissingMethodException:'customPlugin'

时间:2013-06-05 15:41:30

标签: groovy gradle gradle-custom-plugin

我错过了哪种方法? 我在

上遇到了MissingMethodException
project.apply plugin: 'env'

这是我的代码:

- EnvPluginTest.groovy

package com.gradle.env;

import static org.junit.Assert.*
import org.junit.Test
import org.gradle.api.*
import org.gradle.testfixtures.*

class EnvPluginTest {

    @Test
    public void EnvPluginAddsEnvPluginExtensionToProject() {
        Project project =  ProjectBuilder.builder().build()
        project.apply plugin: 'env'

        assertTrue(project.extensions.getByName('env')  
            instanceof  EnvPluginExtension)
    }
}

- env.properties

implementation-class=com.gradle.env.EnvPlugin

- EnvPlugin.groovy

package com.gradle.env

import org.gradle.api.*;

class EnvPlugin implements Plugin<Project> {
    void apply(Project project) {
        project.configure {
            extensions.create("env",  
                EnvPluginExtension) 
        }
    }
}

class EnvPluginExtension {
    def env = EnvSingleton.instance
}

class EnvSingleton {

    String tcserverHome
    String javaHome

    private static final INSTANCE = new EnvSingleton()

    private EnvSingleton() {}

    static getInstance() {
        return INSTANCE
    }
}

1 个答案:

答案 0 :(得分:0)

完整堆栈跟踪应该告诉您问题所在。您可以从Gradle的HTML测试报告,IDE中或通过重新配置test.testLogging获取它。

PS:请不要在此处和http://forums.gradle.org双重发帖。