我在gradle项目中添加了一个子项目,现在只要执行目标check
,它也会在子项目上运行测试。
我希望我可以通过将其指定为绝对任务来在主项目上运行check
-任务
gradle :check
或
gradle ::check
但是两个命令行仍然执行所有测试。
有什么主意吗?
答案 0 :(得分:1)
无法解决这个问题,因此您需要重组构建(我认为父级check
的任务根据定义是子项目的集合)。您可以有彼此依赖的子项目,我认为这可能是您要在构建中建模的项目。
让我们假设您有子项目core
和myModule
。
如果您希望myModule
依赖于core
(并使用其输出),请向project
添加myModule
依赖项:
dependencies {
compile project(':core')
}
这还将正确设置任务依赖项。
答案 1 :(得分:0)
您可以从主项目“ build.gradle”访问子项目的任务图并禁用任务。
这样,您可以在主项目上调用该任务时将其禁用,但是当您直接调用该子项目的构建文件时,该任务仍将被启用:
project('subproject') {
//disable 'check' and 'test' task
gradle.taskGraph.whenReady {
tasks.find {it.name=="check"}.enabled=false
tasks.find {it.name=="test"}.enabled=false
}
}