为Java项目构建风格

为Java项目构建风格,java,gradle,Java,Gradle,构建风格通常通过Android gradle插件在Android应用程序中使用。这允许项目具有目录结构 src - main - com.stack.A.java - debug - com.stack.B.java - release - com.stack.B.java 这将仅编译正确的B.java,具体取决于所选的发布类型 有没有一种方法可以在不使用android gradle插件而只使用java插件的情况下镜像此功能?它在java插件中称为sourc

构建风格通常通过Android gradle插件在Android应用程序中使用。这允许项目具有目录结构

src
  - main
    - com.stack.A.java
  - debug
    - com.stack.B.java
  - release
    - com.stack.B.java
这将仅编译正确的
B.java
,具体取决于所选的发布类型


有没有一种方法可以在不使用android gradle插件而只使用java插件的情况下镜像此功能?

它在java插件中称为sourceSet,请参阅

main
test
sourceset是自动创建的,要添加更多的sourceset,您可以执行以下操作。基本上,Release和debug都在main中使用代码

apply plugin: 'java'

sourceSets {
    release {
        java {
            srcDirs 'src/main/java', 'src/release/java'
        }
    }

    debug {
        java {
            srcDirs 'src/main/java', 'src/debug/java'
        }
    }
}

我已经编写了一个插件来实现这一点。乙二醇

apply plugin: 'com.lazan.javaflavours'
javaFlavours {
    flavours = ['free', 'paid']
}
然后在
src/free/java
src/paid/java
中寻找资源,在
src/free/resources
src/paid/resources


github上的项目:

看起来很有希望!但是如何在IntelliJ IDEA中选择我想要使用的口味(例如,项目中应该提供哪个
someFlavourCompile
)?IDEA中将列出所有口味的任务。如果你想限制味道,我想你可以使用一些自定义属性来定义你编辑的味道列表