0

任何人都知道如何在 SUBPROJECT 的 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 但它总是说它不存在....在一半的情况下,它不应该存在,因为我没有提供它!!!!!!

如何让它在子项目中工作?

谢谢,院长

4

2 回答 2

6

将以下代码段添加到allprojectsroot build.gradle 的配置部分:

allprojects {

   if (project.hasProperty('myVersion')) {
     project.version = project.myVersion
   } else {
     project.version = 'Developer-Build'
   }

} 

而不是在命令行中将您的版本作为-PmyVersion=1.0.2. 用相当老的 Gradle 1.0-milestone-3 测试

于 2012-09-28T09:25:51.760 回答
0

在较新版本中执行此操作的正确方法有效……(注意添加的内容)。

   if (project.hasProperty('myVersion')) {
     project.ext.xVersion = project.myVersion
   } else {
     project.ext.xVersion = 'Developer-Build'
   }

有趣的是,这个不起作用,因为“版本”似乎是某种保留属性,并且在启动时设置为未指定......

   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 中的自动构建传递和开发人员当然不会。

于 2012-09-28T12:33:57.233 回答