任何人都知道如何在gradle中使用SUBPROJECT,以便运行左手大小会产生右手档案名称......
gradle assemble -> databus-Developer-Build.zip
gradle -DmyVersion=1.0.2 assemble -> databus-1.0.2.zip
OR
gradle -PmyVersion=1.0.2 assemble -> databas-1.0.2.zip
我尝试过使用变量myVersion,但它总是说它不存在......在一半的情况下,它不应该存在,因为我没有提供它! !
如何在子项目中使用它?
感谢, 迪安
答案 0 :(得分:6)
将以下代码段添加到root build.gradle的allprojects
配置部分:
allprojects {
if (project.hasProperty('myVersion')) {
project.version = project.myVersion
} else {
project.version = 'Developer-Build'
}
}
并在命令行中将您的版本作为-PmyVersion=1.0.2
传递。测试了相当古老的Gradle 1.0-milestone-3
答案 1 :(得分:0)
在较新版本中使用的正确方法有效...(注意ext添加)。
if (project.hasProperty('myVersion')) {
project.ext.xVersion = project.myVersion
} else {
project.ext.xVersion = 'Developer-Build'
}
有趣的是,这个版本不起作用,因为'version'似乎是某种reserverd属性,并且在启动时设置为未指定...
if (project.hasProperty('version')) {
project.ext.xVersion = project.version
} else {
project.ext.xVersion = 'Developer-Build'
}
看到版本似乎是一个保留属性,它很可能用于发布工件,所以最好的解决方案可能是以下
if (project.hasProperty('myVersion')) {
project.version = project.myVersion
} else {
project.version = 'Developer-Build'
}
并且自动构建在myVersion和开发人员中传递,当然不会。