Я пытаюсь использовать спецификацию для построения проекта A с Gradle 5. Созданный файл pom неправильно содержит спецификацию или связанные с ней зависимости (см. Ниже).Более того, попытка построить проект B, который зависит от A, не удалась на pom проекта A.
При работе с DependencyManagementPlugin (т.е. без использования встроенной поддержки Gradle 5) все работает:
apply plugin:
io.spring.gradle.dependencymanagement.DependencyManagementPlugin
dependencyManagement {
imports {
mavenBom 'myGroup:infra-bom:1.0.+'
}
}
Создаетэто в pom проекта A в блоке dependencyManagement:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>myGroup</groupId>
<artifactId>infra-bom</artifactId>
<version>1.0.25</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
Попытка заставить его работать с Gradle 5 не так удачна:
зависимости {
compile platform ('myGroup:infra-bom:1.0.+')
...
...
}
Зависимости gradle показывают правильные версии из спецификации, но это создает это в pom проекта A в блоке существующих зависимостей:
<dependency>
<groupId>myGroup</groupId>
<artifactId>infra-bom</artifactId>
<version>null</version> // note the null here
<scope>compile</scope>
</dependency>
, который терпит неудачу при сборке, пытаясь использовать ее.
Правильно ли я использую встроенную поддержку Gradle 5 для спецификации?Что это включает?