这个问题类似于使一个源集依赖于另一个
除了主要的 SourceSet,我还有一个 testenv SourceSet。testenv SourceSet 中的代码引用了主代码,因此我需要将主 SourceSet 添加到 testenvCompile 配置中。
sourceSets {
testenv
}
dependencies {
testenvCompile sourceSets.main
}
这不起作用,因为您不能直接将 sourceSets 添加为依赖项。推荐的方法是:
sourceSets {
testenv
}
dependencies {
testenvCompile sourceSets.main.output
}
但这不适用于 eclipse,因为当我清理 gradle build 文件夹时,eclipse 无法再编译,因为它依赖于 gradle build。此外,如果我更改主要代码,我必须在 gradle 中重建项目,以使更改在 eclipse 中生效。
如何正确声明依赖项?
编辑:
这个
sourceSets {
testenv
}
dependencies {
testenvCompile files(sourceSets.testenv.java.srcDirs, sourceSets.testenv.resources.srcDirs)
}
适用于主要来源,但是因为我现在引用了 .java 文件,所以我缺少从 Annotation-Processor 生成的类:(