基于自定义Gradle Java的插件不起作用

时间:2015-10-14 10:33:53

标签: java gradle gradle-plugin

我正在尝试实现基于Gradle Java的插件。我已经按照this的答案去做了。

ROOT /插件/ SRC /主/爪哇/ com.test.plugin / ReleasePlugin.java

public class ReleasePlugin implements Plugin<Project> {

    @Override
    public void apply(Project project) {
        project.task("ggrelease");
    }

}

ROOT /插件/ SRC /主/爪哇/ com.test.plugin / ReleaseTask.java

public class GGReleaseTask extends DefaultTask {

    @TaskAction
    public void ggrelease() {
        System.out.println("Hello from ggrelease task");
    }
}

我可以在我的插件的消费者模块中看到该任务:

enter image description here

但是当我运行它时,我无法看到该消息。我试图抛出GradleException而不是打印消息,但它不起作用。我只得到BUILD SUCCESSFUL

1 个答案:

答案 0 :(得分:0)

我发现了错误。您必须创建任务并分配实现任务的类:

public class ReleasePlugin implements Plugin<Project> {

    @Override
    public void apply(Project project) {
        project.getTasks().create("ggrelease", GGReleaseTask.class);
    }
}

而不是:

public class ReleasePlugin implements Plugin<Project> {

    @Override
    public void apply(Project project) {
        project.task("ggrelease");
    }
}