【问题标题】:gradle-release plugin + maven publishing plugingradle-release 插件 + maven 发布插件
【发布时间】:2015-11-23 09:16:54
【问题描述】:

我正在以新的 gradle 用户身份创建 gradle 构建,但我过去曾与 maven 合作过。

我正在尝试重现 maven 发布插件的操作:

  • 将分支版本更改为发布号(在 svn 提交)
  • 创建标签(在 svn 上)
  • 在 Nexus OSS 中部署发布标签
  • 将分支版本更改为新的快照编号(在 svn 提交)

如您所见,我正在使用:

  • Nexus OSS 作为版本控制存储库
  • SVN 作为单片机
  • 分级 (2.8)

我正在尝试使用这两个插件来实现我的目标:

  1. Gradle-release Plugin:

    • 将分支版本更改为发布号(在 svn 提交)
    • 创建标签(在 svn 上)
    • 将分支版本更改为新的快照编号(在 svn 提交)

    命令行:gradle release

  2. Maven Publish Plugin 部署到 Nexus:

    命令行:gradle publish

有什么想法可以生成一个版本并一次性自动将其部署到 Nexus?

下面是我的build.gradle

plugins {
    id 'net.researchgate.release' version '2.3.4'
}

apply plugin: 'maven-publish'


/*------------------------
----- PUBLISH PLUGIN -----
--------------------------
https://docs.gradle.org/current/userguide/publishing_maven.html
--------------------------*/
publishing {
    publications {
        maven(MavenPublication) {
            groupId mavenGroup
            artifactId mavenArtifact
            version version

            from components.java
        }
    }
    repositories {
        maven {
            if(project.version.endsWith('-SNAPSHOT')) {
                url "${nexusUrl}/content/repositories/repo-snapshots"
            } else {
                url "${nexusUrl}/content/repositories/repo-releases"
            }
            credentials {
                username nexusUsername
                password nexusPassword
            }
        }
    }
}

/*------------------------
----- RELEASE PLUGIN -----
--------------------------
https://github.com/researchgate/gradle-release
--------------------------*/
release {
    failOnCommitNeeded = false 
    failOnUnversionedFiles = false

    scmAdapters = [
        net.researchgate.release.SvnAdapter
    ]
}

【问题讨论】:

    标签: deployment gradle release publish gradle-release-plugin


    【解决方案1】:

    您需要设置两个任务之间的依赖关系。这可以通过在您的build.gradle 中添加这一行来完成:

    afterReleaseBuild.dependsOn publish
    

    release-plugin 有两个任务,分别是beforeReleaseBuildafterReleaseBuild。此任务(以及您设置的依赖项)分别在 build 任务之前或之后执行。

    https://github.com/researchgate/gradle-release#custom-release-steps

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-04
      • 2020-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-02
      相关资源
      最近更新 更多