2017-02-07 170 views
2

一个科尔多瓦应用程序的版本号可以在​​3210的<widget>元素进行设置,但有一种方法来设置它编程?离子/科尔多瓦:编程设置应用程序版本

<?xml version="1.0" encoding="utf-8"?> 
    <widget defaultLocale="en-US" id="com.example.myapp" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> 
     <name>MyApp</name> 
... 

我想在构建期间使用版本号作为版本号来设置版本号。这将是很好,如果我们能够在构建时以编程方式更改config.xml中,例如通过运行Cordova cli命令。

回答

2

如果您使用咕嘟咕嘟,可以通过使用插件像gulp-xmlpoke来完成。

您可以通过命令行参数(例如gulp --buildVersion=1.2.3)将生成版本传递给gulp,并使用yargs将它们提取出来。

例一饮而尽任务:

var gulp = require("gulp"); 
var argv = require("yargs").argv;  
var xmlpoke = require("gulp-xmlpoke"); 

gulp.task("setAppVersion", function() { 
     return gulp.src("config.xml") 
      .pipe(xmlpoke({ 
       replacements: [{ 
        xpath: "/w:widget/@version", 
        value: argv.buildVersion, 
        namespaces: { "w": "http://www.w3.org/ns/widgets", "cdv": "http://cordova.apache.org/ns/1.0" } 
       }] 
      })) 
      .pipe(gulp.dest("./")); 
    }); 
相关问题