gradle 发布时未指定 suproject 版本
gradle suproject version is unspecified while publishing
我有两个 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"
但这不起作用,因为子项目版本始终未指定。
尝试过:
- 将新的 allproject 任务设为 return 版本
- 使用 project.property('propName') - 但这似乎是一种解决方法,而不是解决方案
有什么想法吗?
我正在使用 gradle 开发多模块项目,我们没有在 submodules.All 中设置版本,我们在 gradle.properties
文件的基础项目中设置它。
group = "xxx"
version = "0.0.6-SNAPSHOT"
那你就可以用了:
url = project.version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
对我来说唯一可行的方法是解决方法:
将子项目版本管理放在根 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 属性 正在注入 correctyl
我有两个 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"
但这不起作用,因为子项目版本始终未指定。 尝试过:
- 将新的 allproject 任务设为 return 版本
- 使用 project.property('propName') - 但这似乎是一种解决方法,而不是解决方案
有什么想法吗?
我正在使用 gradle 开发多模块项目,我们没有在 submodules.All 中设置版本,我们在 gradle.properties
文件的基础项目中设置它。
group = "xxx"
version = "0.0.6-SNAPSHOT"
那你就可以用了:
url = project.version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
对我来说唯一可行的方法是解决方法: 将子项目版本管理放在根 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 属性 正在注入 correctyl