使用两种配置编译gradle

时间:2017-11-27 12:29:14

标签: java gradle build.gradle launch4j shadowjar

我有一个gradle项目。该项目包含许多模块。 我想制作2个不同的可执行文件,其中一些模块已激活或未激活。 我有一个可执行文件,其中module1和module2如下:

dependencies {
    compile project(':module1')
    compile project(':module2')
}

我想要一个带有module1和module2的可执行文件,另一个只有module1。

为了生成可执行文件,我使用了launch4j和shadowjar。

我怎么能这样做?

由于

1 个答案:

答案 0 :(得分:2)

您可以使用我的java-flavours-plugin

plugins {
    id "com.lazan.javaflavours" version "1.2"
}
javaFlavours {
    flavour 'version1'
    flavour 'version2'
}
dependencies {
    compile 'some:common-dependency:1.0'
    version1Compile project(':module1')
    version2Compile project(':module2')
}

每种风味(例如版本1和版本2)都将具有jar任务,jar可以被下游模块/任务使用。您也可以参考sourceSets.version1.runtimeClasspath

注意:该插件支持特定于flavor的java源和资源。不确定您是否需要该功能。