Java プロジェクト用の Gradle ビルド スクリプトがあります。プロジェクトの依存関係のリモートとして内部 Artifactory リポジトリをセットアップしました。
プロジェクトのコンパイル時に、Gradle が最初に Artifactory にアクセスして要求するようにします。そこで失敗した場合は、次に JCenter をバックアップとして試行する必要があります。
Gradle 2.8 で Gradle Artifactory プラグイン v3.1.1 を使用しています。プラグインは、そのcontextUrl
、publish
レポ、およびresolve
レポをクロージャで定義します。
artifactory {
contextUrl = "${artifactoryContextUrl}"
publish {
repository {
repoKey = 'Release'
username = "${artifactoryUser}"
password = "${artifactoryPassword}"
maven = true
}
}
resolve {
repository {
repoKey = 'repo'
username = "${artifactoryUser}"
password = "${artifactoryPassword}"
maven = true
}
}
}
buildscript とプロジェクトの両方でリポジトリを定義します。
buildscript {
repositories {
maven {
name 'Artifactory'
url "${artifactoryContextUrl}repo"
credentials {
username = "${artifactoryUser}"
password = "${artifactoryPassword}"
}
}
jcenter()
}
}
repositories {
maven {
name 'Artifactory'
url "${artifactoryContextUrl}repo"
credentials {
username = "${artifactoryUser}"
password = "${artifactoryPassword}"
}
}
jcenter()
}
GradleがJCenterを試す前artifactory
にこの定義されたリポジトリを参照するように、ビルドスクリプトにクロージャを定義して配置する方法が見つからないように見えるため、Artifactoryリポジトリを繰り返し定義するこれらの重複ステートメントに頼らなければなりませんでした。resolve
buildscript
解決策は、とクロージャーの両方でこの重複した定義に対処することが望ましいですが、Gradle-Artifactory プラグインがインストールされる前に、クロージャーrepositories
内のプロパティを参照できる可能性は低いようです。artifactory