0

バージョンを 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.+')
}
4

1 に答える 1