0

我有四个构建变体,A、B、C 和 D。对于特定活动,我在主要源代码集中的基类中有公共代码。我想要附加功能,使 A & B 具有相同的附加功能,而 C & D 具有与 A & B 不同的相同功能。我已经能够通过在源集中复制和粘贴扩展类来做到这一点分别为A&B和C&D;但是,这使得维护成为一个问题。我无法合并变体 A & B 或 C & D,因为它们确实有其他重要差异。如何包含该类,使其仅在 A 和 B 中引用它,而只有 C 和 D 引用它。我尝试添加 java 源集,但找不到任何其他类或其他模块。

4

1 回答 1

0

我能够通过创建两个新目录 E 和 F 来解决这个问题。然后我添加了 A 和 B 的源集作为它们当前的源集,E 和 C 和 DI 添加了 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']
    }
}
于 2018-07-06T03:12:03.900 回答