基于自定义 Gradle Java 的插件无法正常工作
Custom Gradle Java based plugin is not working
我正在尝试实现一个基于 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
.
我发现了错误。您必须创建任务并分配实现任务的class:
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");
}
}
我正在尝试实现一个基于 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
.
我发现了错误。您必须创建任务并分配实现任务的class:
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");
}
}