任何人都知道如何在gradle中将其用于子项目,以便运行左侧大小的结果是右侧的归档名称……
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,但它总是说它在一半的情况下不exist....and,它不应该存在,因为我没有提供它!
如何让它在子项目中正常工作?
谢谢你,迪恩
发布于 2012-09-28 17:25:52
将以下代码片段添加到根build.gradle的allprojects配置部分:
allprojects {
if (project.hasProperty('myVersion')) {
project.version = project.myVersion
} else {
project.version = 'Developer-Build'
}
} 然后在命令行中将您的版本作为-PmyVersion=1.0.2传递。使用相当旧的Gradle 1.0-Gradle 3进行了测试
发布于 2012-09-28 20:33:57
在较新的版本中,正确的方法可以做到这一点...(请注意添加的ext )。
if (project.hasProperty('myVersion')) {
project.ext.xVersion = project.myVersion
} else {
project.ext.xVersion = 'Developer-Build'
}有趣的是,这个不起作用,因为'version‘看起来像是一种reserverd属性,并且在启动时被设置为unspecified……
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中通过,而开发人员当然不会。
https://stackoverflow.com/questions/12448813
复制相似问题