使用Gradle自动发布到Maven Central

Mat*_*aun 6 nexus gradle maven

我想将我的Jar上传到Maven Central存储库,gradle uploadArchives并将其作为依赖项用于其他项目.我已经按照这个很好的教程,结果我的Jars被上传到Sonatype Nexus(见下面的截图).

我的Jar的0.1版本可用; 这条线

dependencies {compile 'eu.matthiasbraun:Utils:0.1'}

build.gradle我的依赖项目的文件中工作得很好.我通过单击屏幕截图中显示CloseRelease按钮发布了0.1版本.之后我评论了我在这里创建的Jira票,并被告知中央同步将每两个小时运行一次.

我的理解是,如果我现在想要发布我的Jar的0.2版本,我只需要将gradle uploadArchives依赖项目的gradle文件中的行更改为

dependencies {compile 'eu.matthiasbraun:Utils:0.2'}.

然而,当gradle build我的依赖项目(两小时后),我得到了依赖无法解决的错误.

这是我的完整内容build.gradle,我的Jar上传到Sonatype Nexus:链接.

如何使用Gradle自动将Jars发布到Maven Central?谢谢.

截图

Mat*_*aun 8

我使用了nexus-workflow gradle插件来自动释放存储库.

我把它放在build.gradle我要发布的项目的顶部:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.adaptc.gradle:nexus-workflow:0.6'
    }
}
apply plugin: 'nexus-workflow'
Run Code Online (Sandbox Code Playgroud)

另外我把这三个属性放进去了 ~/.gradle/gradle.properties

oss-releases.username=mySonatypeUsername
oss-releases.password=mySonatypePassword
oss-releases.url=https://oss.sonatype.org/index.html#stagingRepositories
Run Code Online (Sandbox Code Playgroud)

当我想将一个版本推送到Maven Central时,我先使用gradle uploadArchives然后将Jars上传到Nexus gradle nexusStagingRelease.这将关闭并释放我在Nexus上的所有开放回购.


编辑:我也发现了Benjamin Muschko的这个插件,它似乎是上述插件的替代品.不过我还没试过.