Создайте плагин из вашей библиотеки и опубликуйте его на этом Nexus. Затем добавьте эти строки в ваш settings.gradle
:
pluginManagement {
repositories {
maven {
url "…"
}
gradlePluginPortal()
}
resolutionStrategy {
eachPlugin {
if (requested.id.namespace == 'mygroup.gradle-library') {
useModule('mygroup.gradle-library:1.0.1')
}
}
}
}
Здесь вы заявляете, что хотите заменить плагин mygroup.gradle-library
зависимостью mygroup.gradle-library:1.0.1
.
Тогда просто добавьте плагин в ваш build.gradle
:
plugins {
id 'mygroup.gradle-library'
}
Теперь у вас есть зависимость от пути к классу сборки без блока buildscript
.
EDIT
Чтобы применить это к всем вашим проектам, поместите эти строки в init script ~/.gradle/init.gradle
($GRADLE_USER_HOME/init.gradle
):
settingsEvaluated {
pluginManagement {
repositories {
maven {
url "…"
}
gradlePluginPortal()
}
resolutionStrategy {
eachPlugin {
if (requested.id.namespace == 'mygroup.gradle-library') {
useModule('mygroup.gradle-library:1.0.1')
}
}
}
}
}
После этого plugin
блоки должны работать. Тем не менее, это будет работать только для вас, но не для ваших товарищей по команде, если они не делают то же самое.
Если вам не нравится plugins
, вы все равно можете выполнить «глобальную» настройку через скрипты инициализации, как показано. Подробнее о доступных API.