Gradle-如何防止依赖子模块';如果从属任务失败,是否阻止任务运行?

Gradle-如何防止依赖子模块';如果从属任务失败,是否阻止任务运行?,gradle,Gradle,在具有模块mod-a和mod-b的多模块项目中,mod-b将mod-a作为项目库依赖项: project(":mod_b") { dependencies { implementation project(':mod_a') } } mod-a和mod-b都配置为在测试通过时发布Maven工件(JAR),使用: 当我使用标志运行Gradle时,如果mod-a中的测试失败,则不会发布mod-a工件。但是,为mod-b发布工件。为什么会出现这种情况,以及如何防止这种

在具有模块
mod-a
mod-b
的多模块项目中,
mod-b
mod-a
作为项目库依赖项:

project(":mod_b") {
    dependencies {
        implementation project(':mod_a')
    }
}
mod-a
mod-b
都配置为在测试通过时发布Maven工件(JAR),使用:

当我使用标志运行Gradle时,如果
mod-a
中的测试失败,则不会发布
mod-a
工件。但是,为
mod-b
发布工件。为什么会出现这种情况,以及如何防止这种情况发生(我希望继续使用
--continue
选项)

e、 g.这导致
com的发布。例如:mod-b:x.y.z
,但我不希望它:

./gradlew --continue clean publishToMavenLocal

i、 e.如果有3个模块(
mod-a
-依赖于->
mod-b
-依赖于->
mod-c
),那么如果只有
mod-b
的测试失败,那么只有
mod-a
应该发布)。

解决方案是让发布任务也依赖于任务。
buildNeeded
任务构建并测试相关项目所需的所有其他项目。因此,如果依赖任务失败,
buildNeeded
将被标记为失败,因此发布任务将不会启动。

b的测试通过而a的测试不通过是真的吗?是的-我发现
buildNeeded
任务是指依赖项目的成功构建和测试所需要的。
./gradlew --continue clean publishToMavenLocal