バージョンを SCM に関連付けるビルド ツールがあります。jar をローカルでビルドするときに、jar のバージョンを設定できません。誰かが私がローカルで作業しているものを変更すると、バージョン番号がプッシュされますが (取得できます)、ローカル リポジトリ (Ivy) に公開すると、Gradle は外部リポジトリを好むようです。
build.gradle
repositories {
mavenCentral()
ivy {
url "${System.properties['user.home']}/.ivy2/local/"
layout "pattern", {
artifact "[organization]/[module]/[revision]/[artifact](-[classifier]).[ext]"
ivy "[organization]/[module]/[revision]/ivy.xml"
}
}
ivy {
url "https://repo/"
layout "pattern", {
artifact myPattern
ivy myIvyPattern
}
}
}
編集中の jar のビルドを変更せずに。gradle が常にローカル リポジトリを優先するようにするにはどうすればよいですか? それが最善の方法かもしれないと感じていresolutionStrategy
ますが、これを達成する方法がわかりません。
編集 1
わかりやすくするために、Artifactory にはバージョン 1.2.3 の jar (jenkins が公開) があります。1.2.3 としてローカル リポジトリに保存する、ローカルにビルドした jar があります。リポジトリ クロージャに両方のリポジトリを持つプロジェクトをビルドすると (ローカルのリポジトリが一番上にある)、Gradle は Artifactory から 1 つを取得するようです。
編集 2
依存関係の定義
dependencies {
compile ('company:project:1.2.+')
}