【问题标题】:gradle suproject version is unspecified while publishing发布时未指定 gradle suproject 版本
【发布时间】:2020-07-09 13:24:20
【问题描述】:

我有两个 nexus 存储库:一个用于发布,另一个用于快照。我在发布任务中有代码来定义根据文档选择哪个仓库:

        repositories {
            repositories {
                maven {
                    credentials {
                        username "$nexusUser"
                        password "$nexusPassword"
                    }
                    def releasesRepoUrl = "https://xxx/repository/factoring-maven-release/"
                    def snapshotsRepoUrl = "https://xxx/repository/factoring-maven-snapshots/"
                    url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
                }
            }
            publications {
                create("default", MavenPublication.class) {
                    from(components["java"])
                }
            }
        }
    }

以及此代码包含的子项目:

rootProject.name = 'xxx-integration-lib'

include 'xxx-service1-dto'
include 'xxx-service2-dto'

子项目 build.gradle:

group = "xxx"
version = "0.0.6-SNAPSHOT"

但这不起作用,因为子项目版本始终未指定。 试过了:

  1. 制作新的 allproject 任务以返回版本
  2. 使用 project.property('propName') - 但这似乎是一种解决方法,而不是解决方案

有什么想法吗?

【问题讨论】:

    标签: java gradle gradle-plugin


    【解决方案1】:

    我正在使用 gradle 处理多模块项目,我们没有在子模块中设置版本。我们所做的只是将其设置在 gradle.properties 文件中的基础项目中。

    group = "xxx"
    version = "0.0.6-SNAPSHOT"
    

    那么你就可以使用它了:

    url = project.version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
    

    【讨论】:

    • 这并没有回答问题
    • 好的,你是对的。您可以尝试的一件事是在 SNAPSHOT 之前添加 -url = project.version.endsWith('-SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
    【解决方案2】:

    对我来说唯一有效的方法是一种解决方法: 像这样将子项目版本管理放在根 build.gradle 中

    project(':subproject1') {
        version '0.0.6-SNAPSHOT'
    }
    
    project(':subproject2') {
        version '0.0.12-SNAPSHOT'
    }
    
    project(':subproject14) {
        version '0.0.5-SNAPSHOT'
    }
    

    然后 project.version 属性正在注入正确的

    【讨论】:

      猜你喜欢
      • 2018-08-26
      • 1970-01-01
      • 1970-01-01
      • 2020-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-11
      • 1970-01-01
      相关资源
      最近更新 更多