Gradle更喜欢重复条目的存储库

时间:2013-11-01 21:57:37

标签: gradle

我有一个构建工具,它将版本绑定到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有一个jar(由jenkins出版),版本为1.2.3。我有一个我在本地构建的jar,它以1.2.3的形式保存到我的本地存储库中。当我在我的存储库闭包中构建一个具有两个存储库的项目时(我的本地一个在顶部),Gradle似乎从Artifactory中提取了一个。

修改2

依赖关系定义

dependencies {
    compile ('company:project:1.2.+')
}

1 个答案:

答案 0 :(得分:2)

我真的不明白你在说什么,但Gradle会按照声明的顺序搜索存储库,并选择它找到的第一个匹配模块(至少只要使用固定版本)。