0

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

ROOT/plugin/src/main/java/com.test.plugin/ReleasePlugin.java

public class ReleasePlugin implements Plugin<Project> {

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

}

ROOT/plugin/src/main/java/com.test.plugin/ReleaseTask.java

public class GGReleaseTask extends DefaultTask {

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

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

在此处输入图像描述

但是当我运行它时,我看不到消息。我试图抛出GradleException而不是打印一条消息,但它不起作用。我明白了BUILD SUCCESSFUL

4

1 回答 1

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");
    }
}
于 2015-10-14T10:39:50.993 回答