Я создаю процесс сборки с Gradle, и я хочу предоставить плагин, который использует код Java. Документация плагина Gradle говорит, что это возможно:
Вы можете реализовать собственный плагин на любом языке, который вам нравится, если реализация завершится компиляцией в виде байт-кода. Для примеров здесь мы будем использовать Groovy как язык реализации. Вместо этого вы можете использовать Java или Scala.
Однако после нескольких часов Googling и чтения я еще не нашел объяснений, как создать пользовательский плагин Gradle с Java. Кажется, вы могли бы создать код для него в каталоге, например:
<rootProjectDir>/buildSrc/src/main/java/
MyGradlePlugin.java
MyGradleTasks.java
Но тогда возникает вопрос:
- Как реализовать класс и задачи плагина в Java для совместимости с Gradle?
-
Как получить Gradle для распознавания классов и задач Java, чтобы вы могли использовать их в сборке?
Вы можете просто ссылаться на класс плагина, как вы это делаете для эквивалента Groovy?
src/main/resources/META-INF/gradle-plugins/myjavaplugin.properties
implementation-class=org.me.MyGradlePlugin
Я понимаю, что я мог просто вызвать код Java с помощью project.javaexec
или JavaExec
, но я обеспокоен тем, что это сделает мой процесс сборки менее переносимым.