Build Flavors通常通过android gradle插件在Android应用程序中使用。这允许项目具有目录结构
src
- main
- com.stack.A.java
- debug
- com.stack.B.java
- release
- com.stack.B.java
这将只编译正确的B.java
,具体取决于所选的版本类型。
有没有办法在不使用android gradle插件并只使用java插件的情况下镜像此功能?
答案 0 :(得分:4)
在Java插件中称为sourceSet,请参阅https://docs.gradle.org/current/userguide/java_plugin.html
自动创建 main
和test
sourceSets,以添加更多源集,您可以执行以下操作。基本上,发布和调试都使用主
apply plugin: 'java'
sourceSets {
release {
java {
srcDirs 'src/main/java', 'src/release/java'
}
}
debug {
java {
srcDirs 'src/main/java', 'src/debug/java'
}
}
}
答案 1 :(得分:4)
我已经写了一个插件来实现这个目标。例如
apply plugin: 'com.lazan.javaflavours'
javaFlavours {
flavours = ['free', 'paid']
}
然后src/free/java
和src/paid/java
中的来源以及src/free/resources
和src/paid/resources