我是gradle的新手,我正在尝试创建一个Java应用程序的多个应用程序/发行版,以便在不同的操作系统中使用。
我需要一个应用程序/发行版:Windows64,Windows32,Linux64,Linux32。 它们之间的区别在于每个发行版都有不同的依赖项(来自外部项目的jar文件),并且某些发行版中也必须包含一些dll文件。
最后,Windows发行版不需要unix构建脚本,反之亦然。
我已经尝试阅读gradle用户指南并在线搜索答案,但我没有任何相关经验,我也不知道该寻找什么。有什么帮助吗?
答案 0 :(得分:0)
您可能会使用我的java-flavours插件
例如:
ext {
someApiVersion = '1.0'
}
plugins {
id "com.lazan.javaflavours" version "1.2"
}
javaFlavours {
flavour 'windows32'
flavour 'windows64'
flavour 'linux32'
flavour 'linux64'
}
dependencies {
compile "log4j:log4j:1.2.17"
compile "foo:xxx-interfaces:$someApiVersion"
compileWindows32 "foo:xxx-windows32:$someApiVersion"
compileWindows64 "foo:xxx-windows64:$someApiVersion"
// etc
}
每个flavour
都会通过将特定来源(src/main/java
和src/main/resources
)加入常见来源(src/$flavour/java
和src/$flavour/resources
)来生成单独的广告素材。还有对特定风味测试的支持。
答案 1 :(得分:0)
您可以使用不同的构建脚本(windows64.gradle
,windows32.gradle
,linux64.gradle
,linux32.gradle
等...)并加载它们,这要归功于特定的项目属性
def defaultPlatform = 'windows64'
ext.platform = project.hasProperty('pf') ? pf : defaultPlatform
apply from: "${ext.platform}.gradle"
然后只需运行gradle -Ppf=linux64 build
或gradle -Ppf=linux64 yourCustomTask
在每个.gradle
文件中,添加特定依赖项等...