我有一些 jar 文件(自定义)需要从 Groovy 脚本发布到 Sonatype Nexus 存储库。
我在 Groovy 脚本工作的机器上的某个路径中有 jar(例如:c:\temp\module.jar)。
我的 Nexus 回购网址是 http://:/nexus/content/repositories/
在这个 repo 中,我的文件夹结构如下:folder1->folder2->folder3
在发布我的 jar 期间,我需要在 folder3 中创建:
- 带有模块版本的新目录(我的 Groovy 脚本知道这个版本)
- 上传jar到这个目录
- 为上传的 jar 创建 pom、md5 和 sha1 文件
经过几天的调查,我仍然不知道如何创建这样的脚本,但这种方式看起来很清楚,而不是使用直接上传。
我找到了http://groovy.codehaus.org/Using+Ant+Libraries+with+AntBuilder和其他一些东西(stackoverflow 非脚本解决方案)。
我知道如何在我的 Groovy 脚本中创建 ivy.xml,但我不明白如何动态创建 build.xml 和 ivysetting.xml 并设置整个系统工作。
您能否帮助理解 Groovy 的方式?
更新: 我发现以下命令对我来说很好:
curl -v -F r=thirdparty -F hasPom=false -F e=jar -F g=<my_groupId> -F a=<my_artifactId> -F v=<my_artifactVersion> -F p=jar -F file=@module.jar -u admin:admin123 http://<my_nexusServer>:8081/nexus/service/local/repositories
据我了解 curl 对 Nexus 服务执行 POST 请求。我对么?
现在我正在尝试使用 Groovy HTTPBuilder 构建 HTTP POST 请求。
我应该如何将 curl 命令参数转换为 Groovy 的 HTTPBuilder 请求?