使用 Gradle 将文件上传到 Artifactory,无需 maven 发布

Posted

技术标签:

【中文标题】使用 Gradle 将文件上传到 Artifactory,无需 maven 发布【英文标题】:Upload file to Artifactory with Gradle without maven publish 【发布时间】:2018-09-11 14:15:18 【问题描述】:

是否可以使用 Gradle 将文件上传到 Artifactory 存储库而不使用 maven-publish 插件?

我要做的就是将任何文件上传到特定的存储库位置。 这里是发布sn-p:

publishing 
    publications 
        mavenJava(MavenPublication) 
            from components.java
        
        updatePlugins(MavenPublication) 
            group = 'pluginDescriptor'
            version = ''
            artifact file('README.txt')
        
    

我想要的只是updatePlugins 条目将README.txt 上传到相对存储库路径/pluginDescriptor

README.txt 上传为pluginDescriptor/nip/nip-.txt,其中nip 是项目名称。

如何给一个没有组、artifactID 和版本的专用名称?

我能找到的所有示例都使用 maven-publish 插件,它根据组、artifactID 和版本上传文件。

关于如何实现这一点的任何想法?

编辑:直接有可能如何在独立于平台的问题中完成任务:artifactory-client-java

【问题讨论】:

【参考方案1】:

一个简单的curl 命令就可以解决问题

curl -k -u user:pass -T path/to/README.txt http://ip:port/artifactory/repo/group/artifactID/version/

然后,Gradle version of this command 可以帮助您在 build.gradle 中完成工作

【讨论】:

这需要在每个系统上安装curl。实际上,Gradle 及其包装器试图消除像这样的系统依赖关系。 @koerfer:但我需要将文件上传到相对回购路径。这应该是一个相当简单且独立于平台的任务。

以上是关于使用 Gradle 将文件上传到 Artifactory,无需 maven 发布的主要内容,如果未能解决你的问题,请参考以下文章

Android Gradle 插件将自定义 Gradle 插件上传到自建 Maven 仓库 ④ ( 默认生成的 pom 文件 | Maven 中的 pom 配置 | 自定义 pom 文件节点 )

Android Gradle 插件将自定义 Gradle 插件上传到自建 Maven 仓库 ⑧ ( 设置 Gradle 插件模块 | 将 Gradle 插件上传到自建 Maven 仓库 )

Android Gradle 插件将自定义 Gradle 插件上传到自建 Maven 仓库 ③ ( 配置上传工件 | 将 Gradle 插件 jar 包源码文档上传到本地Maven 仓库 )

配置Spring项目输出JSON到LogStash或者使用FileBeat收集上传到ELK

conan入门:上传预编译的库(artifact)

Android Gradle plugin 开发并上传到JCenter