Включить многоразовые задачи gradle из шаблона проекта ml-gradle "Поставщик"? - PullRequest
2 голосов
/ 19 апреля 2020

В ml-gradle мы можем создать проект «провайдера» для объединения общих ресурсов MarkLogi c (модули, схемы и т. Д. c.) И использовать их из других зависимых ml-gradle проектов.

https://github.com/marklogic-community/ml-gradle/tree/master/examples/dependency-project

Мне интересно, можем ли мы также включить пользовательские задачи MarkLogi c gradle в проект provider. Или нам потребуется создать подключаемый модуль Gradle, чтобы включить такую ​​функцию.

https://github.com/marklogic-community/ml-gradle/wiki/Writing-your-own-task

Спасибо!

1 Ответ

3 голосов
/ 19 апреля 2020

Я не думаю, что это возможно, потому что я считаю, что это считается двумя отдельными типами зависимостей. «mlBundle» - это конфигурация проекта, которую определяет ml-gradle, и пользователи могут определять зависимости, связанные с этой конфигурацией, например marklogi c -unit-test. Но повторно используемые задачи Gradle упакованы как плагины Gradle, а зависимости плагинов связаны со сценарием сборки проекта, который отделен от конфигураций проекта.

Я думаю, что разумным сравнением является Spring Boot - вы можете иметь зависимость "compile" от Spring Boot jar, чтобы он был включен в ваше приложение Java. Отдельно ваш проект Gradle также может зависеть от плагина Spring Boot Gradle для наследования таких задач, как «bootRun» и «bootJar».

Так что для вашего случая использования, я думаю, вам сначала понадобится пакет, от которого можно зависеть через mlBundle, а затем вам понадобится отдельный плагин Gradle, который пользователи смогут выбрать для применения в своем проекте.

...