gradle人工插件可以发布纯二进制文件而不是MavenPublication吗?

时间:2019-08-30 09:36:46

标签: maven gradle artifactory

我想将二进制文件上传到本地工件实例。二进制文件不是Maven工件,因此我不想使用maven-publish插件,但这似乎是不可能的。伪代码:

artifactory {
    contextUrl = artifactoryConfig.context
    publish {
        repository {
            // Credentials and context path
        }
        defaults {
            publications (someSimpleFilePublication)
        }
    }
}

默认情况下,除IvyPublicationMavenPublication之外,似乎没有其他任何东西可作为Gradle中的有效出版物。我尝试如下创建自定义Publication,但这产生了一个新错误:

interface FilePublication extends Publication {
    PublicationArtifact artifact(Object source)
}
publishing {
    publications {
        filePub(FilePublication) {
        }
    }
}

错误:

Cannot create a FilePublication because this type is not known 
to this container. Known types are: MavenPublication

我已经读过artifactory plugin docsmaven plugin docs,但没有一个人更明智。

请不要建议将我的二进制文件设为Maven实体-我不想这样做有两个原因。

说明

使用“普通”二进制文件而不是“ Maven工件”,我的意思是一个文件 not 没有POM文件, not 没有Maven组ID,工件或版本字符串。只是具有文件系统路径的文件。

我知道可以将纯二进制文件上传到Artifactory,因为我是通过使用the Artifactory API

从命令行通过纯HTTP PUT命令完成的。

0 个答案:

没有答案