Gradle将单个存档上载到多个存储库

时间:2013-06-19 09:24:01

标签: maven gradle

我的团队目前有两个Maven存储库,Gradle用于将工件上传到其中一个(取决于我们正在处理的项目)。其中一个回购是我们公司内部的私有,而另一个是我们和第三方公司可以访问的回购。

我们现在已经达到了这样的程度:如果我们对项目进行更改,我们希望将新创建的工件上传到两个repos而不是一个。但是我们发现写下面代码之类的东西不能按预期工作:

uploadArchives {
    repositories {
        repository(url: "http://repo1/releases")
        snapshotRepository(url: "http://repo1/snapshot")
        repository(url: "http://repo2/releases")
        snapshotRepository(url: "http://repo2/snapshot")
    }
}

出于某种原因,Gradle只将存档上传到列表中的第二个存储库(即repo2) 我意识到虽然我们可以将我们的Gradle文件从多个存储库编辑为 download ,但我只是想知道是否实际上可以上传一个工件到多个,因为我们似乎无法看到让这个工作。

1 个答案:

答案 0 :(得分:12)

一个Upload任务只能发布到一个存储库。但是,您可以声明另一个Upload任务。类似的东西:

task uploadExternal(type: Upload) {
    configuration = configurations.archives
    uploadDescriptor = true
    repositories { ... }        
}