我正在尝试实现基于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");
}
}
我可以在我的插件的消费者模块中看到该任务:
但是当我运行它时,我无法看到该消息。我试图抛出GradleException
而不是打印消息,但它不起作用。我只得到BUILD SUCCESSFUL
。
答案 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");
}
}