как вызвать gradle задание, которое внутри баночки с параметром - PullRequest
0 голосов
/ 20 ноября 2018

Я хочу запустить задачу gradle, встроенную в банку, банку, которую я сам не делаю. Это вообще возможно? Я мог бы также вставить задачу gradle в мой локальный build.gradle и запустить ее, но весь код все равно должен был бы ссылаться на jar, чтобы фактически запустить основной класс.

1 Ответ

0 голосов
/ 20 ноября 2018

Вы можете добавить jar, который содержит Task , который вы хотите использовать в вашем пути к классу buildscript, используя блок buildscript. Таким образом, вы сможете импортировать и использовать этот класс Task в вашем скрипте сборки. Блок buildscript обычно используется для добавления внешних jar-файлов Gradle в путь к классу сценария, чтобы их можно было применять, но вы также можете ссылаться на jar-файлы, которые не обеспечивают реализацию plugin , а только Task классы реализации.

Пример

Предполагая, что:

  • координаты внешней банки: org.company.gradle:custom-tasks:0.1
  • класс реализации Task равен org.company.gradle.tasks.MyTask
  • реализация Task имеет настраиваемое свойство message

Затем вы можете реализовать свой скрипт сборки следующим образом:

buildscript {
    repositories {
        // define repositories
    }
    dependencies {
        // make the external jar available in the build script classpath
        classpath "org.company.gradle:custom-tasks:0.1"
    }
}

// use the Task 
task 'myTask'(type: org.company.gradle.tasks.MyTask) {
    message = "custom message"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...