Пользовательский плагин Gradle на основе Java не работает

Я пытаюсь реализовать плагин на основе 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.


person Héctor    schedule 14.10.2015    source источник
comment
Пробовали запускать из консоли?   -  person Opal    schedule 14.10.2015


Ответы (1)


Я нашел ошибку. Вы должны создать задачу и назначить класс, который реализует задачу:

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");
    }
}
person Héctor    schedule 14.10.2015