我有四个构建变体,A,B,C和D。对于特定的活动,我在主要源集中的基类中具有通用代码。我想要其他功能,以使A&B具有相同的附加功能,而C&D具有与A&B不同的功能。我已经能够通过将扩展类复制并粘贴到以下代码的源集中来做到这一点: A&B和C&D;但是,这使维护成为一个问题。我不能合并变体A和B或C和D,因为它们确实还有其他重要区别。如何包含仅在A和B中引用该类,而仅C和D引用该类的类。我尝试添加Java源代码集,但随后找不到任何其他类或其他模块。
答案 0 :(得分:0)
我能够通过创建两个新目录E&F解决此问题。然后我将A&B的源集添加为它们的当前源集,并将E和C&D的源集添加了F。
sourceSets {
A {
java.srcDirs = ['src/A/java', 'src/public/E']
}
B {
java.srcDirs = ['src/B/java', 'src/public/E']
}
C {
java.srcDirs = ['src/C/java', 'src/internal/F']
}
D {
java.srcDirs = ['src/D/java', 'src/internal/F']
}
}