-
Notifications
You must be signed in to change notification settings - Fork 146
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
127 additions
and
59 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
'use strict'; | ||
|
||
// read cordova config.xml | ||
|
||
(function() { | ||
// properties | ||
var path = require('path'); | ||
var xmlHelper = require('./xmlHelper.js'); | ||
var ANDROID = 'android'; | ||
var IOS = 'ios'; | ||
var CONFIG_FILE_NAME = 'config.xml'; | ||
var context; | ||
var projectRoot; | ||
|
||
// entry | ||
module.exports = ConfigXmlHelper; | ||
|
||
function ConfigXmlHelper(cordovaContext) { | ||
context = cordovaContext; | ||
projectRoot = context.opts.projectRoot; | ||
} | ||
|
||
ConfigXmlHelper.prototype.read = function() { | ||
var filePath = getConfigXmlFilePath(); | ||
|
||
return xmlHelper.readXmlAsJson(filePath); | ||
} | ||
|
||
ConfigXmlHelper.prototype.getPackageName = function(platform) { | ||
var configFilePath = getConfigXmlFilePath(); | ||
var config = getCordovaConfigParser(configFilePath); | ||
var packageName; | ||
|
||
switch (platform) { | ||
case ANDROID: { | ||
packageName = config.android_packageName(); | ||
break; | ||
} | ||
case IOS: { | ||
packageName = config.ios_CFBundleIdentifier(); | ||
break; | ||
} | ||
} | ||
if (packageName === undefined || packageName.length == 0) { | ||
packageName = config.packageName(); | ||
} | ||
|
||
return packageName; | ||
} | ||
|
||
ConfigXmlHelper.prototype.getProjectName = function() { | ||
return getProjectName(); | ||
} | ||
|
||
function getCordovaConfigParser(configFilePath) { | ||
var ConfigParser; | ||
|
||
// If Cordova 5.4+ use parser from cordova-common. | ||
try { | ||
ConfigParser = context.requireCordovaModule('cordova-common/src/ConfigParser/ConfigParser'); | ||
} catch (e) { | ||
ConfigParser = context.requireCordovaModule('cordova-lib/src/configparser/ConfigParser') | ||
} | ||
|
||
return new ConfigParser(configFilePath); | ||
} | ||
|
||
function getConfigXmlFilePath() { | ||
return path.join(projectRoot, CONFIG_FILE_NAME); | ||
} | ||
|
||
function getProjectName() { | ||
var configFilePath = getConfigXmlFilePath(); | ||
var config = getCordovaConfigParser(configFilePath); | ||
|
||
return config.name(); | ||
} | ||
})(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
'use strict'; | ||
|
||
// read/write from/to xml file | ||
|
||
(function() { | ||
// properties | ||
var fs = require('fs'); | ||
var xml2js = require('xml2js'); | ||
|
||
// entry | ||
module.exports = { | ||
readXmlAsJson: readXmlAsJson, | ||
writeJsonAsXml: writeJsonAsXml | ||
}; | ||
|
||
// methods | ||
function readXmlAsJson(filePath) { | ||
var xmlData; | ||
var xmlParser; | ||
var parsedData; | ||
|
||
try { | ||
xmlData = fs.readFileSync(filePath); | ||
xmlParser = new xml2js.Parser(); | ||
xmlParser.parseString(xmlData, function(err, data) { | ||
if (data) { | ||
parsedData = data; | ||
} | ||
}); | ||
} catch (err) {} | ||
|
||
return parsedData; | ||
} | ||
|
||
function writeJsonAsXml(jsData, filePath, options) { | ||
var xmlBuilder = new xml2js.Builder(options); | ||
var changedXmlData = xmlBuilder.buildObject(jsData); | ||
var isSaved = true; | ||
|
||
try { | ||
fs.writeFileSync(filePath, changedXmlData); | ||
} catch (err) { | ||
console.log(err); | ||
isSaved = false; | ||
} | ||
|
||
return isSaved; | ||
} | ||
})(); |
This file was deleted.
Oops, something went wrong.