версия надпроекта gradle не указана при публикации - PullRequest
1 голос
/ 09 июля 2020

У меня два репозитория nexus: один для релизов, другой для снимков. У меня есть код в задаче publi sh, чтобы определить, какое репо выбрать в соответствии с do c:

        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'

сборка подпроектов. gradle:

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

, но это не работает, поскольку версия подпроекта всегда не указана. пробовал:

  1. создание новой задачи allproject для возврата версии
  2. с использованием project.property ('propName') - но это похоже на обходной путь, а не решение

есть мысли?

Ответы [ 2 ]

0 голосов
/ 13 июля 2020

единственным сработанным способом для меня был обходной путь: размещение управления версиями подпроекта в root 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 вводит correyl

0 голосов
/ 09 июля 2020

Я работаю над многомодульными проектами с gradle, и мы не устанавливаем версию в подмодулях. Все, что мы делаем, это устанавливаем ее в базовый проект в gradle.properties файле.

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

, тогда вы можете использовать его :

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