从gradle项目发布工件到bintray(maven存储库)

时间:2013-11-21 21:09:22

标签: gradle release publish pom.xml bintray

我已使用new Maven Publisher Plugin配置Gradle发布项目工件,遗憾的是此插件在生成的pom.xml中存在依赖性问题 - 依赖项的范围为runtime而不是compile。< / p>

我的配置是这样的:

apply plugin: 'maven-publish'

publishing {
    publications {
        mavenCustom(MavenPublication) {
            from components.java
        }
    }
    repositories {
        maven {
            url "https://api.bintray.com/maven/codearte/public/fairyland"
            credentials {
                username = bintrayUser
                password = bintrayKey
            }
        }
    }
}

使用一个命令发布很简单:

gradle publish

如何以旧的(工作)方式实现这一目标?项目发布时是否可以自动化项目分页?

2 个答案:

答案 0 :(得分:6)

好的,我明白了:

apply plugin: 'maven'

uploadArchives {
    repositories {
        mavenDeployer {
            name = 'Codearte Public Repository'
            repository(id: 'codearte-repository', url: 'https://api.bintray.com/maven/codearte/public/fairyland'){
                authentication(userName: bintrayUser, password: bintrayKey)
        }
    }
}

使用命令上传:

gradle uploadArchives

答案 1 :(得分:3)

所有POM依赖项都具有runtime范围的事实是新的孵化maven-publish插件的已知限制。在此问题得到解决之前,您可以使用publication.pom.withXml挂钩自行修复,或者回退到maven插件。这两个插件都记录在Gradle User Guide

标记是一个完全不同的问题。您可以使用其中一个第三方Gradle SCM插件,也可以使用命令行工具(例如,使用Exec任务)。