Я создал отдельный плагин вместе с простым демонстрационным приложением, которое мне нужно для разработки. Оба добавляются в один и тот же проект в виде app
-модуля и plugin
-модуля, так что я могу легко разрабатывать и тестировать функции, которые я пишу в плагине. Я предполагаю, что если я добавлю источники из плагина в buildSrc/build.gradle.kts
, я смогу ссылаться на источники плагина из приложения (мне нужно это, чтобы создать и применить плагин). Демонстрационный проект в полном объеме можно найти здесь: https://github.com/oizo/gradle-plugin-sample.
В настоящее время кажется, что когда я применяю плагин в app/build.gradle.kts
, он становится доступным (автозаполнение работает), но когда я пытаюсь собрать с ./gradlew build
с этим сообщением не получается:
FAILURE: Build failed with an exception.
* Where:
Build file '/Users/MyUser/github/gradle-plugin-sample/app/build.gradle.kts' line: 10
* What went wrong:
Script compilation error:
Line 10: apply<io.hvam.android.plugin.StringPlugin>()
^ Unresolved reference: io
Очевидно, я что-то упустил.
Я пробовал решение, предложенное в этом посте - https://stackoverflow.com/a/42263532/1181023,, которое, кажется,быть похожей проблемой, но когда я запускаю ./gradlew build --include-build plugin/
, он также не может быть собран, со следующим:
FAILURE: Build failed with an exception.
* What went wrong:
Included build in /Users/MyUser/github/gradle-plugin-sample/plugin has a root project whose name 'plugin' is the same as a project of the main build.