我有一个将版本绑定到 SCM 的构建工具。我在本地构建时无法设置 jar 的版本。如果有人要更改我在本地工作的内容,它将推送版本号(我可以获得),但是当我发布到我的本地存储库(Ivy)时,Gradle 似乎更喜欢外部存储库。
构建.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 发布)。我有一个我在本地构建的 jar,它作为 1.2.3 保存到我的本地存储库中。当我在我的存储库关闭中构建一个具有两个存储库的项目时(我的本地存储库在顶部),Gradle 似乎从 Artifactory 中提取了一个。
编辑 2
依赖定义
dependencies {
compile ('company:project:1.2.+')
}