У меня есть проект, который зависит от локальной искусственности для нескольких зависимостей.Gradle: переход к многостраничной структуре - невозможно разрешить репозиторий
Gradle построить на этом проекте работает отлично, с правильными настройками для хранилища:
buildscript {
repositories {
maven {
url "${artifactoryUrl}/libs-release"
}
}
dependencies {
classpath 'org.jfrog.buildinfo:build-info-extractor-gradle:4.4.10'
}
}
repositories {
maven {
url "${artifactoryUrl}/repo"
}
}
artifactory {
contextUrl = "${artifactoryUrl}"
publish {
repository {
repoKey = 'libs-snapshot-local' // The Artifactory repository key to publish to
username = "${artifactoryUser}" // The publisher user name
password = "${artifactoryPassword}" // The publisher password
}
defaults {
// Reference to Gradle publications defined in the build script.
// This is how we tell the Artifactory Plugin which artifacts should be
// published to Artifactory.
publications('mavenJava')
publishArtifacts = true
// Properties to be attached to the published artifacts.
properties = ['qa.level': 'basic', 'dev.team' : 'core']
}
}
resolve {
repoKey = 'repo'
}
}
Я следовал Gradle учебников по структуре несколько проектов. Похоже, я могу переместить раздел «репозиторий» в корневой файл gradle.build
. Однако, когда я бег Gradle сборок я получаю и ошибки на все зависимости от Artifactory:
Не может решить внешнюю зависимости
Примечания: Я также добавил gradle.properties
файл в корневой директории, которая содержит все переменные (artifactoryUrl и т. д.).
Похоже, что подпроект не может «видеть» репозиторий, определенный в корневом файле gradle.build
. Какие-либо предложения?
UPDATE
Мои build.gradle
на корневой директории будет выглядеть так:
allprojects {
}
subprojects {
buildscript {
repositories {
maven {
url "${artifactoryUrl}/libs-release"
}
}
dependencies {
classpath 'org.jfrog.buildinfo:build-info-extractor-gradle:4.4.10'
}
}
repositories {
maven {
url "${artifactoryUrl}/repo"
}
}
artifactory {
contextUrl = "${artifactoryUrl}"
publish {
repository {
repoKey = 'libs-snapshot-local' // The Artifactory repository key to publish to
username = "${artifactoryUser}" // The publisher user name
password = "${artifactoryPassword}" // The publisher password
}
defaults {
// Reference to Gradle publications defined in the build script.
// This is how we tell the Artifactory Plugin which artifacts should be
// published to Artifactory.
publications('mavenJava')
publishArtifacts = true
// Properties to be attached to the published artifacts.
properties = ['qa.level': 'basic', 'dev.team' : 'core']
}
}
resolve {
repoKey = 'repo'
}
}
}
Что вы получаете при работе с флагами '-i' или' -d'? Там где-то должно быть свидание. –
Только связанное сообщение, которое я вижу с 'id' is" Нет локального репозитория в файле настроек. Использование пути по умолчанию: /home/elad/.m2/repository " –
Я думаю, что вам не хватает" применить плагин: ', см. Мой обновленный ответ –