Как я показал в предыдущих статьях, таких как « Определение соглашений Gradle » и « Развитие сборки Gradle из сборки Ant: импорт файла сборки Ant », важную информацию о сборке Gradle можно получить, обратившись к API Gradle через Groovy . В этом посте я продемонстрирую доступ к базовым деталям сборки Gradle через интерфейс Gradle .
Интерфейс org.gradle.api.invocation.Gradle доступен в файле сборки Gradle с помощью просто «gradle» [что неявно соответствует getGradle () на языке Groovy]. Следующий список скриптов сборки Gradle показывает подмножество метаданных, доступных через интерфейс Gradle
.
наращивание Gradle-interface.gradle
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
|
// build-gradle-interface.gradle apply plugin: 'java' println "Class: ${this.getClass().canonicalName}" println "Gradle: ${gradle.getClass().canonicalName}" println "Ant: ${ant.getClass().canonicalName}" println "Root Project: ${rootProject.getClass().canonicalName}" println "\n=== Gradle ===" println "\tgradleVersion = ${gradle.gradleVersion}" println "\tgradleHomeDir = ${gradle.gradleHomeDir}" println "\tgradleUserHomeDir = ${gradle.gradleUserHomeDir}" println "\n=== Gradle.startParameter ===" def startParameter = gradle.startParameter println "\tcurrentDir = ${startParameter.currentDir}" println "\tprojectDir = ${startParameter.projectDir}" println "\tgradleUserHomeDir = ${startParameter.gradleUserHomeDir}" println "\tbuildFile = ${startParameter.buildFile}" println "\tprojectProperties = ${startParameter.projectProperties}" println "\tsystemPropertiesArgs = ${startParameter.systemPropertiesArgs}" println "\ttaskNames = ${startParameter.taskNames}" |
Когда я запускаю сборку Gradle выше и указываю, что должна выполняться задача « jar » ( задача, предоставляемая плагином Java ), вывод будет выглядеть следующим образом:
Приведенный выше список сборки и соответствующий снимок экрана показывают, что интерфейс Gradle
предоставляет метаданные, такие как версия Gradle, домашний каталог установки Gradle и каталог пользователя Gradle. Интерфейс Gradle
также предоставляет доступ к экземпляру StartParameter, который предоставляет дополнительные сведения о метаданных запуска сборки, такие как каталог проекта, текущий каталог, имя файла сборки, свойства проекта, системные свойства и имена задач, которые были указаны для выполнения. ,
Существует значительно больше информации, которую можно почерпнуть о сборке Gradle из интерфейса Gradle
и в этом посте показана только часть этой информации.