用gradle表示的版本号

用gradle表示的版本号,gradle,Gradle,任何人都知道如何在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,但它总是说它不存在……在一半的

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

如何在子项目中实现这一点

谢谢,
Dean

将以下代码片段添加到root 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进行测试,将以下代码片段添加到root 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进行测试,在较新的版本中使用正确的方法是可行的…(注意添加的ext)

有趣的是,这一个不起作用,因为“version”似乎是某种保留的属性,在启动时设置为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中通过,开发人员当然不会通过。

在较新版本中实现这一点的正确方法奏效了…(注意ext的添加)

有趣的是,这一个不起作用,因为“version”似乎是某种保留的属性,在启动时设置为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,开发者当然不会