我有一个gradle项目。该项目包含许多模块。 我想制作2个不同的可执行文件,其中一些模块已激活或未激活。 我有一个可执行文件,其中module1和module2如下:
dependencies {
compile project(':module1')
compile project(':module2')
}
我想要一个带有module1和module2的可执行文件,另一个只有module1。
为了生成可执行文件,我使用了launch4j和shadowjar。
我怎么能这样做?
由于
答案 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源和资源。不确定您是否需要该功能。