Я пытаюсь разработать плагин Gradle (только для Java) (https://github.com/jdeppe-pivotal/test-in-docker). Структура gradle очень ванильная, и мой код плагина находится в src/main/java
.
Япытаясь использовать GradleRunner
для интеграционного теста и получить тестовый файл ресурса build.gradle
:
apply plugin: 'io.pivotal.test.docker-plugin'
task helloWorld {
doLast {
println "Hello World!"
}
}
Соответствующие биты тестового кода:
BuildResult result = GradleRunner.create()
.withProjectDir(testProjectDir.getRoot())
.withArguments("helloWorld")
.withPluginClasspath()
.build();
assertThat(result.getOutput()).contains("Hello World!");
assertThat(result.task(":helloWorld").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
Однакотестовая сборка завершается неудачно с:
> Plugin with id 'io.pivotal.test.docker-plugin' not found.
Я вижу, что (как представляется) правильный путь к классу устанавливается с .withPluginClasspath()
в вызове GradleRunner
. Что я здесь не так делаю?
ОБНОВЛЕНИЕ:
Изменение ресурса теста build.gradle
для ссылки на плагин следующим образом:
plugins {
id 'io.pivotal.test.docker-plugin'
}
работает.