在单独的并行目录中的两个项目:
/Root/A/build.gradle
/Root/B/build.gradle
A取决于B:
// in /Root/A/build.gradle:
dependencies{
compile project(':B')
// ...
}
这两个文件都定义了 defaultTasks:
defaultTasks 'doWork'
项目的B默认任务doWork执行几个任务,例如:
task doWork {
dependsOn 'build', 'some_task', 'other_task'
}
令人惊讶的是:选择从 B 执行的任务集因调用 gradle 的位置而异:
- /Root/和/Root/B/相同,
- /Root/A不同- 更小,doWork中定义的任务都不会被执行。
问题:'compile project(':X')' 没有调用 defaultTasks 吗?它在调用什么任务?