我正在尝试实现一个基于 Gradle Java 的插件。我关注了this回答去做。
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
.
最佳答案
我发现了错误。您必须创建任务并分配实现任务的类:
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");
}
}
关于java - 基于自定义 Gradle Java 的插件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33123028/