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/14 19:30:55 UTC

[26/83] [abbrv] [partial] start of lazy loading: axe all vendored-in libs

http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/67fa7ebb/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/67fa7ebb/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/67fa7ebb/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/67fa7ebb/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/67fa7ebb/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/67fa7ebb/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/67fa7ebb/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/67fa7ebb/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/67fa7ebb/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/67fa7ebb/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/67fa7ebb/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/67fa7ebb/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/67fa7ebb/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/67fa7ebb/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/67fa7ebb/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/67fa7ebb/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;