#java #gradle #groovy #build #nexus
#java #gradle #отличный #сборка #nexus
Вопрос:
Я пытаюсь настроить управление плагинами для проекта Gradle, чтобы извлекать зависимости плагинов из Nexus.
У меня есть следующая строка в качестве первого блока в файле settings.gradle
pluginManagement {
repositories {
if (project.hasProperty('kkvmvn')) {
maven {
url "${kkvmvn}"
}
} else {
mavenLocal()
mavenCentral()
gradlePluginPortal()
}
}
}
Однако я получаю следующую ошибку
Caused by: groovy.lang.MissingPropertyException: Could not get unknown property 'project' for repository container of type org.gradle.api.internal.artifacts.dsl.DefaultRepositoryHandler.
В принципе, мне нужно получить доступ к параметру командной строки, чтобы установить URL-адрес Nexus. Как мне это сделать в файле settings.gradle? AFAIK невозможно объявить репозиторий плагинов в файле build.gradle. Вот пример, как я извлекаю другие зависимости библиотеки в build.gradle
subprojects {
// Java Version JDK 8
sourceCompatibility = 1.8
targetCompatibility = 1.8
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
repositories {
if (project.hasProperty('kkvmvn')) {
maven {
url "${kkvmvn}"
}
} else {
mavenLocal()
mavenCentral()
}
}
}
Ответ №1:
В случае, если это поможет кому-либо еще, к свойствам gradle можно получить доступ в, settings.gradle
используя объект Settings. Итак, условный способ настройки репозиториев плагинов будет выглядеть примерно так:
pluginManagement {
repositories {
if (settings.hasProperty('kkvmvn')) {
maven {
url settings.kkvmvn
}
} else {
mavenLocal()
mavenCentral()
gradlePluginPortal()
}
}
}