2013-10-31 133 views
1

Artifactory具有API的功能,您可以在其中下載最新版本的jar文件(請參閱http://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-RetrieveLatestArtifact)。從Artifactory下載Gradle的最新版本

他們的榜樣是: GET HTTP://本地主機:我工作的一個項目,8080/artifactory的/常春藤本地/組織/ ACME/[發佈]/acme- [發佈]的.jar

所有版本都發布了,我想從最後一個抓取jar。所以,我正在尋找的是在gradle這個像這樣的依賴性:

compile "org.acme:acme:1.0.0.9.[RELEASE]" 

這由於失敗的方括號的逃避,所以我嘗試:

compile "org.acme:acme:1.0.0.9.%5BRELEASE%5D" 

這似乎讓gradle產出/常春藤找到該文件,但它失敗,因爲.pom文件版本與所定義的不匹配。

FAILURE: Build failed with an exception. 

* What went wrong: 
Could not resolve all dependencies for configuration ':project:compile'. 
> Could not resolve org.acme:acme:1.0.0.9.%5BRELEASE%5D. 
    Required by: 
     org.acme:acme:unspecified 
    > Could not resolve org.acme:acme:1.0.0.9.%5BRELEASE%5D. 
     > inconsistent module metadata found. Descriptor: CachedResource: /Users/xxxx/.gradle/caches/artifacts-26/filestore/org.acme/acme/1.0.0.9.%5BRELEASE%5D/pom/3986d9c1a27873ce92c0dbd089fc1ca9618f8c1a/acme-1.0.0.9.%5BRELEASE%5D.pom for http://localhost/artifactory/org/acme/acme/1.0.0.9.%5BRELEASE%5D/acme-1.0.0.9.%5BRELEASE%5D.pom Errors: bad version: expected='1.0.0.9.%5BRELEASE%5D' found='1.0.0.9.80' 

有沒有什麼辦法讓gradle這個和常春藤拉從artifactory的最新版本?

+0

請提供您想要匹配的版本的一些示例。 REST API及其約定與此無關。 PS:Gradle不再使用引擎蓋下的Ivy。 –

回答

1

我能得到使用常春藤語法這方面的工作:

compile "org.acme:acme:1.0.0.9.+" 

這解決了我有問題,但我從來沒有設法得到它的工作使用Artifactory的[RELEASE]網址。

+1

您不能在Gradle依賴表示法中使用Artifactory REST API語法。 '「org.acme:acme:latest.release」'可能會工作。 –

相關問題