Я пишу пользовательский плагин Gradle на Java, и он, кажется, работает так, как я ожидаю, когда я явно вызываю задачу, которую он создает.
Теперь задача тесно связана с тестами, поэтому я хотел бы, чтобы она выполнялась автоматически при выполнении тестов (в идеале, перед тестами на самом деле), но у меня есть 2 проблемы. Ниже мой плагин:
public class MyCustomGradlePlugin implements Plugin<Project> {
public void apply(Project project) {
MyCustomGradleConfig myCustomGradleConfig = project.getExtensions().create("myCustomGradleExtension", MyCustomGradleConfig.class, project);
Task myCustomTask=project.getTasks().create("checkRules", MyCustomRulesTask.class, myCustomGradleConfig);
archUnitTask.setGroup("verification");
project.getTasks().findByName("test").dependsOn(myCustomTask);
}
}
Я собираю и внедряю локально этот плагин. Когда я объявляю и настраиваю его в build.gradle в корне многомодульного проекта:
, если я забуду применить плагин Java в проекте, тогда задача «тестирования»не существует, и myCustomTask не может быть «присоединен» к нему: есть ли способ убедиться, что плагин java объявлен при выполнении MyCustomGradlePlugin?
´myCustomTask´ выполняется, но только в корне проекта, где нет ничего интересного: если проект представляет собой многомодульный проект, его нужно выполнить для всех модулей,В идеале мне бы хотелось, чтобы плагин позаботился об этом, чтобы максимально упростить настройку в проектах, которые будут его использовать. Как мне этого добиться?