Как получить сценарий, соответствующий сценарию инициализации в Gradle? - PullRequest
0 голосов
/ 06 февраля 2019

Как получить экземпляр org.gradle.api.Script, соответствующий initscript в самом initscript?

1 Ответ

0 голосов
/ 06 февраля 2019

См. https://docs.gradle.org/current/javadoc/org/gradle/api/Script.html:

Этот интерфейс реализован всеми скриптами Gradle для добавления в некоторые специфичные для Gradle методы.Поскольку ваш класс скомпилированного скрипта будет реализовывать этот интерфейс, вы можете использовать методы и свойства, объявленные этим интерфейсом, прямо в вашем скрипте.

Это означает, что все ваши скрипты Gradle (проект, настройки или скрипты инициализации)реализовать этот интерфейс Script, чтобы вы могли просто использовать this в своем скрипте для доступа к соответствующему экземпляру Script.

Например, если вы хотите получить доступ к Script.buildscript и распечатать местоположение скрипта:

println "Current script file: " + ((Script)this).buildscript.getSourceFile()
  • Из сценария сборки проекта это должно вывести:

Current script file: /path/to/project/build.gradle

  • Из сценария инициализации (если init.gradle находится в каталоге USER_HOME / .gradle /):

Current script file: /path/to/userhome/.gradle/init.gradle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...