В многомодульном проекте с модулями mod-a
и mod-b
, mod-b
имеет mod-a
в качестве зависимости lib проекта:
project(":mod_b") {
dependencies {
implementation project(':mod_a')
}
}
И mod-a
, и mod-b
настроен для публикации sh артефактов Maven (jar), если их тесты пройдены, с использованием плагина maven-publi sh :
// within each module's build.gradle
tasks.withType(AbstractPublishToMaven) {
dependsOn test
}
Когда я запускаю Gradle с --continue
флаг, тогда если тесты в mod-a
не пройдены, то артефакты mod-a
не публикуются. Тем не менее, артефакты публикуются для mod-b
. Почему это и как предотвратить это (я sh продолжаю использовать опцию --continue
)?
например, это приводит к публикации com.example:mod-b:x.y.z
, когда я не sh это к:
./gradlew --continue clean publishToMavenLocal
то есть, если было 3 модуля (mod-a
-depends-on->
mod-b
-depends-on->
mod-c
), то если только тесты mod-b
не пройдены, а затем только mod-a
должно быть опубликовано).