2013-10-31 99 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”'可能会工作。 –

相关问题