Я написал плагин Gradle, который хочу использовать только в моем собственном проекте.Вот упрощенная файловая структура:
/root project
|
+ build.gradle
+ settings.gradle
+ build/
+ some module/
|
+ build.gradle
+ src/
+ build/
+ plugin/
|
+ build.gradle
+ src/
+ build/
Я добавляю плагин в модуль, ссылаясь на файл jar
// From '/some module/build.gradle'
buildscript {
dependencies {
classpath files('./plugin/build/libs/payload-plugin-0.0.1-SNAPSHOT.jar')
}
}
apply plugin: 'my-custom-plugin'
Сначала он работает нормально, но есть проблема.Если вы очистите проект и попытаетесь построить его снова, он потерпит неудачу, поскольку './plugin/build/libs/payload-plugin-0.0.1-SNAPSHOT.jar'
больше не существует и не будет пытаться перестроить модуль плагина, поскольку это считается ошибкой конфигурации.
Я пытался создать плагин только с использованием gradlew :somemodule:plugin:build
, но сначала он проверяет скрипт компоновки `: somemodule ', поэтому он не работает.
Также пробовал classpath project(':somemodule:plugin')
вместо ссылки на jar,но он говорит, что плагин не найден.