Я написал плагин Gradle, который добавляет пользовательскую задачу с именем generateTestDocs
, которая зависит от задачи groovydoc
, которая сама создается плагином groovy
.
//MyPlugin.groovy
@Override
void apply(Project project) {
project.apply(plugin: 'groovy')
project.task(type: GenerateTestDocsTask, dependsOn: ':groovydoc', 'generateTestDocs')
}
project.tasks.groovydoc.doFirst {
println "I should see this message but I don't"
}
Я пытаюсь протестировать этот плагин, запустив задачу generateTestDocs
@Test
void testRunGenerateTestDocs() {
Project project = ProjectBuilder.builder().build()
project.apply(plugin: 'my.gradle.plugin')
project.tasks.generateTestDocs.actions*.execute(project.tasks.generateTestDocs)
}
Для последней строки в моем тесте я хотел бы вместо этого просто сказать project.task.generateTestDocs.execute()
и запустить задачу со всеми ее зависимостями, но, похоже, это не работает. Документация по написанию плагинов gradle показывает только такие утверждения, как assertTrue(project.tasks.hello instanceof GreetingTask)
, которые показывают, что задача добавлена в проект, но не показывает, как запустить эту задачу.