我的gradle项目中有一个子模块,有意为此构建失败。我知道这听起来很奇怪,但这是理想的结果,有点像JUnit测试,但是在编译时。 现在我的问题是:即使该子模块的构建失败(按预期),有没有办法使整个项目的构建成功?
否则,我正在探索的另一种选择是从常规构建中排除子模块的构建,只创建一个检查构建失败的任务。 我尝试过:
gradle.taskGraph.whenReady {
gradle.taskGraph.allTasks.each {
if(it.project.name == 'contract-failing-example') {
it.onlyIf { rootProject.build_failing_contract == true }
}
}
}
task testFailingContract {
rootProject.build_failing_contract == true
dependsOn ':contract-failing-example:build'
rootProject.build_failing_contract == false
}
事实上,我可以阻止构建“合同失败示例”,但是即使我从所需任务中调用它,它也始终可以阻止它。 有任何想法吗? 谢谢!