You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by fi...@apache.org on 2013/06/11 02:04:02 UTC
[26/52] [partial] start of lazy loading: axe all vendored-in libs
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/91c74886/lib/cordova-blackberry/bin/templates/project/cordova/lib/config-parser.js
----------------------------------------------------------------------
diff --git a/lib/cordova-blackberry/bin/templates/project/cordova/lib/config-parser.js b/lib/cordova-blackberry/bin/templates/project/cordova/lib/config-parser.js
deleted file mode 100644
index 0e3d9e9..0000000
--- a/lib/cordova-blackberry/bin/templates/project/cordova/lib/config-parser.js
+++ /dev/null
@@ -1,670 +0,0 @@
-/*
- * Copyright 2012 Research In Motion Limited.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*jshint sub:true*/
-var fs = require("fs"),
- util = require('util'),
- xml2js = require('xml2js'),
- packagerUtils = require('./packager-utils'),
- check = require('validator').check,
- sanitize = require('validator').sanitize,
- localize = require("./localize"),
- logger = require("./logger"),
- fileManager = require("./file-manager"),
- utils = require("./packager-utils"),
- i18nMgr = require("./i18n-manager"),
- _self,
- _predefinedFeatures,
- _hybridFeatures;
-
-//This function will convert a wc3 paramObj with a list of
-//<param name="" value=""> elements into a single object
-function processParamObj(paramObj) {
- var processedObj = {},
- attribs,
- paramName,
- paramValue;
-
- if (paramObj) {
- //Convert to array for single param entries where only an object is created
- if (!Array.isArray(paramObj)) {
- paramObj = [paramObj];
- }
-
- paramObj.forEach(function (param) {
- attribs = param["@"];
-
- if (attribs) {
- paramName = attribs["name"];
- paramValue = attribs["value"];
-
- if (paramName && paramValue) {
- //Add the key/value pair to the processedObj
- processedObj[paramName] = paramValue;
- }
- }
- });
- }
-
- return processedObj;
-}
-
-function processFeatures(featuresArray, widgetConfig, processPredefinedFeatures) {
- var features = [],
- attribs;
- if (featuresArray) {
- featuresArray.forEach(function (feature) {
- attribs = feature["@"];
- if (attribs) {
- attribs.required = packagerUtils.toBoolean(attribs.required, true);
-
- // We do NOT want to auto defer networking and JavaScript if the
- // blackberry.push feature is being used
- if (attribs.id === "blackberry.push") {
- widgetConfig.autoDeferNetworkingAndJavaScript = false;
- }
-
- if (_predefinedFeatures[attribs.id]) {
- //Handle features that do NOT contain an API namespace
- if (processPredefinedFeatures) {
- _predefinedFeatures[attribs.id](feature, widgetConfig);
- }
- } else {
- //Handle features that contain both a namespace and custom params
- if (_hybridFeatures[attribs.id]) {
- _hybridFeatures[attribs.id](feature, widgetConfig);
- }
- features.push(attribs);
- }
- } else {
- features.push(attribs);
- }
- });
- }
-
- return features;
-}
-
-function createAccessListObj(uri, allowSubDomain) {
- return {
- uri: uri,
- allowSubDomain: allowSubDomain
- };
-}
-
-function processVersion(widgetConfig) {
- if (widgetConfig.version) {
- var versionArray = widgetConfig.version.split(".");
-
- //if 4rth number in version exists, extract for build id
- if (versionArray.length > 3) {
- widgetConfig.buildId = versionArray[3];
- widgetConfig.version = widgetConfig.version.substring(0, widgetConfig.version.lastIndexOf('.'));
- }
- }
-}
-
-function processBuildID(widgetConfig, session) {
- if (session.buildId) {
- //user specified a build id (--buildId), overide any previously set build id
- widgetConfig.buildId = session.buildId;
- }
-}
-
-function processWidgetData(data, widgetConfig, session) {
- var attribs, featureArray, header;
-
- if (data["@"]) {
- widgetConfig.version = data["@"].version;
- widgetConfig.id = data["@"].id;
-
- if (data["@"]["rim:header"]) {
- widgetConfig.customHeaders = {};
- header = data["@"]["rim:header"].split(":");
- // Just set it for now, in the future we can append them
- widgetConfig.customHeaders[header[0]] = header[1];
- }
-
- if (data["@"]["rim:userAgent"]) {
- widgetConfig.userAgent = data["@"]["rim:userAgent"];
- }
- }
-
- //Default values
- widgetConfig.hasMultiAccess = false;
- widgetConfig.accessList = [];
- widgetConfig.enableFlash = false;
- widgetConfig.autoOrientation = true;
- widgetConfig.autoDeferNetworkingAndJavaScript = true;
- widgetConfig.theme = "default";
- widgetConfig.autoHideSplashScreen = "true";
-
- //set locally available features to access list
- if (data.feature) {
- featureArray = packagerUtils.isArray(data.feature) ? data.feature : [data.feature];
- }
-
- //Handle features that do not have source code
- featureArray = processFeatures(featureArray, widgetConfig, true);
-
- //Push empty WIDGET_LOCAL access obj until whitelisting is cleaned up
- widgetConfig.accessList.push(createAccessListObj("WIDGET_LOCAL", true));
-
- //add whitelisted features to access list
- if (data.access) {
- //If there is only one access list element, it will be parsed as an object and not an array
- if (!packagerUtils.isArray(data.access)) {
- data.access = [data.access];
- }
-
- data.access.forEach(function (accessElement) {
- attribs = accessElement["@"];
-
- if (attribs) {
- if (attribs.uri === "*") {
- if (accessElement.feature) {
- throw localize.translate("EXCEPTION_FEATURE_DEFINED_WITH_WILDCARD_ACCESS_URI");
- }
-
- widgetConfig.hasMultiAccess = true;
- } else {
- attribs.subdomains = packagerUtils.toBoolean(attribs.subdomains);
- widgetConfig.accessList.push(createAccessListObj(attribs.uri, attribs.subdomains));
- }
- }
- });
- }
-}
-
-function trim(obj) {
- return (typeof obj === "string" ? obj.trim() : obj);
-}
-
-function processSplashScreenIconSrc(data, widgetConfig, key) {
- if (data[key]) {
- widgetConfig[key] = [];
-
- if (!(data[key] instanceof Array)) {
- data[key] = [data[key]];
- }
-
- data[key].forEach(function (obj) {
- if (obj["@"]) {
- widgetConfig[key].push(obj["@"].src);
- } else {
- widgetConfig[key].push(obj);
- }
- });
- }
-}
-
-function processSplashScreenData(data, widgetConfig) {
- //
- // This takes config.xml markup in the form of:
- //
- // <rim:splash src="splash-1280x768.jpg" />
- // <rim:splash src="splash-768x1280.jpg" />
- // <rim:splash src="splash-1024x600.jpg" />
- // <rim:splash src="splash-600x1024.jpg" />
- //
- // and turns it into:
- //
- // icon: ["splash-1280x768.jpg", "splash-768x1280.jpg", "splash-1024x600.jpg", "splash-600x1024.jpg"]
- //
- // Folder-based localization now done in i18n-manager
- //
- processSplashScreenIconSrc(data, widgetConfig, "rim:splash");
-}
-
-function processIconData(data, widgetConfig, session) {
- //
- // This takes config.xml markup in the form of:
- //
- // <icon src="icon-86.png" />
- // <icon src="icon-150.png" />
- //
- // and turns it into:
- //
- // icon: ["icon-86.png", "icon-150.png"]
- //
- // Folder-based localization now done in i18n-manager
- //
- var default_icon_filename = "default-icon.png",
- default_icon_src = session.conf.DEFAULT_ICON,
- default_icon_dst = session.sourceDir;
-
- processSplashScreenIconSrc(data, widgetConfig, "icon");
-
- if (!widgetConfig.icon) {
- packagerUtils.copyFile(default_icon_src, default_icon_dst);
-
- widgetConfig["icon"] = [];
- widgetConfig["icon"].push(default_icon_filename);
- }
-}
-
-function validateSplashScreensIcon(widgetConfig, key) {
- if (widgetConfig[key]) {
- var msg = localize.translate(key === "icon" ? "EXCEPTION_INVALID_ICON_SRC" : "EXCEPTION_INVALID_SPLASH_SRC");
-
- if (widgetConfig[key].length === 0) {
- // element without src attribute
- throw msg;
- } else {
- widgetConfig[key].forEach(function (src) {
- var msg2 = localize.translate(key === "icon" ? "EXCEPTION_INVALID_ICON_SRC_LOCALES" : "EXCEPTION_INVALID_SPLASH_SRC_LOCALES");
-
- // check that src attribute is specified and is not empty
- check(src, msg).notNull();
-
- // check that src attribute does not start with reserved locales folder
- src = src.replace(/\\/g, "/");
- check(src, msg2).notRegex("^" + i18nMgr.LOCALES_DIR + "\/");
- });
- }
-
- }
-}
-
-function processAuthorData(data, widgetConfig) {
- if (data.author) {
- var attribs = data.author["@"];
-
- if (!attribs && typeof data.author === "string") {
- //do not sanitize empty objects {} (must be string)
- widgetConfig.author = sanitize(data.author).trim();
- } else if (data.author["#"]) {
- widgetConfig.author = sanitize(data.author["#"]).trim();
- }
-
- if (attribs) {
- widgetConfig.authorURL = attribs.href;
- widgetConfig.copyright = attribs["rim:copyright"];
- widgetConfig.authorEmail = attribs.email;
- }
- }
-}
-
-function processLicenseData(data, widgetConfig) {
- if (data.license && data.license["#"]) {
- widgetConfig.license = data.license["#"];
- } else {
- widgetConfig.license = "";
- }
-
- if (data.license && data.license["@"]) {
- widgetConfig.licenseURL = data.license["@"].href;
- } else {
- widgetConfig.licenseURL = "";
- }
-}
-
-function processContentData(data, widgetConfig) {
- if (data.content) {
- var attribs = data.content["@"],
- startPage;
- if (attribs) {
- widgetConfig.content = attribs.src;
-
- startPage = packagerUtils.parseUri(attribs.src);
-
- // if start page is local but does not start with local:///, will prepend it
- // replace any backslash with forward slash
- if (!packagerUtils.isAbsoluteURI(startPage) && !packagerUtils.isLocalURI(startPage)) {
- if (!startPage.relative.match(/^\//)) {
- widgetConfig.content = "local:///" + startPage.relative.replace(/\\/g, "/");
- } else {
- widgetConfig.content = "local://" + startPage.relative.replace(/\\/g, "/");
- }
- }
-
- widgetConfig.foregroundSource = attribs.src;
- widgetConfig.contentType = attribs.type;
- widgetConfig.contentCharSet = attribs.charset;
- widgetConfig.allowInvokeParams = attribs["rim:allowInvokeParams"];
- //TODO content rim:background
- }
- }
-}
-
-function processPermissionsData(data, widgetConfig) {
- if (data["rim:permissions"] && data["rim:permissions"]["rim:permit"]) {
- var permissions = data["rim:permissions"]["rim:permit"];
-
- if (permissions instanceof Array) {
- widgetConfig.permissions = permissions;
- } else {
- //user entered one permission and it comes in as an object
- widgetConfig.permissions = [permissions];
- }
- } else {
- widgetConfig.permissions = [];
- }
-
- // We do NOT want to auto defer networking and JavaScript if the
- // run_when_backgrounded permission is set
- if (widgetConfig.permissions.indexOf("run_when_backgrounded") >= 0) {
- widgetConfig.autoDeferNetworkingAndJavaScript = false;
- }
-}
-
-function processInvokeTargetsData(data, widgetConfig) {
-
- if (data["rim:invoke-target"]) {
- widgetConfig["invoke-target"] = data["rim:invoke-target"];
-
- //If invoke-target is not an array, wrap the invoke-target in an array
- utils.wrapPropertyInArray(widgetConfig, "invoke-target");
-
- widgetConfig["invoke-target"].forEach(function (invokeTarget) {
- if (invokeTarget.type && !packagerUtils.isEmpty(invokeTarget.type)) {
- invokeTarget.type = invokeTarget.type.toUpperCase();
- }
-
- if (invokeTarget.filter) {
- utils.wrapPropertyInArray(invokeTarget, "filter");
-
- invokeTarget.filter.forEach(function (filter) {
-
- if (filter["action"]) {
- utils.wrapPropertyInArray(filter, "action");
- }
-
- if (filter["mime-type"]) {
- utils.wrapPropertyInArray(filter, "mime-type");
- }
-
- if (filter["property"]) {
- utils.wrapPropertyInArray(filter, "property");
- }
- });
- }
- });
- }
-}
-
-function validateConfig(widgetConfig) {
- check(widgetConfig.version, localize.translate("EXCEPTION_INVALID_VERSION"))
- .notNull()
- .regex("^[0-9]{1,3}([.][0-9]{1,3}){2,3}$");
-
- for (var prop in widgetConfig.name) {
- if (widgetConfig.name.hasOwnProperty(prop)) {
- check(widgetConfig.name[prop], localize.translate("EXCEPTION_INVALID_NAME")).notEmpty();
- }
- }
-
- check(widgetConfig.author, localize.translate("EXCEPTION_INVALID_AUTHOR")).notNull();
- check(widgetConfig.id, localize.translate("EXCEPTION_INVALID_ID")).notNull().notEmpty();
- check(widgetConfig.content, localize.translate("EXCEPTION_INVALID_CONTENT"))
- .notNull()
- .notEmpty();
-
- validateSplashScreensIcon(widgetConfig, "rim:splash");
-
- validateSplashScreensIcon(widgetConfig, "icon");
-
- if (widgetConfig.accessList) {
- widgetConfig.accessList.forEach(function (access) {
- if (access.uri) {
- if (access.uri !== "WIDGET_LOCAL") {
- check(access.uri, localize.translate("EXCEPTION_INVALID_ACCESS_URI_NO_PROTOCOL", access.uri))
- .regex("^[a-zA-Z]+:\/\/");
- check(access.uri, localize.translate("EXCEPTION_INVALID_ACCESS_URI_NO_URN", access.uri))
- .notRegex("^[a-zA-Z]+:\/\/$");
- }
- }
-
- if (access.features) {
- // Assert each feature has a proper ID and is not empty
- access.features.forEach(function (feature) {
- if (!feature) {
- throw localize.translate("EXCEPTION_INVALID_FEATURE_ID");
- }
- check(feature.id, localize.translate("EXCEPTION_INVALID_FEATURE_ID")).notNull().notEmpty();
- });
- }
-
- });
- }
-
- if (widgetConfig["invoke-target"]) {
-
- widgetConfig["invoke-target"].forEach(function (invokeTarget) {
-
- check(typeof invokeTarget["@"] === "undefined",
- localize.translate("EXCEPTION_INVOKE_TARGET_INVALID_ID"))
- .equals(false);
- check(invokeTarget["@"].id, localize.translate("EXCEPTION_INVOKE_TARGET_INVALID_ID"))
- .notNull()
- .notEmpty();
- check(invokeTarget.type, localize.translate("EXCEPTION_INVOKE_TARGET_INVALID_TYPE"))
- .notNull()
- .notEmpty();
-
- if (invokeTarget.filter) {
-
- invokeTarget.filter.forEach(function (filter) {
-
- check(filter["action"] && filter["action"] instanceof Array && filter["action"].length > 0,
- localize.translate("EXCEPTION_INVOKE_TARGET_ACTION_INVALID"))
- .equals(true);
-
- check(filter["mime-type"] && filter["mime-type"] instanceof Array && filter["mime-type"].length > 0,
- localize.translate("EXCEPTION_INVOKE_TARGET_MIME_TYPE_INVALID"))
- .equals(true);
-
- if (filter.property) {
- filter.property.forEach(function (property) {
- check(property["@"] && property["@"]["var"] && typeof property["@"]["var"] === "string",
- localize.translate("EXCEPTION_INVOKE_TARGET_FILTER_PROPERTY_INVALID"))
- .equals(true);
- });
- }
- });
- }
- });
- }
-}
-
-function processLocalizedText(tag, data, widgetConfig) {
- var tagData = data[tag],
- DEFAULT = 'default';
-
- function processLanguage(tagElement) {
- var attribs = tagElement['@'],
- language;
-
- if (attribs) {
- language = attribs['xml:lang'] || DEFAULT;
- widgetConfig[tag][language.toLowerCase()] = tagElement['#'];
- } else {
- widgetConfig[tag][DEFAULT] = tagElement;
- }
- }
-
- if (Array.isArray(tagData)) {
- //i.e. <element xml:lang="en">english value</element>
- // <element xml:lang="fr">french value</element>
- tagData.forEach(processLanguage);
- } else if (tagData instanceof Object) {
- //i.e. <element xml:lang="en">english value</element>
- processLanguage(tagData);
- } else {
- //i.e <element>value</element>
- widgetConfig[tag][DEFAULT] = tagData;
- }
-}
-
-function processNameAndDescription(data, widgetConfig) {
- widgetConfig.name = {};
- widgetConfig.description = {};
-
- processLocalizedText('name', data, widgetConfig);
- processLocalizedText('description', data, widgetConfig);
-}
-
-function processCordovaPreferences(data, widgetConfig) {
- if (data.preference) {
- var preference = processParamObj(data.preference);
- widgetConfig.packageCordovaJs = preference.packageCordovaJs === "enable";
- widgetConfig.autoHideSplashScreen = preference.AutoHideSplashScreen !== "false";
- }
-}
-
-function processResult(data, session) {
- var widgetConfig = {};
-
- processWidgetData(data, widgetConfig, session);
- processIconData(data, widgetConfig, session);
- processAuthorData(data, widgetConfig);
- processLicenseData(data, widgetConfig);
- processContentData(data, widgetConfig);
- processPermissionsData(data, widgetConfig);
- processInvokeTargetsData(data, widgetConfig);
- processSplashScreenData(data, widgetConfig);
- processNameAndDescription(data, widgetConfig);
- processCordovaPreferences(data, widgetConfig);
-
- widgetConfig.configXML = "config.xml";
-
- //validate the widgetConfig
- validateConfig(widgetConfig);
-
- //special handling for version and grabbing the buildId if specified (4rth number)
- processVersion(widgetConfig);
-
- //if --buildId was specified, it takes precedence
- processBuildID(widgetConfig, session);
-
- return widgetConfig;
-}
-
-function init() {
- //Predefined features are features that do NOT contain an API namespace
- _predefinedFeatures = {
- "enable-flash" : function (feature, widgetConfig) {
- widgetConfig.enableFlash = true;
- },
- "blackberry.app.orientation": function (feature, widgetConfig) {
- if (feature) {
- var params = processParamObj(feature.param),
- mode = params.mode;
-
- if (!mode) {
- //No mode provided, throw error
- throw localize.translate("EXCEPTION_EMPTY_ORIENTATION_MODE", mode);
- } else if (mode === "landscape" || mode === "portrait" || mode === "north") {
- widgetConfig.autoOrientation = false;//Overwrites default value
- widgetConfig.orientation = mode;
- } else if (mode !== "auto") {
- //Mode invalid, throw error
- throw localize.translate("EXCEPTION_INVALID_ORIENTATION_MODE", mode);
- }
-
- // Throw a warning since this feature is deprecated
- logger.warn(localize.translate("WARNING_ORIENTATION_DEPRECATED"));
- }
- }
- };
-
- //Hybrid features are features that have both an API namespace and custom parameters
- _hybridFeatures = {
- "blackberry.app": function (feature, widgetConfig) {
- if (feature) {
- var params = processParamObj(feature.param),
- bgColor = params.backgroundColor,
- childBrowser = params.childBrowser,
- formControl = params.formControl,
- orientation = params.orientation,
- theme = params.theme,
- popupBlocker = params.popupBlocker,
- websecurity = params.websecurity;
-
- if (bgColor) {
- //Convert bgColor to a number
- bgColor = parseInt(bgColor, 16);
-
- if (isNaN(bgColor)) {
- //bgcolor is not a number, throw error
- throw localize.translate("EXCEPTION_BGCOLOR_INVALID", params.backgroundColor);
- } else {
- widgetConfig.backgroundColor = bgColor;
- }
- }
-
- if (childBrowser) {
- widgetConfig.enableChildWebView = ((childBrowser + '').toLowerCase() === 'disable') === false;
- }
-
- if (formControl) {
- widgetConfig.enableFormControl = ((formControl + '').toLowerCase() === 'disable') === false;
- }
-
- if (popupBlocker) {
- widgetConfig.enablePopupBlocker = ((popupBlocker + '').toLowerCase() === 'enable') === true;
- }
-
- if (orientation) {
- if (orientation === "landscape" || orientation === "portrait" || orientation === "north") {
- widgetConfig.autoOrientation = false;
- widgetConfig.orientation = orientation;
- } else if (orientation !== "auto") {
- throw localize.translate("EXCEPTION_INVALID_ORIENTATION_MODE", orientation);
- }
- }
-
- if (theme && (typeof theme === "string")) {
- theme = theme.toLowerCase();
-
- if (theme === "bright" || theme === "dark" || theme === "inherit" || theme === "default") {
- widgetConfig.theme = theme;
- }
- }
-
- if (websecurity && (typeof websecurity === "string") && (websecurity.toLowerCase() === "disable")) {
- widgetConfig.enableWebSecurity = false;
- logger.warn(localize.translate("WARNING_WEBSECURITY_DISABLED"));
- }
- }
- }
- };
-}
-
-_self = {
- parse: function (xmlPath, session, callback) {
- if (!fs.existsSync(xmlPath)) {
- throw localize.translate("EXCEPTION_CONFIG_NOT_FOUND");
- }
-
- var fileData = fs.readFileSync(xmlPath),
- xml = utils.bufferToString(fileData),
- parser = new xml2js.Parser({trim: true, normalize: true, explicitRoot: false});
-
- init();
-
- //parse xml file data
- parser.parseString(xml, function (err, result) {
- if (err) {
- logger.error(localize.translate("EXCEPTION_PARSING_XML"));
- fileManager.cleanSource(session);
- } else {
- callback(processResult(result, session));
- }
- });
- }
-};
-
-module.exports = _self;
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/91c74886/lib/cordova-blackberry/bin/templates/project/cordova/lib/debugtoken-helper.js
----------------------------------------------------------------------
diff --git a/lib/cordova-blackberry/bin/templates/project/cordova/lib/debugtoken-helper.js b/lib/cordova-blackberry/bin/templates/project/cordova/lib/debugtoken-helper.js
deleted file mode 100755
index f1a4220..0000000
--- a/lib/cordova-blackberry/bin/templates/project/cordova/lib/debugtoken-helper.js
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- * Copyright 2012 Research In Motion Limited.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var childProcess = require("child_process"),
- fs = require("fs"),
- path = require("path"),
- conf = require("./conf"),
- localize = require("./localize"),
- logger = require("./logger"),
- pkgrUtils = require("./packager-utils"),
- workingDir = path.normalize(__dirname + "/.."),
- debugTokenDir = path.normalize(workingDir + "/" + "debugtoken.bar"),
- properties,
- targets,
- deployCallback,
- self = {};
-
-function isDebugTokenValid(pin, data) {
- var manifests,
- i,
- l,
- expiry = null,
- pin,
- devices = [],
- line,
- now = new Date();
-
- if (!data) {
- return false;
- }
-
- manifests = data.toString().replace(/[\r]/g, '').split('\n');
-
- for (i=0, l=manifests.length; i<l; i++) {
- if (manifests[i].indexOf("Debug-Token-Expiry-Date: ") >= 0) {
- // Parse the expiry date
- line = manifests[i].substring("Debug-Token-Expiry-Date: ".length);
- expiry = new Date(line.substring(0, line.indexOf("T")) + " " + line.substring(line.indexOf("T") + 1, line.length -1) + " UTC");
- } else if (manifests[i].indexOf("Debug-Token-Device-Id: ") >= 0) {
- line = manifests[i].substring("Debug-Token-Device-Id: ".length);
- devices = line.split(",");
- }
- }
-
- if (expiry && expiry > now) {
- for (i=0, l=devices.length; i<l; i++) {
- if (parseInt(devices[i]) === parseInt(pin, 16)) {
- return true; // The debug token is valid if not expired and device pin is included
- }
- }
- }
-
- return false;
-}
-
-function generateCreateTokenOptions(pins, password) {
- var options = [],
- i;
-
- options.push("-storepass");
- options.push(password);
-
- for (i = 0; i < pins.length; i++) {
- options.push("-devicepin");
- options.push(pins[i]);
- }
-
- options.push(debugTokenDir);
-
- return options;
-}
-
-function generateDeployTokenOptions(target) {
- var options = [];
-
- options.push("-installDebugToken");
- options.push(debugTokenDir);
-
- options.push("-device");
- options.push(properties.targets[target].ip);
-
- options.push("-password");
- options.push(properties.targets[target].password);
-
- return options;
-}
-
-function execNativeScript(script, options, callback) {
- var process;
-
- if (pkgrUtils.isWindows()) {
- script += ".bat";
- }
-
- if (fs.existsSync(conf.DEPENDENCIES_TOOLS)) {
- process = childProcess.spawn(path.normalize(conf.DEPENDENCIES_TOOLS + script), options, {
- "cwd" : workingDir,
- "env" : process ? process.env : undefined
- });
-
- process.stdout.on("data", pkgrUtils.handleProcessOutput);
-
- process.stderr.on("data", pkgrUtils.handleProcessOutput);
-
- process.on("exit", function (code) {
- if (callback && typeof callback === "function") {
- callback(code);
- }
- });
- } else {
- throw localize.translate("EXCEPTION_MISSING_TOOLS");
- }
-}
-
-function checkTarget(target) {
- if (!properties.targets[target]) {
- logger.warn(localize.translate("WARN_TARGET_NOT_EXIST", target));
- return false;
- }
-
- if (!properties.targets[target].ip) {
- logger.warn(localize.translate("WARN_IP_NOT_DEFINED", target));
- return false;
- }
-
- if (!properties.targets[target].password) {
- logger.warn(localize.translate("WARN_PASSWORD_NOT_DEFINED", target));
- return false;
- }
-
- return true;
-
-}
-
-// Deploy the debug token for each target in targets array recursively
-function deployTokenToTargetsRecursively() {
- var target;
-
- if (targets.length > 0) {
- target = targets.pop();
-
- logger.info(localize.translate("PROGRESS_DEPLOYING_DEBUG_TOKEN", target));
- if (checkTarget(target)) {
- execNativeScript("/bin/blackberry-deploy",
- generateDeployTokenOptions(target),
- deployTokenToTargetsRecursively
- );
- } else {
- deployTokenToTargetsRecursively();
- }
- } else {
- if (deployCallback && typeof deployCallback === "function") {
- deployCallback();
- }
- }
-}
-
-self.createToken = function (projectProperties, target, keystorepass, callback) {
- var pins = [],
- key;
-
- // Store the global variable "properties"
- properties = projectProperties;
-
- // Gather PINs information from properties
- if (target === "all") {
- for (key in properties.targets) {
- if (properties.targets.hasOwnProperty(key) && properties.targets[key].pin) {
- pins.push(properties.targets[key].pin);
- }
- }
- } else {
- if (!target) {
- target = properties.defaultTarget;
- }
-
- if (properties.targets.hasOwnProperty(target) && properties.targets[target].pin) {
- pins.push(properties.targets[target].pin);
- }
- }
-
- if (pins.length === 0) {
- logger.warn(localize.translate("WARN_NO_DEVICE_PIN_FOUND"));
- if (callback && typeof callback === "function") {
- callback(-1);
- }
- } else if (!keystorepass) {
- logger.warn(localize.translate("WARN_NO_SIGNING_PASSWORD_PROVIDED"));
- if (callback && typeof callback === "function") {
- callback(-1);
- }
- } else {
- logger.info(localize.translate("PROGRESS_GENERATING_DEBUG_TOKEN"));
- // Call "blackberry-debugtokenrequest" to generate debug token
- execNativeScript("/bin/blackberry-debugtokenrequest",
- generateCreateTokenOptions(pins, keystorepass),
- callback
- );
- }
-};
-
-self.deployToken = function (projectProperties, target, callback) {
- var key;
-
- // Store the global variable "properties"
- properties = projectProperties;
-
- // Initialize the global variable "targets"
- targets = [];
-
- // Store callback so it will be invoked after debug token is deployed to all target(s)
- deployCallback = callback;
-
- // Gather targets information from properties
- // Gather PINs information from properties
- if (target === "all") {
- for (key in properties.targets) {
- if (properties.targets.hasOwnProperty(key) && properties.targets[key].pin) {
- targets.push(key);
- }
- }
- } else {
- if (!target) {
- target = properties.defaultTarget;
- }
-
- if (properties.targets.hasOwnProperty(target) && properties.targets[target].pin) {
- targets.push(target);
- }
- }
-
- // Deploy debug token recursively
- deployTokenToTargetsRecursively();
-};
-
-self.checkDebugToken = function (pin, callback) {
- var process,
- script = "/bin/blackberry-nativepackager",
- nativePackager;
-
- if (!callback || typeof callback !== "function") {
- return;
- }
-
- if (!fs.existsSync(debugTokenDir)) {
- callback(false);
- return;
- }
-
- if (pkgrUtils.isWindows()) {
- script += ".bat";
- }
-
- if (fs.existsSync(conf.DEPENDENCIES_TOOLS)) {
- nativePackager = childProcess.exec(path.normalize(conf.DEPENDENCIES_TOOLS + script +" -listManifest " + debugTokenDir), {
- "cwd": workingDir,
- "env": process ? process.env : undefined
- }, function (error, stdout, stderr) {
- callback(isDebugTokenValid(pin, stdout));
- });
- } else {
- throw localize.translate("EXCEPTION_MISSING_TOOLS");
- }
-
- return;
-};
-
-module.exports = self;
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/91c74886/lib/cordova-blackberry/bin/templates/project/cordova/lib/file-manager.js
----------------------------------------------------------------------
diff --git a/lib/cordova-blackberry/bin/templates/project/cordova/lib/file-manager.js b/lib/cordova-blackberry/bin/templates/project/cordova/lib/file-manager.js
deleted file mode 100755
index 1ce0cf3..0000000
--- a/lib/cordova-blackberry/bin/templates/project/cordova/lib/file-manager.js
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * Copyright 2012 Research In Motion Limited.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var path = require("path"),
- util = require("util"),
- packagerUtils = require("./packager-utils"),
- fs = require("fs"),
- conf = require("./conf"),
- BBWPignore = require('./bbwpignore'),
- wrench = require("wrench"),
- zip = require("zip"),
- localize = require("./localize"),
- logger = require("./logger"),
- CLIENT_JS = "client.js",
- SERVER_JS = "index.js",
- VALID_EXTENSIONS = [".js", ".json"],
- CORDOVA_JS_REGEX = /(cordova-.+js)|cordova\.js/;
-
-function unzip(from, to) {
- var data, entries, p, parent;
-
- if (fs.existsSync(from)) {
- data = fs.readFileSync(from);
- entries = zip.Reader(data).toObject();
-
- if (!fs.existsSync(to)) {
- wrench.mkdirSyncRecursive(to, "0755");
- }
-
- for (p in entries) {
- if (p.indexOf("__MACOSX") >= 0) {
- continue;
- }
-
- if (p.split("/").length > 1) {
- parent = p.split("/").slice(0, -1).join("/");
- wrench.mkdirSyncRecursive(to + "/" + parent, "0755");
- }
-
- fs.writeFileSync(to + "/" + p, entries[p]);
- }
- } else {
- throw localize.translate("EXCEPTION_WIDGET_ARCHIVE_NOT_FOUND", from);
- }
-}
-
-function copyDirContents(from, to) {
- var files = wrench.readdirSyncRecursive(from),
- bbwpignore,
- bbwpignoreFile = path.join(from, conf.BBWP_IGNORE_FILENAME),
- toBeIgnored = [];
-
- if (fs.existsSync(bbwpignoreFile)) {
- bbwpignore = new BBWPignore(bbwpignoreFile, files);
-
- bbwpignore.matchedFiles.forEach(function (i) {
- toBeIgnored.push(from + "/" + i);
- });
- toBeIgnored.push(from + "/" + conf.BBWP_IGNORE_FILENAME); //add the .bbwpignore file to the ignore list
- }
- wrench.copyDirSyncRecursive(from, to, {preserve: true}, function (file) {
- return toBeIgnored.indexOf(file) === -1;
- });
-}
-
-function prepare(session) {
- var conf = session.conf,
- dest = session.sourcePaths;
-
- if (fs.existsSync(session.sourceDir)) {
- wrench.rmdirSyncRecursive(session.sourceDir);
- }
-
- // unzip archive
- if (fs.existsSync(session.archivePath)) {
- if (session.archivePath.toLowerCase().match("[.]zip$")) {
- unzip(session.archivePath, session.sourceDir);
- } else {
- copyDirContents(session.archivePath, session.sourceDir);
- }
- } else {
- throw localize.translate("EXCEPTION_INVALID_ARCHIVE_PATH", session.archivePath);
- }
-}
-
-
-function getModulesArray(dest, files, baseDir) {
- var modulesList = [],
- EXCLUDE_FILES = ["client.js", "manifest.json"];
-
- function isExcluded(file) {
- return EXCLUDE_FILES.some(function (element) {
- return path.basename(file) === element;
- });
- }
-
- files.forEach(function (file) {
- file = path.resolve(baseDir, file);
-
- if (!fs.statSync(file).isDirectory()) {
- if (baseDir !== dest.EXT || !isExcluded(file)) {
- modulesList.push({name: path.relative(path.normalize(dest.CHROME), file).replace(/\\/g, "/"), file: file});
- }
- }
- });
-
- return modulesList;
-}
-
-function generateFrameworkModulesJS(session) {
- var dest = session.sourcePaths,
- modulesList = [],
- modulesStr = "(function () { ",
- frameworkModulesStr = "window.frameworkModules = [",
- libFiles = wrench.readdirSyncRecursive(dest.LIB),
- extFiles,
- extModules;
-
- modulesList = modulesList.concat(getModulesArray(dest, libFiles, dest.LIB));
-
- if (fs.existsSync(dest.EXT)) {
- extFiles = wrench.readdirSyncRecursive(dest.EXT);
- extModules = getModulesArray(dest, extFiles, dest.EXT);
- modulesList = modulesList.concat(extModules);
- }
-
- modulesList.forEach(function (module, index) {
- modulesStr += "define('" + module.name + "', function (require, exports, module) {\n" +
- fs.readFileSync(module.file, "utf-8") + "\n" +
- "});\n";
- frameworkModulesStr += "'" + module.name + "'" + (index !== modulesList.length-1 ? ", " : "");
- });
-
- modulesStr += "}());";
- frameworkModulesStr += "];\n";
- fs.writeFileSync(path.normalize(dest.CHROME + "/frameworkModules.js"), frameworkModulesStr + modulesStr);
-}
-
-function copyNative(session, target) {
- var src = path.normalize(session.conf.NATIVE + "/" + target),
- dest = path.normalize(session.sourceDir);
-
- copyDirContents(src, dest);
-}
-
-function copyWebworks(session) {
- var srcPath = path.normalize(session.conf.PROJECT_ROOT + "/lib"),
- dest = path.normalize(session.sourceDir),
- srcFiles;
-
- srcFiles = packagerUtils.listFiles(srcPath, function (file) {
- return CORDOVA_JS_REGEX.test(file);
- });
-
- if (srcFiles.length === 1) {
- packagerUtils.copyFile(srcFiles[0], dest);
-
- //Rename file to webworks.js
- fs.renameSync(path.join(dest, path.basename(srcFiles[0])), path.join(dest, "cordova.js"));
- } else {
- throw localize.translate("EXCEPTION_CORDOVA_JS_IN_LIB_DIR", srcFiles.length);
- }
-}
-
-function hasValidExtension(file) {
- return VALID_EXTENSIONS.some(function (element, index, array) {
- return path.extname(file) === element;
- });
-}
-
-function generateUserConfig(session, config) {
- packagerUtils.writeFile(path.join(session.sourcePaths.LIB, "config"), "user.js", "module.exports = " + JSON.stringify(config, null, " ") + ";");
-}
-
-module.exports = {
- unzip: unzip,
-
- copyNative: copyNative,
-
- copyWebworks : copyWebworks,
-
- prepareOutputFiles: prepare,
-
- generateFrameworkModulesJS: generateFrameworkModulesJS,
-
- generateUserConfig: generateUserConfig,
-
- cleanSource: function (session) {
- if (!session.keepSource) {
- wrench.rmdirSyncRecursive(session.sourceDir);
- }
- },
-
- copyDirContents: copyDirContents
-};
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/91c74886/lib/cordova-blackberry/bin/templates/project/cordova/lib/i18n-manager.js
----------------------------------------------------------------------
diff --git a/lib/cordova-blackberry/bin/templates/project/cordova/lib/i18n-manager.js b/lib/cordova-blackberry/bin/templates/project/cordova/lib/i18n-manager.js
deleted file mode 100644
index 3aa1645..0000000
--- a/lib/cordova-blackberry/bin/templates/project/cordova/lib/i18n-manager.js
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright 2012 Research In Motion Limited.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*jshint sub:true*/
-var path = require("path"),
- fs = require("fs"),
- wrench = require("wrench"),
- pkgrUtils = require("./packager-utils"),
- LOCALES_DIR = "locales";
-
-// Given a list of locale files (as follows), based on un-localized splash/icon definition, generate
-// localized splash/icon metadata.
-//
-// zh-hans-cn/a.gif
-// zh-hans-cn/f.gif
-// zh-hans-cn/images/splash-1024x600.png
-// zh-hans-cn/images/splash-600x1024.png
-// zh-hans/a.gif
-// zh-hans/b.gif
-// zh/a.gif
-// zh/b.gif
-// zh/c.gif
-function generateLocalizedMetadataForSplashScreenIcon(config, configKey, xmlObject, xmlObjectKey, localeFiles) {
- // localeMap looks like this:
- // {
- // "zh-hans-cn": ["a.gif", "f.gif", "images/splash-1024x600.png", "images/splash-600x1024.png"],
- // "zh-hans": ["a.gif", "b.gif"],
- // "zh": ["a.gif", "b.gif", "c.gif"]
- // }
- var localeMap = {};
-
- if (localeFiles) {
- localeFiles.forEach(function (path) {
- var splitted = path.replace(/\.\./g, "").split("/"),
- locale;
-
- splitted = splitted.filter(function (element) {
- return element.length > 0;
- });
-
- if (splitted.length > 1) {
- locale = splitted[0];
-
- if (!localeMap[locale]) {
- localeMap[locale] = [];
- }
-
- // remove locale subfolder from path
- splitted.splice(0, 1);
- localeMap[locale].push(splitted.join("/"));
- }
- });
- }
-
- xmlObject[xmlObjectKey] = {};
- xmlObject[xmlObjectKey]["image"] = [];
-
- if (config[configKey]) {
- config[configKey].forEach(function (imgPath) {
- imgPath = imgPath.replace(/\\/g, "/"); // replace any backslash with forward slash
-
- Object.getOwnPropertyNames(localeMap).forEach(function (locale) {
- if (localeMap[locale].indexOf(imgPath) !== -1) {
- // localized image found for locale
- xmlObject[xmlObjectKey]["image"].push({
- text: {
- _attr: {
- "xml:lang": locale
- },
- _value: LOCALES_DIR + "/" + locale + "/" + imgPath
- }
- });
- }
- });
-
- xmlObject[xmlObjectKey]["image"].push({
- _value: imgPath
- });
- });
- }
-}
-
-function generateLocalizedText(session, config, xmlObject, key) {
- var localizedText = config[key],
- textElements = [],
- locale;
-
- for (locale in localizedText) {
- if (localizedText.hasOwnProperty(locale)) {
- //Don't add default locale and don't add locale if it already exists
- if (locale !== 'default' && textElements && textElements.indexOf(locale) === -1) {
- textElements.push({
- _attr: {
- "xml:lang": locale
- },
- _value: localizedText[locale]
- });
- }
- }
- }
-
- xmlObject[key] = {
- _value: localizedText['default'],
- text: textElements
- };
-}
-
-function generateLocalizedMetadata(session, config, xmlObject, key) {
- if (config.icon || config["rim:splash"]) {
- var localeFiles,
- normalizedLocaleFiles = [];
-
- if (fs.existsSync(session.sourceDir + "/" + LOCALES_DIR)) {
- localeFiles = wrench.readdirSyncRecursive(session.sourceDir + "/" + LOCALES_DIR);
- if (pkgrUtils.isWindows()) {
-
- localeFiles.forEach(function (file) {
- file = path.relative(path.resolve(session.sourceDir, "locales"), file).replace(/\\/g, "/");
- normalizedLocaleFiles.push(file);
- });
- } else {
- normalizedLocaleFiles = localeFiles;
- }
- }
-
- generateLocalizedMetadataForSplashScreenIcon(config, key, xmlObject, key === "rim:splash" ? "splashScreens" : key, normalizedLocaleFiles);
- }
-}
-
-module.exports = {
- LOCALES_DIR: LOCALES_DIR,
- generateLocalizedMetadata: generateLocalizedMetadata,
- generateLocalizedText: generateLocalizedText
-};
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/91c74886/lib/cordova-blackberry/bin/templates/project/cordova/lib/install-device
----------------------------------------------------------------------
diff --git a/lib/cordova-blackberry/bin/templates/project/cordova/lib/install-device b/lib/cordova-blackberry/bin/templates/project/cordova/lib/install-device
deleted file mode 100755
index b9f38d3..0000000
--- a/lib/cordova-blackberry/bin/templates/project/cordova/lib/install-device
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env bash
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-set -e
-
-echo 'BlackBerry10: Not able to install to connected devices through command-line at this time.'
-exit 1
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/91c74886/lib/cordova-blackberry/bin/templates/project/cordova/lib/install-device.bat
----------------------------------------------------------------------
diff --git a/lib/cordova-blackberry/bin/templates/project/cordova/lib/install-device.bat b/lib/cordova-blackberry/bin/templates/project/cordova/lib/install-device.bat
deleted file mode 100644
index 965417e..0000000
--- a/lib/cordova-blackberry/bin/templates/project/cordova/lib/install-device.bat
+++ /dev/null
@@ -1,21 +0,0 @@
-:: Licensed to the Apache Software Foundation (ASF) under one
-:: or more contributor license agreements. See the NOTICE file
-:: distributed with this work for additional information
-:: regarding copyright ownership. The ASF licenses this file
-:: to you under the Apache License, Version 2.0 (the
-:: "License"); you may not use this file except in compliance
-:: with the License. You may obtain a copy of the License at
-::
-:: http://www.apache.org/licenses/LICENSE-2.0
-::
-:: Unless required by applicable law or agreed to in writing,
-:: software distributed under the License is distributed on an
-:: "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-:: KIND, either express or implied. See the License for the
-:: specific language governing permissions and limitations
-:: under the License.
-
-@ECHO OFF
-
-ECHO echo 'BlackBerry10: Not able to install to connected devices through command-line at this time.'
-EXIT /B 1
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/91c74886/lib/cordova-blackberry/bin/templates/project/cordova/lib/list-devices
----------------------------------------------------------------------
diff --git a/lib/cordova-blackberry/bin/templates/project/cordova/lib/list-devices b/lib/cordova-blackberry/bin/templates/project/cordova/lib/list-devices
deleted file mode 100755
index 09d3cec..0000000
--- a/lib/cordova-blackberry/bin/templates/project/cordova/lib/list-devices
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env bash
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-set -e
-
-echo 'BlackBerry10: Not able to list connected devices through command-line at this time.'
-exit 1
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/91c74886/lib/cordova-blackberry/bin/templates/project/cordova/lib/list-devices.bat
----------------------------------------------------------------------
diff --git a/lib/cordova-blackberry/bin/templates/project/cordova/lib/list-devices.bat b/lib/cordova-blackberry/bin/templates/project/cordova/lib/list-devices.bat
deleted file mode 100644
index d0da1c6..0000000
--- a/lib/cordova-blackberry/bin/templates/project/cordova/lib/list-devices.bat
+++ /dev/null
@@ -1,21 +0,0 @@
-:: Licensed to the Apache Software Foundation (ASF) under one
-:: or more contributor license agreements. See the NOTICE file
-:: distributed with this work for additional information
-:: regarding copyright ownership. The ASF licenses this file
-:: to you under the Apache License, Version 2.0 (the
-:: "License"); you may not use this file except in compliance
-:: with the License. You may obtain a copy of the License at
-::
-:: http://www.apache.org/licenses/LICENSE-2.0
-::
-:: Unless required by applicable law or agreed to in writing,
-:: software distributed under the License is distributed on an
-:: "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-:: KIND, either express or implied. See the License for the
-:: specific language governing permissions and limitations
-:: under the License.
-
-@ECHO OFF
-
-ECHO echo 'BlackBerry10: Not able to list connected devices through command-line at this time.'
-EXIT /B 1
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/91c74886/lib/cordova-blackberry/bin/templates/project/cordova/lib/list-emulator-images
----------------------------------------------------------------------
diff --git a/lib/cordova-blackberry/bin/templates/project/cordova/lib/list-emulator-images b/lib/cordova-blackberry/bin/templates/project/cordova/lib/list-emulator-images
deleted file mode 100755
index f065a7a..0000000
--- a/lib/cordova-blackberry/bin/templates/project/cordova/lib/list-emulator-images
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env bash
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-set -e
-
-echo 'BlackBerry10: Not able to list valid emulator images through command-line at this time.'
-exit 1
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/91c74886/lib/cordova-blackberry/bin/templates/project/cordova/lib/list-emulator-images.bat
----------------------------------------------------------------------
diff --git a/lib/cordova-blackberry/bin/templates/project/cordova/lib/list-emulator-images.bat b/lib/cordova-blackberry/bin/templates/project/cordova/lib/list-emulator-images.bat
deleted file mode 100644
index 60baaaf..0000000
--- a/lib/cordova-blackberry/bin/templates/project/cordova/lib/list-emulator-images.bat
+++ /dev/null
@@ -1,21 +0,0 @@
-:: Licensed to the Apache Software Foundation (ASF) under one
-:: or more contributor license agreements. See the NOTICE file
-:: distributed with this work for additional information
-:: regarding copyright ownership. The ASF licenses this file
-:: to you under the Apache License, Version 2.0 (the
-:: "License"); you may not use this file except in compliance
-:: with the License. You may obtain a copy of the License at
-::
-:: http://www.apache.org/licenses/LICENSE-2.0
-::
-:: Unless required by applicable law or agreed to in writing,
-:: software distributed under the License is distributed on an
-:: "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-:: KIND, either express or implied. See the License for the
-:: specific language governing permissions and limitations
-:: under the License.
-
-@ECHO OFF
-
-ECHO echo 'BlackBerry10: Not able to list valid emulator images through command-line at this time.'
-EXIT /B 1
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/91c74886/lib/cordova-blackberry/bin/templates/project/cordova/lib/localize.js
----------------------------------------------------------------------
diff --git a/lib/cordova-blackberry/bin/templates/project/cordova/lib/localize.js b/lib/cordova-blackberry/bin/templates/project/cordova/lib/localize.js
deleted file mode 100644
index 4990a93..0000000
--- a/lib/cordova-blackberry/bin/templates/project/cordova/lib/localize.js
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Copyright 2012 Research In Motion Limited.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var Localize = require("localize"),
- loc = new Localize({
- "EXCEPTION_NATIVEPACKAGER": {
- "en": "Native Packager exception occurred"
- },
- "EXCEPTION_WIDGET_ARCHIVE_NOT_FOUND": {
- "en": "Failed to find WebWorks archive: $[1]"
- },
- "EXCEPTION_MISSING_SIGNING_KEY_FILE": {
- "en": "Cannot sign application - failed to find signing key file: $[1]"
- },
- "WARNING_MISSING_SIGNING_KEY_FILE": {
- "en": "Build ID set in config.xml [version], but signing key file was not found: $[1]"
- },
- "EXCEPTION_MISSING_SIGNING_PASSWORD": {
- "en": "Cannot sign application - No signing password provided [-g]"
- },
- "WARNING_SIGNING_PASSWORD_EXPECTED": {
- "en": "Build ID set in config.xml [version], but no signing password was provided [-g]. Bar will be unsigned"
- },
- "EXCEPTION_MISSING_SIGNING_BUILDID": {
- "en": "Cannot sign application - No buildId provided [--buildId]"
- },
- "EXCEPTION_DEBUG_TOKEN_NOT_FOUND": {
- "en": "Failed to find debug token"
- },
- "EXCEPTION_DEBUG_TOKEN_WRONG_FILE_EXTENSION": {
- "en": "Specified debug token not a .bar extension"
- },
- "PROGRESS_SESSION_CONFIGXML": {
- "en": "Parsing config.xml"
- },
- "PROGRESS_FILE_POPULATING_SOURCE": {
- "en": "Populating application source"
- },
- "PROGRESS_GEN_OUTPUT": {
- "en": "Generating output files"
- },
- "PROGRESS_PACKAGING": {
- "en": "Packaging the BAR file"
- },
- "PROGRESS_COMPLETE": {
- "en": "BAR packaging complete"
- },
- "EXCEPTION_PARSING_XML": {
- "en": "An error has occurred parsing the config.xml. Please ensure that it is syntactically correct"
- },
- "EXCEPTION_INVALID_VERSION": {
- "en": "Please enter a valid application version"
- },
- "EXCEPTION_INVALID_NAME": {
- "en": "Please enter a valid application name"
- },
- "EXCEPTION_INVALID_AUTHOR": {
- "en": "Please enter an author for the application"
- },
- "EXCEPTION_INVALID_ID": {
- "en": "Please enter an application id"
- },
- "EXCEPTION_INVALID_CONTENT": {
- "en": "Invalid config.xml - failed to parse the <content> element(Invalid source or the source is not specified.)"
- },
- "EXCEPTION_INVALID_FEATURE_ID": {
- "en": "Invalid <feature> element - failed to find the id attribute"
- },
- "EXCEPTION_BUFFER_ERROR": {
- "en": "ERROR in bufferToString(): Buffer length must be even"
- },
- "EXCEPTION_FEATURE_DEFINED_WITH_WILDCARD_ACCESS_URI": {
- "en": "Invalid config.xml - no <feature> tags are allowed for this <access> element"
- },
- "EXCEPTION_INVALID_ACCESS_URI_NO_PROTOCOL": {
- "en": "Invalid URI attribute in the access element - protocol required($[1])"
- },
- "EXCEPTION_INVALID_ACCESS_URI_NO_URN": {
- "en": "Failed to parse the URI attribute in the access element($[1])"
- },
- "EXCEPTION_CMDLINE_ARG_INVALID": {
- "en": "Invalid command line argument \"$[1]\""
- },
- "EXCEPTION_INVOKE_TARGET_INVALID_ID": {
- "en": "Each rim:invoke-target element must specify a valid id attribute"
- },
- "EXCEPTION_INVOKE_TARGET_INVALID_TYPE": {
- "en": "rim:invoke-target element must be specified and cannot be empty"
- },
- "EXCEPTION_INVOKE_TARGET_ACTION_INVALID": {
- "en": "Each filter element must specify at least one valid action"
- },
- "EXCEPTION_INVOKE_TARGET_MIME_TYPE_INVALID": {
- "en": "Each filter element must specify at least one valid mime-type"
- },
- "EXCEPTION_INVOKE_TARGET_FILTER_PROPERTY_INVALID": {
- "en": "At least one property element in an invoke filter is invalid"
- },
- "EXCEPTION_INVALID_ICON_SRC": {
- "en": "Icon src cannot be empty"
- },
- "EXCEPTION_INVALID_SPLASH_SRC": {
- "en": "Splash src cannot be empty"
- },
- "EXCEPTION_INVALID_ICON_SRC_LOCALES": {
- "en": "Icon src should not point to files under \"locales\" folder, bbwp will perform folder-based localization"
- },
- "EXCEPTION_INVALID_SPLASH_SRC_LOCALES": {
- "en": "Splash src should not point to files under \"locales\" folder, bbwp will perform folder-based localization"
- },
- "EXCEPTION_EXTENSION_CIRCULAR_DEPENDENCY": {
- "en": "Circular dependency detected for extension: \"$[1]\""
- },
- "EXCEPTION_EXTENSION_NOT_FOUND": {
- "en": "Extension \"$[1]\" not found in \"ext\" folder"
- },
- "EXCEPTION_PARAMS_FILE_ERROR": {
- "en": "An error has occurred parsing \"$[1]\""
- },
- "EXCEPTION_PARAMS_FILE_NOT_FOUND": {
- "en": "\"$[1]\" does not exist"
- },
- "EXCEPTION_MISSING_TOOLS": {
- "en": "BBNDK tools could not be found. Please ensure you have installed the BlackBerry Native SDK [http://developer.blackberry.com/native/] and have the PATH configured via bbndk-env script."
- },
- "EXCEPTION_INVALID_ORIENTATION_MODE": {
- "en": "\"$[1]\" is not a valid orientation mode"
- },
- "EXCEPTION_EMPTY_ORIENTATION_MODE": {
- "en": "blackberry.app.orientation parameter \"mode\" missing"
- },
- "EXCEPTION_BGCOLOR_INVALID" : {
- "en": "Background color \"$[1]\" is not a valid number"
- },
- "EXCEPTION_CONFIG_NOT_FOUND" : {
- "en": "No config.xml file was found at the root of the .zip file"
- },
- "EXCEPTION_CORDOVA_JS_IN_LIB_DIR" : {
- "en": "$[1] cordova.js files found in lib"
- },
- "WARN_CORDOVA_JS_PACKAGED" : {
- "en": "cordova.js is now packaged as local:///chrome/cordova.js"
- },
- "WARN_WEBPLATFORM_JS_PACKAGED" : {
- "en": "webplatform.js has been packaged as an alternative to the on device version"
- },
- "WARN_WEBPLATFORM_I18N_PACKAGED" : {
- "en": "i18n.js has been packaged as an alternative to the on device version"
- },
- "EXCEPTION_INVALID_ARCHIVE_PATH" : {
- "en": "An archive or directory does not exist at the path specified: \"$[1]\""
- },
- "EXCEPTION_APPDESC_NOT_FOUND" : {
- "en": "The bar descriptor file does not exist at the path specified: \"$[1]\""
- },
- "WARNING_ORIENTATION_DEPRECATED": {
- "en": "blackberry.app.orientation has been deprecated, please use blackberry.app instead"
- },
- "WARNING_WEBSECURITY_DISABLED": {
- "en": "You have disabled all web security in this WebWorks application"
- },
- "PROGRESS_DEBUG_TOKEN_IS_VALID": {
- "en": "The existing debug token is valid"
- },
- "WARN_TARGET_NOT_EXIST": {
- "en": "The target \"$[1]\" does not exist"
- },
- "WARN_IP_NOT_DEFINED": {
- "en": "IP is not defined in target \"$[1]\""
- },
- "WARN_PASSWORD_NOT_DEFINED": {
- "en": "Password is not defined in target \"$[1]\""
- },
- "PROGRESS_DEPLOYING_DEBUG_TOKEN": {
- "en": "Deploying debug token to target \"$[1]\""
- },
- "WARN_NO_DEVICE_PIN_FOUND": {
- "en": "No device PIN found, will omit debug token generation"
- },
- "WARN_NO_SIGNING_PASSWORD_PROVIDED": {
- "en": "No signing password provided, will omit debug token generation"
- },
- "PROGRESS_GENERATING_DEBUG_TOKEN": {
- "en": "Generating debug token"
- }
-
- }, "", ""); // TODO maybe a bug in localize, must set default locale to "" in order get it to work
-
-loc.setLocale("en");
-
-module.exports = loc;
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/91c74886/lib/cordova-blackberry/bin/templates/project/cordova/lib/log
----------------------------------------------------------------------
diff --git a/lib/cordova-blackberry/bin/templates/project/cordova/lib/log b/lib/cordova-blackberry/bin/templates/project/cordova/lib/log
deleted file mode 100755
index 1b34649..0000000
--- a/lib/cordova-blackberry/bin/templates/project/cordova/lib/log
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env bash
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-set -e
-
-echo 'BlackBerry10: logging not supported at this time.'
-exit 1
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/91c74886/lib/cordova-blackberry/bin/templates/project/cordova/lib/log.bat
----------------------------------------------------------------------
diff --git a/lib/cordova-blackberry/bin/templates/project/cordova/lib/log.bat b/lib/cordova-blackberry/bin/templates/project/cordova/lib/log.bat
deleted file mode 100644
index ef5f6d9..0000000
--- a/lib/cordova-blackberry/bin/templates/project/cordova/lib/log.bat
+++ /dev/null
@@ -1,21 +0,0 @@
-:: Licensed to the Apache Software Foundation (ASF) under one
-:: or more contributor license agreements. See the NOTICE file
-:: distributed with this work for additional information
-:: regarding copyright ownership. The ASF licenses this file
-:: to you under the Apache License, Version 2.0 (the
-:: "License"); you may not use this file except in compliance
-:: with the License. You may obtain a copy of the License at
-::
-:: http://www.apache.org/licenses/LICENSE-2.0
-::
-:: Unless required by applicable law or agreed to in writing,
-:: software distributed under the License is distributed on an
-:: "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-:: KIND, either express or implied. See the License for the
-:: specific language governing permissions and limitations
-:: under the License.
-
-@ECHO OFF
-
-ECHO echo 'BlackBerry10: logging not supported at this time.'
-EXIT /B 1
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/91c74886/lib/cordova-blackberry/bin/templates/project/cordova/lib/logger.js
----------------------------------------------------------------------
diff --git a/lib/cordova-blackberry/bin/templates/project/cordova/lib/logger.js b/lib/cordova-blackberry/bin/templates/project/cordova/lib/logger.js
deleted file mode 100644
index 6cab576..0000000
--- a/lib/cordova-blackberry/bin/templates/project/cordova/lib/logger.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright 2012 Research In Motion Limited.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-var level = 'verbose';
-
-module.exports = {
- level: function (value) {
- level = value;
- },
- info: function (msg) {
- if (level === 'verbose') {
- console.log("[INFO] " + msg);
- }
- },
- error: function (msg) {
- console.log("[ERROR] " + msg);
- },
- warn: function (msg) {
- if (level !== 'error') {
- console.log("[WARN] " + msg);
- }
- },
- log: function (msg) {
- console.log("[BUILD] " + msg);
- }
-};
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/91c74886/lib/cordova-blackberry/bin/templates/project/cordova/lib/native-packager.js
----------------------------------------------------------------------
diff --git a/lib/cordova-blackberry/bin/templates/project/cordova/lib/native-packager.js b/lib/cordova-blackberry/bin/templates/project/cordova/lib/native-packager.js
deleted file mode 100644
index d9fe3a2..0000000
--- a/lib/cordova-blackberry/bin/templates/project/cordova/lib/native-packager.js
+++ /dev/null
@@ -1,288 +0,0 @@
-/*
- * Copyright 2012 Research In Motion Limited.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*jshint sub:true*/
-var childProcess = require("child_process"),
- fs = require("fs"),
- path = require("path"),
- util = require("util"),
- data2xml = require("../third_party/data2xml/data2xml"),
- wrench = require("wrench"),
- conf = require("./conf"),
- logger = require("./logger"),
- localize = require("./localize"),
- pkgrUtils = require("./packager-utils"),
- i18nMgr = require("./i18n-manager"),
- NL = pkgrUtils.isWindows() ? "\r\n" : "\n";
-
-function generateTabletXMLFile(session, config) {
- var files = wrench.readdirSyncRecursive(session.sourceDir),
- xmlObject = {
- id : config.id,
- versionNumber : config.version,
- author : config.author,
- asset : [{
- _attr : { entry : 'true', type : 'qnx/elf' },
- _value : 'wwe'
- }],
- entryPointType : {
- _value : "Qnx/WebKit"
- },
- cascadesTheme : {
- _value : config.theme
- },
- initialWindow : {
- systemChrome : 'none',
- transparent : 'true',
- autoOrients : 'true'
- },
- env : [{
- _attr : { value : '2.0.0', var : 'WEBWORKS_VERSION'}
- }],
- permission : [{
- _attr : { system : 'true'},
- _value : 'run_native'
- }, {
- // hardcoded access_internet to ensure user has internet (whitelist takes care of security)
- _attr : { system : 'false'},
- _value : 'access_internet'
- }]
- };
-
- // If appdesc is specified, use it as the bar descriptor
- if (session.appdesc) {
- pkgrUtils.copyFile(session.appdesc, session.sourceDir);
- return;
- }
-
- //Enable slog2 output if debugging
- if (session.debug) {
- xmlObject.env.push({
- _attr : { value : 'slog2', 'var' : 'CONSOLE_MODE' }
- });
- }
-
- //Write user specified permissions
- if (config.permissions) {
- config.permissions.forEach(function (permission) {
- var permissionAttr,
- permissionValue;
-
- if (typeof permission === "string") {
- //Permission with no attributes
- permissionValue = permission;
- } else if (permission["@"] && permission["#"]) {
- //Permission with attributes
- permissionAttr = permission["@"];
- permissionValue = permission["#"];
- }
-
- if (permissionValue) {
- xmlObject.permission.push({
- _attr : permissionAttr,
- _value : permissionValue
- });
- }
- });
- }
-
- i18nMgr.generateLocalizedText(session, config, xmlObject, "name");
-
- if (config.description) {
- i18nMgr.generateLocalizedText(session, config, xmlObject, "description");
- }
-
- i18nMgr.generateLocalizedMetadata(session, config, xmlObject, "icon");
- i18nMgr.generateLocalizedMetadata(session, config, xmlObject, "rim:splash");
-
- if (config["invoke-target"]) {
- xmlObject["invoke-target"] = [];
-
- config["invoke-target"].forEach(function (invokeTarget) {
-
- var xmlInvokeTarget = {
- "_attr" : { id : invokeTarget["@"]["id"] },
- "entry-point" : config.name,
- "type" : invokeTarget["type"]
- };
-
- if (invokeTarget["require-source-permissions"]) {
- xmlInvokeTarget["require-source-permissions"] = {
- _value : invokeTarget["require-source-permissions"]
- };
- }
-
- if (invokeTarget.filter) {
- xmlInvokeTarget.filter = [];
- invokeTarget.filter.forEach(function (filter) {
- var xmlFilter = {
- "action" : filter.action,
- "mime-type": filter["mime-type"]
- };
-
- if (filter.property) {
- xmlFilter.property = [];
- filter.property.forEach(function (property) {
- xmlFilter.property.push({
- "_attr": { var : property["@"]["var"], value : property["@"].value }
- });
- });
- }
-
- xmlInvokeTarget.filter.push(xmlFilter);
- });
- }
-
- xmlObject["invoke-target"].push(xmlInvokeTarget);
-
- });
- }
-
- //buildId
- if (config.buildId) {
- xmlObject.buildId = config.buildId;
- }
-
- if (files) {
- files.forEach(function (file) {
- file = path.resolve(session.sourceDir, file);
-
- if (file.indexOf(conf.BAR_DESCRIPTOR) < 0 && !fs.statSync(file).isDirectory()) {
- file = file.replace(/\\/g, "/");
- file = file.split("src/")[1];
-
- if (path.extname(file) === ".so") {
- xmlObject.asset.push({
- _attr : { type : 'qnx/elf' },
- _value : file
- });
- } else {
- xmlObject.asset.push({
- _value : file
- });
- }
- }
- });
- }
-
- //Add orientation mode
- if (config.orientation) {
- xmlObject.initialWindow.aspectRatio = config.orientation;
- }
-
- //Add auto orientation
- xmlObject.initialWindow.autoOrients = config.autoOrientation;
-
- pkgrUtils.writeFile(session.sourceDir, conf.BAR_DESCRIPTOR, data2xml('qnx', xmlObject));
-}
-
-function generateOptionsFile(session, target, config) {
- var srcFiles = wrench.readdirSyncRecursive(session.sourceDir),
- isSigning = session.isSigningRequired(config),
- optionsStr = "-package" + NL,
- debugToken,
- params = session.getParams("blackberry-nativepackager");
-
- //if -d was provided and we are not signing [-g], set debugToken
- if (session.debug && !isSigning) {
- if (path.extname(conf.DEBUG_TOKEN) === ".bar") {
- if (fs.existsSync(conf.DEBUG_TOKEN)) {
- debugToken = "-debugToken" + NL;
- debugToken += conf.DEBUG_TOKEN + NL;
- }
- else {
- logger.warn(localize.translate("EXCEPTION_DEBUG_TOKEN_NOT_FOUND"));
- }
- } else {
- logger.warn(localize.translate("EXCEPTION_DEBUG_TOKEN_WRONG_FILE_EXTENSION"));
- }
- }
-
- if (target === "device" && isSigning) {
- optionsStr += "-buildId" + NL;
- optionsStr += config.buildId + NL;
- } else if (session.debug) {
- //DebugToken params
- optionsStr += "-devMode" + NL;
- optionsStr += (debugToken ? debugToken : "");
- }
-
- if (params) {
- Object.getOwnPropertyNames(params).forEach(function (p) {
- optionsStr += p + NL;
-
- if (params[p]) {
- optionsStr += params[p] + NL;
- }
- });
- }
-
- optionsStr += path.resolve(util.format(session.barPath, target)) + NL;
-
- //to supoprt splash screens/icons for multiple resolutions/devices
- optionsStr += "-barVersion" + NL;
- optionsStr += "1.5" + NL;
-
- optionsStr += "-C" + NL;
- optionsStr += session.sourceDir + NL;
- optionsStr += conf.BAR_DESCRIPTOR + NL;
-
- srcFiles.forEach(function (file) {
- file = path.resolve(session.sourceDir, file);
-
- if (file.indexOf(conf.BAR_DESCRIPTOR) < 0 && !fs.statSync(file).isDirectory()) {
- optionsStr += file + NL;
- }
- });
-
- fs.writeFileSync(path.normalize(session.sourceDir + "/options"), optionsStr);
-}
-
-function execNativePackager(session, callback) {
- var script = "/bin/blackberry-nativepackager",
- cwd = session.sourceDir,
- nativePkgr;
-
- if (pkgrUtils.isWindows()) {
- script += ".bat";
- }
-
- if (fs.existsSync(conf.DEPENDENCIES_TOOLS)) {
- nativePkgr = childProcess.spawn(path.normalize(conf.DEPENDENCIES_TOOLS + script), ["@options"], {
- "cwd": cwd,
- "env": process.env
- });
-
- nativePkgr.stdout.on("data", pkgrUtils.handleProcessOutput);
-
- nativePkgr.stderr.on("data", pkgrUtils.handleProcessOutput);
-
- nativePkgr.on("exit", function (code) {
- if (callback && typeof callback === "function") {
- callback(code);
- }
- });
- } else {
- throw localize.translate("EXCEPTION_MISSING_TOOLS");
- }
-}
-
-module.exports = {
- exec: function (session, target, config, callback) {
- generateOptionsFile(session, target, config);
- generateTabletXMLFile(session, config);
- execNativePackager(session, callback);
- }
-};
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/91c74886/lib/cordova-blackberry/bin/templates/project/cordova/lib/packager-utils.js
----------------------------------------------------------------------
diff --git a/lib/cordova-blackberry/bin/templates/project/cordova/lib/packager-utils.js b/lib/cordova-blackberry/bin/templates/project/cordova/lib/packager-utils.js
deleted file mode 100644
index 8bc3acf..0000000
--- a/lib/cordova-blackberry/bin/templates/project/cordova/lib/packager-utils.js
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * Copyright 2012 Research In Motion Limited.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var fs = require('fs'),
- path = require('path'),
- wrench = require('wrench'),
- localize = require("./localize"),
- logger = require("./logger"),
- os = require('os'),
- _self;
-
-function swapBytes(buffer) {
- var l = buffer.length,
- i,
- a;
-
- if (l % 2 === 0x01) {
- throw localize.translate("EXCEPTION_BUFFER_ERROR");
- }
-
- for (i = 0; i < l; i += 2) {
- a = buffer[i];
- buffer[i] = buffer[i + 1];
- buffer[i + 1] = a;
- }
-
- return buffer;
-}
-
-_self = {
- writeFile: function (fileLocation, fileName, fileData) {
- //If directory does not exist, create it.
- if (!fs.existsSync(fileLocation)) {
- wrench.mkdirSyncRecursive(fileLocation, "0755");
- }
-
- fs.writeFileSync(path.join(fileLocation, fileName), fileData);
- },
-
- copyFile: function (srcFile, destDir, baseDir) {
- var filename = path.basename(srcFile),
- fileBuffer = fs.readFileSync(srcFile),
- fileLocation;
-
- //if a base directory was provided, determine
- //folder structure from the relative path of the base folder
- if (baseDir && srcFile.indexOf(baseDir) === 0) {
- fileLocation = srcFile.replace(baseDir, destDir);
- wrench.mkdirSyncRecursive(path.dirname(fileLocation), "0755");
- fs.writeFileSync(fileLocation, fileBuffer);
- } else {
- fs.writeFileSync(path.join(destDir, filename), fileBuffer);
- }
- },
-
- listFiles: function (directory, filter) {
- var files = wrench.readdirSyncRecursive(directory),
- filteredFiles = [];
-
- files.forEach(function (file) {
- //On mac wrench.readdirSyncRecursive does not return absolute paths, so resolve one.
- file = path.resolve(directory, file);
-
- if (filter(file)) {
- filteredFiles.push(file);
- }
- });
-
- return filteredFiles;
- },
-
- isWindows: function () {
- return os.type().toLowerCase().indexOf("windows") >= 0;
- },
-
- isArray: function (obj) {
- return obj.constructor.toString().indexOf("Array") !== -1;
- },
-
- isEmpty : function (obj) {
- for (var prop in obj) {
- if (obj.hasOwnProperty(prop))
- return false;
- }
- return true;
- },
-
- toBoolean: function (myString, defaultVal) {
- // if defaultVal is not passed, default value is undefined
- return myString === "true" ? true : myString === "false" ? false : defaultVal;
- },
-
- parseUri : function (str) {
- var i, uri = {},
- key = [ "source", "scheme", "authority", "userInfo", "user", "password", "host", "port", "relative", "path", "directory", "file", "query", "anchor" ],
- matcher = /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(str);
-
- for (i = key.length - 1; i >= 0; i--) {
- uri[key[i]] = matcher[i] || "";
- }
-
- return uri;
- },
-
- // uri - output from parseUri
- isAbsoluteURI : function (uri) {
- if (uri && uri.source) {
- return uri.relative !== uri.source;
- }
-
- return false;
- },
-
- isLocalURI : function (uri) {
- return uri && uri.scheme && uri.scheme.toLowerCase() === "local";
- },
-
- // Convert node.js Buffer data (encoded) to String
- bufferToString : function (data) {
- var s = "";
- if (Buffer.isBuffer(data)) {
- if (data.length >= 2 && data[0] === 0xFF && data[1] === 0xFE) {
- s = data.toString("ucs2", 2);
- } else if (data.length >= 2 && data[0] === 0xFE && data[1] === 0xFF) {
- swapBytes(data);
- s = data.toString("ucs2", 2);
- } else if (data.length >= 3 && data[0] === 0xEF && data[1] === 0xBB && data[2] === 0xBF) {
- s = data.toString("utf8", 3);
- } else {
- s = data.toString("ascii");
- }
- }
-
- return s;
- },
-
- // Wrap object property in an Array if the property is defined and it is not an Array
- wrapPropertyInArray : function (obj, property) {
- if (obj && obj[property] && !(obj[property] instanceof Array)) {
- obj[property] = [ obj[property] ];
- }
- },
-
- loadModule: function (path) {
- return require(path);
- },
-
- handleProcessOutput: function (data) {
- var msg = data.toString().replace(/[\n\r]/g, '');
-
- if (msg) {
- if (msg.toLowerCase().indexOf("error:") >= 0) {
- logger.error(msg);
- } else if (msg.toLowerCase().indexOf("warn") >= 0) {
- logger.warn(msg);
- } else {
- logger.info(msg);
- }
- }
- },
-
- escapeStringForShell: function (str) {
- if (require('os').type().toLowerCase().indexOf("windows") >= 0) {
- return "\"" + str + "\"";
- } else {
- return str.replace(/(["\s'$`\\])/g,'\\$1');
- }
- }
-
-};
-
-module.exports = _self;