【发布时间】:2019-09-05 08:46:22
【问题描述】:
我正在设置一个项目特定的 BOM,它将“继承”其他 BOM 的定义(以 pom.xml 的形式提供)并定义自己的托管依赖项。
我在build.gradle.kts 中尝试了以下(如java-platform docs 中所述):
plugins {
`java-platform`
`maven-publish`
}
dependencies {
constraints {
api(platform("org.camunda.bpm:camunda-bom:${Versions.camunda}"))
}
}
publishing {
publications {
create<MavenPublication>("camunda-bom") {
from(components["javaPlatform"])
}
}
}
但是当我执行gradle publishToMavenLocal 并检查.m2/repositories 中生成的 pom.xml 时,它看起来像:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.camunda.bpm</groupId>
<artifactId>camunda-bom</artifactId>
<version>7.10.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
这不起作用,因为导入 pom 的语法应该是
...
<type>pom</type>
<scope>import</scope>
...
如何使用 gradle(使用版本 5.3.1)将有效的 BOM 发布为 pom.xml?
【问题讨论】: