2

在单独的并行目录中的两个项目:

/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 吗?它在调用什么任务?

4

0 回答 0