Merge branch 'update-version-script'

This commit is contained in:
StefanoMagrassi 2016-01-20 17:58:34 +01:00
commit ed8a8f13d3
2 changed files with 18 additions and 8 deletions

View File

@ -57,6 +57,6 @@
],
"devDependencies": {
"eslint": "1.10.3",
"libxmljs": "0.16.1"
"nodemsg": "1.0.0"
}
}

View File

@ -2,18 +2,28 @@
// Modules
var fs = require('fs');
var libxml = require('libxmljs');
var logger = require('nodemsg');
var pkg = require('../package.json');
// CONSTS
var CONFIG_FILE = 'plugin.xml';
var PLUGIN_ID = 'cordova-base64-to-gallery';
var ERROR_MSG = 'No "version" attribute found - Please check '+ CONFIG_FILE +' ("version" tag must follow "id" tag)';
var REGEXP = '(id="' + PLUGIN_ID + '" )(version="\\d+[.]\\d+[.]\\d+")';
var version = pkg.version;
var configContent = fs.readFileSync(CONFIG_FILE);
var configXML = libxml.parseXmlString(configContent);
var configVersion = configXML.root().attr('version');
// Logic
var version = pkg.version;
var regex = new RegExp(REGEXP);
var config = fs.readFileSync(CONFIG_FILE, { encoding: 'utf8'});
// Exit if version tag not found
if (!regex.test(config)) {
logger.error(ERROR_MSG);
process.exit(1);
}
// Set version
configVersion.value(version);
config = config.replace(regex, '$1version="' + version + '"');
fs.writeFileSync(CONFIG_FILE, configXML.toString());
fs.writeFileSync(CONFIG_FILE, config);