当您遇到这样的障碍时:
sourceSets {
main {
java {
srcDir 'spec/src'
srcDir 'shared/src'
srcDir 'server/src'
}
resources {
srcDir 'spec/src'
srcDir 'shared/src'
srcDir 'server/src'
}
compiledBy 'wsGen'
}
}
compiledBy
完成什么工作?它仅用于缓存/性能吗?是否会使任务作为compileJava
任务的一部分运行? API文档说很好,但是我有一个Gradle项目,当它不在
wsGen
列表中时,似乎正在运行dependsOn
任务。 compiledBy
是哪里来的?我只是想了解此功能的机制,而不是尝试解决此问题的问题。
最佳答案
是的,这是它的来源,但不是,这与compileJava
任务没有直接关系。有效地,compiledBy
选项设置代表源集输出的builtBy
的ConfigurableFileCollection
选项。由classes
添加的JavaBasePlugin
任务取决于compileJava
任务,processResources
任务和所述ConfigurableFileCollection
,这又导致该任务被执行,因为它是classes
任务的隐式传递依赖项。