gpt4 book ai didi

maven - Gradle : Get all files in a dependency from maven repository

转载 作者:行者123 更新时间:2023-12-04 04:38:06 25 4
gpt4 key购买 nike

我想将依赖项中所有可用的文件添加到我的 Artifact 中,以便可以将该依赖项上载到另一个Nexus存储库。

我的依存关系包含15个文件,这些文件存储在同一GAV下的Nexus存储库中:

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存储库,以获取具有以下网址的文件列表:
http://mynexushost:8081/nexus/service/local/repositories/snapshots/content/${group}/${artifact}/${version}/
这向我发送了一个JSON(将accept header 设置为 application/json),其中包含URL和我需要检索所有可用文件,下载它们并将它们添加到我的 Artifact 中,然后将其上传到我的目标存储库中的URL。

我很确定这个解决方案可以工作,但是绝对不是“Gradle方法”,因为它使我与Nexus联系在一起,并且不使用内置的Maven依赖关系解析实用程序。

我如何在不查询Nexus API的情况下解决该问题?

最佳答案

我已经创建了一个称为Maven Repository Provisioner的工具,几乎可以完成此任务。您可以在https://github.com/simpligility/maven-repository-tools上查看

在生产中完全可以使用它来实现您想要的目的,但是它也可以计算和配置所有可传递依赖项和所需的父pom。检查出来,如果它不能完全满足您的要求...我接受拉取请求;-)

关于maven - Gradle : Get all files in a dependency from maven repository,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31658756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com