Я пытаюсь опубликовать два подпроекта с Gradle.У меня есть два подпроекта: SubprojectA зависит от SubprojectB.Я хочу опубликовать их оба, используя maven-publish.У меня есть это в build.gradle:
plugins {
id 'java'
id 'maven-publish'
}
publishing {
publications {
SubprojectA(MavenPublication) {
println(project(':subprojectA').tasks)
groupId group
artifactId 'subjprojectA'
version version
artifact project(':subprojectA').tasks.getByName('jar')
}
SubprojectB(MavenPublication) {
groupId group
artifactId 'subjprojectB'
version version
artifact project(':subjprojectB').tasks.getByName('jar')
}
}
repositories {
maven {
url "http://some-url"
}
}
}
Gradle пытается опубликовать их в алфавитном порядке: так как subprojectA зависит от subprojectB, он не работает, потому что subprojectB еще не был опубликован.Если я переименую подпроект A в ZSubprojectA, например:
ZSubprojectA(MavenPublication) {
println(project(':subprojectA').tasks)
groupId group
artifactId 'subprojectA'
version version
artifact project(':subprojectA').tasks.getByName('jar')
}
, тогда это будет работать, но мне не нравится это решение.Я пробовал что-то вроде этого:
project(':subprojectA') {
publish.dependsOn(":subprojectB:build")
}
, но это не работает, и: subprojectB: publish не существует.