Gradle:从maven存储库获取依赖项中的所有文件

时间:2015-07-27 16:45:11

标签: maven gradle nexus

我想将依赖项中可用的所有文件添加到我的工件中,这样我就可以将该依赖项上传到另一个Nexus存储库。

我的依赖包含15个文件,存储在我的Nexus存储库中相同的GAV下:

myproject.jar
myproject.jar.md5
myproject.jar.sha1

myproject-sources.jar
myproject-sources.jar.md5
myproject-sources.jar.sha1

myproject.tgz
myproject.tgz.md5
myproject.tgz.sha1

myproject.pom
myproject.pom.md5
myproject.pom.sha1

maven-metadata.xml
maven-metadata.xml.md5
maven-metadata.xml.sha1

-sources.jar文件具有<classifier>sources</classifier>属性,tgz和pom文件具有<extension>属性,其他文件没有任何特殊内容。

问题是我想尽可能地避免硬编码,只能将GAV参数传递给我的脚本,并且它可以自己处理任何GAV的所有获取和释放,无论哪个文件都是可用。

我现在正在处理的解决方案是直接查询Nexus repo以获取带有这样的URL的文件列表:

http://mynexushost:8081/nexus/service/local/repositories/snapshots/content/${group}/${artifact}/${version}/

它向我发送了一个JSON(接受标头设置为application/json),其中包含我需要检索所有可用文件的URL和内容,下载它们并将它们添加到我的工件中,然后将其上传到我的目标库中。

我很确定这个解决方案是有效的,但它确实不是“Gradle方式”,因为它将我与Nexus绑定并且不使用内置的maven依赖解析实用程序。

如果不查询Nexus API,我怎么能解决这个问题?

0 个答案:

没有答案