在gradle這個項目,我有我的依賴關係設置爲:搖籃+ Artifactory的插件:嘗試發佈的解決依賴版本
dependencies {
compile group: 'com.our_organization.lib', name: 'Libraries', version: '5.+'
compile group: 'commons-io', name: 'commons-io', version: '2.4'
}
它使用圖書館的最新發布的版本,和完美的作品。
我再放開我建罐子通過對artifactory的:
artifactory {
contextUrl = artifactory_contextUrl
publish {
repository {
repoKey = publicationRepoKey
username = artifactory_user
password = artifactory_password
maven = true
}
}
}
其中大部分工作正常。
然而,當我去artifactory的,並得到了XML對於任何給定的版本,它的依賴被列爲
<dependencies>
<dependency org="com.our_organization.lib" name="Libraries" rev="5.+" />
<dependency org="commons.io" name="commons.io" rev="2.4" />
</dependencies>
,這意味着我不能我的版本鏈接到用於特定的庫版本它的構建。
我想要做的是賦予artifactory的依賴版本是構建中使用的特定解析版本。
我已經確定了幾件事情,都非常黑客,並且覺得必須有更好的方法。
這裏就是我想的/試過:
- 解決依賴自己,並在gradle這個依賴DSL設置特定的版本,所以搖籃它看起來像一個特定版本。使用常青藤來獲得證明的依賴關係的解決版本更難以應對。
- 在寫入之後但在將其發送到artifactory之前將xml篡改。這在很多層面上都很糟糕,並且在未來很容易出現問題。
- 使用獨立的gradle項目來確定解析後的版本,並將其寫入屬性文件,然後將其用於#1。這感覺像是過度殺傷。
總的來說,這似乎是一個簡單的因素,對於我而言,我找不到合適的解決方案。