You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by sg...@apache.org on 2014/09/30 09:45:52 UTC
[06/38] CB-7666 Move stuff outside of windows subdir
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/lib/prepare.js
----------------------------------------------------------------------
diff --git a/windows/template/cordova/lib/prepare.js b/windows/template/cordova/lib/prepare.js
deleted file mode 100644
index 5e3f533..0000000
--- a/windows/template/cordova/lib/prepare.js
+++ /dev/null
@@ -1,315 +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.
-*/
-
-var path = require('path'),
- fs = require('fs'),
- et = require('elementtree'),
- shell = require('shelljs'),
- ConfigParser = require('./ConfigParser');
-
-var ROOT = path.join(__dirname, '..', '..'),
- accessRules;
-
-module.exports.applyPlatformConfig = function () {
- console.log('Applying Platform Config...');
-
- var config = new ConfigParser(path.join(ROOT, 'config.xml'));
-
- accessRules = config.getAccessRules().filter(function(rule) {
- if (rule.indexOf('https://') == 0 || rule == '*') {
- return true;
- } else {
- console.log('Access rules must begin with "https://", the following rule will be ignored: ' + rule);
- }
- return false;
- });
-
- ['package.windows.appxmanifest', 'package.windows80.appxmanifest', 'package.phone.appxmanifest'].forEach(
- function(manifestFile) {
- updateManifestFile(config, path.join(ROOT, manifestFile));
- })
-
- copyImages(config);
-}
-
-function updateManifestFile (config, manifestPath) {
-
- var contents = fs.readFileSync(manifestPath, 'utf-8');
- if(contents) {
- //Windows is the BOM. Skip the Byte Order Mark.
- contents = contents.substring(contents.indexOf('<'));
- };
-
- var manifest = new et.ElementTree(et.XML(contents));
-
- applyCoreProperties(config, manifest);
- // sort Capability elements as per CB-5350 Windows8 build fails due to invalid 'Capabilities' definition
- sortCapabilities(manifest);
- applyAccessRules(config, manifest);
- applyBackgroundColor(config, manifest);
-
- //Write out manifest
- fs.writeFileSync(manifestPath, manifest.write({indent: 4}), 'utf-8');
-}
-
-function applyCoreProperties(config, manifest) {
- var version = fixConfigVersion(config.version());
- var name = config.name();
- var pkgName = config.packageName();
- var author = config.author();
- var startPage = config.startPage();
-
- if (!startPage) {
- // If not specified, set default value
- // http://cordova.apache.org/docs/en/edge/config_ref_index.md.html#The%20config.xml%20File
- startPage = "index.html";
- }
-
- var identityNode = manifest.find('.//Identity');
- if(!identityNode) {
- throw new Error('Invalid manifest file (no <Identity> node): ' + manifestPath);
- }
- // Update identity name and version
- pkgName && (identityNode.attrib.Name = pkgName);
- version && (identityNode.attrib.Version = version);
-
- // Update name (windows8 has it in the Application[@Id] and Application.VisualElements[@DisplayName])
- var app = manifest.find('.//Application');
- if(!app) {
- throw new Error('Invalid manifest file (no <Application> node): ' + manifestPath);
- }
- if (pkgName) {
- // 64 symbols restriction goes from manifest schema definition
- // http://msdn.microsoft.com/en-us/library/windows/apps/br211415.aspx
- var appId = pkgName.length <= 64 ? pkgName : pkgName.substr(0, 64);
- app.attrib.Id = appId;
- }
- app.attrib.StartPage = 'www/' + startPage;
-
- var visualElems = manifest.find('.//VisualElements') // windows 8.0
- || manifest.find('.//m2:VisualElements') // windows 8.1
- || manifest.find('.//m3:VisualElements'); // windows phone 8.1
-
- if(!visualElems) {
- throw new Error('Invalid manifest file (no <VisualElements> node): ' + manifestPath);
- }
- name && (visualElems.attrib.DisplayName = name);
-
- // Update properties
- var properties = manifest.find('.//Properties');
- if (properties && properties.find) {
- var displayNameElement = properties.find('.//DisplayName');
- if (displayNameElement && name) {
- displayNameElement.text = name;
- }
-
- var publisherNameElement = properties.find('.//PublisherDisplayName');
- if (publisherNameElement && author) {
- publisherNameElement.text = author;
- }
- }
-}
-
-// Adjust version number as per CB-5337 Windows8 build fails due to invalid app version
-function fixConfigVersion (version) {
- if(version && version.match(/\.\d/g)) {
- var numVersionComponents = version.match(/\.\d/g).length + 1;
- while (numVersionComponents++ < 4) {
- version += '.0';
- }
- }
- return version;
-}
-
-function applyAccessRules (config, manifest) {
- // Updates WhiteListing rules
- //<ApplicationContentUriRules>
- // <Rule Match="https://www.example.com" Type="include"/>
- //</ApplicationContentUriRules>
- var appUriRulesRoot = manifest.find('.//Application'),
- appUriRules = appUriRulesRoot.find('.//ApplicationContentUriRules');
-
- if (appUriRules != null) {
- appUriRulesRoot.remove(null, appUriRules);
- }
- // rules are not defined or allow any
- if (accessRules.length == 0 || accessRules.indexOf('*') > -1) {
- return;
- }
-
- appUriRules = et.Element('ApplicationContentUriRules');
- appUriRulesRoot.append(appUriRules);
-
- accessRules.forEach(function(rule) {
- var el = et.Element('Rule')
- el.attrib.Match = rule;
- el.attrib.Type = 'include';
- appUriRules.append(el);
- });
-}
-
-function sortCapabilities(manifest) {
-
- // removes namespace prefix (m3:Capability -> Capability)
- // this is required since elementtree returns qualified name with namespace
- function extractLocalName(tag) {
- return tag.split(':').pop(); // takes last part of string after ':'
- }
-
- var capabilitiesRoot = manifest.find('.//Capabilities'),
- capabilities = capabilitiesRoot._children || [];
- // to sort elements we remove them and then add again in the appropriate order
- capabilities.forEach(function(elem) { // no .clear() method
- capabilitiesRoot.remove(0, elem);
- // CB-7601 we need local name w/o namespace prefix to sort capabilities correctly
- elem.localName = extractLocalName(elem.tag);
- });
- capabilities.sort(function(a, b) {
- return (a.localName > b.localName) ? 1: -1;
- });
- capabilities.forEach(function(elem) {
- capabilitiesRoot.append(elem);
- });
-}
-
-function copyImages(config) {
- var platformRoot = ROOT;
- // TODO find the way to detect whether command was triggered by CLI or not
- var appRoot = path.join(platformRoot, '..', '..');
-
- function copyImage(src, dest) {
- src = path.join(appRoot, src),
- dest = path.join(platformRoot, 'images', dest);
- //console.log('Copying image from ' + src + ' to ' + dest);
- shell.cp('-f', src, dest);
- }
-
- function copyMrtImage(src, dest) {
- var srcDir = path.dirname(src),
- srcExt = path.extname(src),
- srcFileName = path.basename(src, srcExt);
-
- var destExt = path.extname(dest),
- destFileName = path.basename(dest, destExt);
-
- // all MRT images: logo.png, logo.scale-100.png, logo.scale-200.png, etc
- var images = fs.readdirSync(srcDir).filter(function(e) {
- return e.match('^'+srcFileName + '(.scale-[0-9]+)?' + srcExt);
- });
- // warn if no images found
- if (images.length == 0) {
- console.log('No images found for target: ' + destFileName);
- return;
- }
- // copy images with new name but keeping scale suffix
- images.forEach(function(img) {
- var scale = path.extname(path.basename(img, srcExt));
- if (scale == '') {
- scale = '.scale-100';
- }
- copyImage(path.join(srcDir, img), destFileName+scale+destExt);
- });
-
- }
-
- // Platform default images
- var platformImages = [
- {dest: 'Square150x150Logo.scale-100.png', width: 150, height: 150},
- {dest: 'Square30x30Logo.scale-100.png', width: 30, height: 30},
- {dest: 'StoreLogo.scale-100.png', width: 50, height: 50},
- {dest: 'SplashScreen.scale-100.png', width: 620, height: 300},
- // scaled images are specified here for backward compatibility only so we can find them by size
- {dest: 'StoreLogo.scale-240.png', width: 120, height: 120},
- {dest: 'Square44x44Logo.scale-240.png', width: 106, height: 106},
- {dest: 'Square71x71Logo.scale-240.png', width: 170, height: 170},
- {dest: 'Square70x70Logo.scale-100.png', width: 70, height: 70},
- {dest: 'Square150x150Logo.scale-240.png', width: 360, height: 360},
- {dest: 'Square310x310Logo.scale-100.png', width: 310, height: 310},
- {dest: 'Wide310x150Logo.scale-100.png', width: 310, height: 150},
- {dest: 'Wide310x150Logo.scale-240.png', width: 744, height: 360},
- {dest: 'SplashScreenPhone.scale-240.png', width: 1152, height: 1920}
- ];
-
- function findPlatformImage(width, height) {
- if (!width && !height){
- // this could be default image,
- // Windows requires specific image dimension so we can't apply it
- return null;
- }
- for (var idx in platformImages){
- var res = platformImages[idx];
- // If only one of width or height is not specified, use another parameter for comparation
- // If both specified, compare both.
- if ((!width || (width == res.width)) &&
- (!height || (height == res.height))){
- return res;
- }
- }
- return null;
- }
-
- var images = config.getIcons().concat(config.getSplashScreens());
-
- images.forEach(function (img) {
- if (img.target) {
- copyMrtImage(img.src, img.target + '.png');
- } else {
- // find target image by size
- var targetImg = findPlatformImage (img.width, img.height);
- if (targetImg) {
- copyImage(img.src, targetImg.dest);
- } else {
- console.log('The following image is skipped due to unsupported size: ' + img.src);
- }
- }
- });
-}
-
-function applyBackgroundColor (config, manifest) {
-
- function refineColor(color) {
- // return three-byte hexadecimal number preceded by "#" (required for Windows)
- color = color.replace('0x', '').replace('#', '');
- if (color.length == 3) {
- color = color[0] + color[0] + color[1] + color[1] + color[2] + color[2]
- }
- // alpha is not supported, so we remove it
- if (color.length == 8) { // AArrggbb
- color = color.slice(2);
- }
- return '#' + color;
- }
- // background color
- var bgColor = config.getPreference('BackgroundColor');
- if (bgColor) {
- var visualElems = manifest.find('.//VisualElements') // windows 8.0
- || manifest.find('.//m2:VisualElements') // windows 8.1
- || manifest.find('.//m3:VisualElements'); // windows phone 8.1
- visualElems.attrib.BackgroundColor = refineColor(bgColor);
- }
-
- // Splash Screen background color
- bgColor = config.getPreference('SplashScreenBackgroundColor');
- if (bgColor) {
- var visualElems = manifest.find('.//SplashScreen') // windows 8.0
- || manifest.find('.//m2:SplashScreen') // windows 8.1
- || manifest.find('.//m3:SplashScreen'); // windows phone 8.1
- visualElems.attrib.BackgroundColor = refineColor(bgColor);
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/lib/run.js
----------------------------------------------------------------------
diff --git a/windows/template/cordova/lib/run.js b/windows/template/cordova/lib/run.js
deleted file mode 100644
index 1bd1904..0000000
--- a/windows/template/cordova/lib/run.js
+++ /dev/null
@@ -1,112 +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.
-*/
-
-var Q = require('q'),
- nopt = require('nopt'),
- path = require('path'),
- build = require('./build'),
- utils = require('./utils'),
- ConfigParser = require('./ConfigParser'),
- packages = require('./package');
-
-var ROOT = path.join(__dirname, '..', '..');
-
-module.exports.run = function (argv) {
- if (!utils.isCordovaProject(ROOT)){
- return Q.reject("Could not find project at " + ROOT);
- }
-
- // parse args
- var args = nopt({"debug": Boolean, "release": Boolean, "nobuild": Boolean,
- "device": Boolean, "emulator": Boolean, "target": String, "archs": String,
- "phone": Boolean, "win": Boolean}, {"r" : "--release"}, argv);
-
- // Validate args
- if (args.debug && args.release) {
- return Q.reject('Only one of "debug"/"release" options should be specified');
- }
- if ((args.device && args.emulator) || ((args.device || args.emulator) && args.target)) {
- return Q.reject('Only one of "device"/"emulator"/"target" options should be specified');
- }
- if (args.phone && args.win) {
- return Q.reject('Only one of "phone"/"win" options should be specified');
- }
-
- // Get build/deploy options
- var buildType = args.release ? "release" : "debug",
- buildArchs = args.archs ? args.archs.split(' ') : ["anycpu"],
- projectType = args.phone ? "phone" : "windows",
- deployTarget = args.target ? args.target : args.device ? "device" : "emulator";
-
- // for win switch we should correctly handle 8.0 and 8.1 version as per configuration
- if (projectType == 'windows' && getWindowsTargetVersion() == '8.0') {
- projectType = 'windows80'
- }
-
- // if --nobuild isn't specified then build app first
- var buildPackages = args.nobuild ? Q() : build.run(argv);
-
- return buildPackages.then(function () {
- return packages.getPackage(projectType, buildType, buildArchs[0]);
- }).then(function(pkg) {
- console.log('\nDeploying ' + pkg.type + ' package to ' + deployTarget + ':\n' + pkg.file);
- return pkg.type == "phone" ?
- packages.deployToPhone(pkg.file, deployTarget) :
- packages.deployToDesktop(pkg.file, deployTarget);
- });
-};
-
-module.exports.help = function () {
- console.log("\nUsage: run [ --device | --emulator | --target=<id> ] [ --debug | --release | --nobuild ]");
- console.log(" [ --x86 | --x64 | --arm ] [--phone | --win]");
- console.log(" --device : Deploys and runs the project on the connected device.");
- console.log(" --emulator : Deploys and runs the project on an emulator.");
- console.log(" --target=<id> : Deploys and runs the project on the specified target.");
- console.log(" --debug : Builds project in debug mode.");
- console.log(" --release : Builds project in release mode.");
- console.log(" --nobuild : Uses pre-built package, or errors if project is not built.");
- console.log(" --archs : Specific chip architectures (`anycpu`, `arm`, `x86`, `x64`).");
- console.log(" --phone, --win");
- console.log(" : Specifies project type to deploy");
- console.log("");
- console.log("Examples:");
- console.log(" run");
- console.log(" run --emulator");
- console.log(" run --device");
- console.log(" run --target=7988B8C3-3ADE-488d-BA3E-D052AC9DC710");
- console.log(" run --device --release");
- console.log(" run --emulator --debug");
- console.log("");
- process.exit(0);
-};
-
-
-function getWindowsTargetVersion() {
- var config = new ConfigParser(path.join(ROOT, 'config.xml'));
- var windowsTargetVersion = config.getPreference('windows-target-version')
- switch(windowsTargetVersion) {
- case '8':
- case '8.0':
- return '8.0'
- case '8.1':
- return '8.1'
- default:
- throw new Error('Unsupported windows-target-version value: ' + windowsTargetVersion)
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/lib/spawn.js
----------------------------------------------------------------------
diff --git a/windows/template/cordova/lib/spawn.js b/windows/template/cordova/lib/spawn.js
deleted file mode 100644
index 0ccb0f5..0000000
--- a/windows/template/cordova/lib/spawn.js
+++ /dev/null
@@ -1,40 +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.
-*/
-
-var Q = require('q'),
- proc = require('child_process');
-
-// Takes a command and optional current working directory.
-module.exports = function(cmd, args, opt_cwd) {
- var d = Q.defer();
- try {
- var child = proc.spawn(cmd, args, {cwd: opt_cwd, stdio: 'inherit'});
- child.on('exit', function(code) {
- if (code) {
- d.reject('Error code ' + code + ' for command: ' + cmd + ' with args: ' + args);
- } else {
- d.resolve();
- }
- });
- } catch(e) {
- console.error('error caught: ' + e);
- d.reject(e);
- }
- return d.promise;
-};
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/lib/utils.js
----------------------------------------------------------------------
diff --git a/windows/template/cordova/lib/utils.js b/windows/template/cordova/lib/utils.js
deleted file mode 100644
index c409b86..0000000
--- a/windows/template/cordova/lib/utils.js
+++ /dev/null
@@ -1,93 +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.
-*/
-
-var Q = require('Q'),
- fs = require('fs'),
- path = require('path'),
- exec = require('./exec'),
- spawn = require('./spawn');
-
-// returns full path to msbuild tools required to build the project and tools version
-module.exports.getMSBuildTools = function () {
- var versions = ['12.0', '4.0'];
- // create chain of promises, which returns specific msbuild version object
- // or null, if specific msbuild path not found in registry
- return Q.all(versions.map(function (version) {
- return exec(
- 'reg query HKLM\\SOFTWARE\\Microsoft\\MSBuild\\ToolsVersions\\' + version + ' /v MSBuildToolsPath'
- ).then(function(output) {
- // fetch msbuild path from 'reg' output
- var msbPath = /MSBuildToolsPath\s+REG_SZ\s+(.*)/i.exec(output);
- if (msbPath) {
- return {version: version, path: msbPath[1]};
- }
- return null;
- });
- })).then(function (versions) {
- // select first msbuild version available, and resolve promise with it
- return versions[0] || versions[1] ?
- Q.resolve(versions[0] || versions[1]) :
- // Reject promise if no msbuild versions found
- Q.reject('MSBuild tools not found');
- });
-};
-
-// unblocks and returns path to WindowsStoreAppUtils.ps1
-// which provides helper functions to install/unistall/start Windows Store app
-module.exports.getAppStoreUtils = function () {
- var appStoreUtils = path.join(__dirname, 'WindowsStoreAppUtils.ps1');
- if (!fs.existsSync (appStoreUtils)) {
- return Q.reject("Can't unblock AppStoreUtils script");
- }
- //console.log("Removing execution restrictions from AppStoreUtils...");
- return spawn('powershell', ['Unblock-File', module.exports.quote(appStoreUtils)]).then(function () {
- return Q.resolve(appStoreUtils);
- }).fail(function (err) {
- return Q.reject(err);
- });
-};
-
-// returns path to AppDeploy util from Windows Phone 8.1 SDK
-module.exports.getAppDeployUtils = function () {
- var appDeployUtils = path.join((process.env["ProgramFiles(x86)"] || process.env["ProgramFiles"]),
- 'Microsoft SDKs', 'Windows Phone', 'v8.1', 'Tools', 'AppDeploy', 'AppDeployCmd.exe');
- // Check if AppDeployCmd is exists
- if (!fs.existsSync(appDeployUtils)) {
- console.warn("WARNING: AppDeploy tool (AppDeployCmd.exe) didn't found. Assume that it's in %PATH%");
- return Q.resolve("AppDeployCmd");
- }
- return Q.resolve(appDeployUtils);
-};
-
-// checks to see if a .jsproj file exists in the project root
-module.exports.isCordovaProject = function (platformpath) {
- if (fs.existsSync(platformpath)) {
- var files = fs.readdirSync(platformpath);
- for (var i in files){
- if (path.extname(files[i]) == '.shproj'){
- return true;
- }
- }
- }
- return false;
-};
-
-module.exports.quote = function(str) {
- return '"' + str + '"';
-};
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/log.bat
----------------------------------------------------------------------
diff --git a/windows/template/cordova/log.bat b/windows/template/cordova/log.bat
deleted file mode 100644
index d23aeab..0000000
--- a/windows/template/cordova/log.bat
+++ /dev/null
@@ -1,19 +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 Sorry, logging is not supported for Windows. 1>&2
-EXIT /B 1
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/node_modules/.bin/nopt
----------------------------------------------------------------------
diff --git a/windows/template/cordova/node_modules/.bin/nopt b/windows/template/cordova/node_modules/.bin/nopt
deleted file mode 100644
index 25995f3..0000000
--- a/windows/template/cordova/node_modules/.bin/nopt
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-basedir=`dirname "$0"`
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- "$basedir/node" "$basedir/../nopt/bin/nopt.js" "$@"
- ret=$?
-else
- node "$basedir/../nopt/bin/nopt.js" "$@"
- ret=$?
-fi
-exit $ret
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/node_modules/.bin/nopt.cmd
----------------------------------------------------------------------
diff --git a/windows/template/cordova/node_modules/.bin/nopt.cmd b/windows/template/cordova/node_modules/.bin/nopt.cmd
deleted file mode 100644
index c8e8216..0000000
--- a/windows/template/cordova/node_modules/.bin/nopt.cmd
+++ /dev/null
@@ -1,5 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\nopt\bin\nopt.js" %*
-) ELSE (
- node "%~dp0\..\nopt\bin\nopt.js" %*
-)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/node_modules/elementtree/.npmignore
----------------------------------------------------------------------
diff --git a/windows/template/cordova/node_modules/elementtree/.npmignore b/windows/template/cordova/node_modules/elementtree/.npmignore
deleted file mode 100644
index 3c3629e..0000000
--- a/windows/template/cordova/node_modules/elementtree/.npmignore
+++ /dev/null
@@ -1 +0,0 @@
-node_modules
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/node_modules/elementtree/.travis.yml
----------------------------------------------------------------------
diff --git a/windows/template/cordova/node_modules/elementtree/.travis.yml b/windows/template/cordova/node_modules/elementtree/.travis.yml
deleted file mode 100644
index 6f27c96..0000000
--- a/windows/template/cordova/node_modules/elementtree/.travis.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-language: node_js
-
-node_js:
- - 0.6
-
-script: make test
-
-notifications:
- email:
- - tomaz+travisci@tomaz.me
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/node_modules/elementtree/CHANGES.md
----------------------------------------------------------------------
diff --git a/windows/template/cordova/node_modules/elementtree/CHANGES.md b/windows/template/cordova/node_modules/elementtree/CHANGES.md
deleted file mode 100644
index 83bd61b..0000000
--- a/windows/template/cordova/node_modules/elementtree/CHANGES.md
+++ /dev/null
@@ -1,34 +0,0 @@
-elementtree v0.1.5 (in development)
-
-* Fix a bug in the find() and findtext() method which could manifest itself
- under some conditions.
- [metagriffin]
-
-elementtree v0.1.4
-
-* Allow user to use namespaced attributes when using find* functions.
- [Andrew Lunny]
-
-elementtree v0.1.3
-
-* Improve the output of text content in the tags (strip unnecessary line break
- characters).
-
-[Darryl Pogue]
-
-elementtree v0.1.2
-
- * Allow user to pass 'indent' option to ElementTree.write method. If this
- option is specified (e.g. {'indent': 4}). XML will be pretty printed.
- [Darryl Pogue, Tomaz Muraus]
-
- * Bump sax dependency version.
-
-elementtree v0.1.1 - 2011-09-23
-
- * Improve special character escaping.
- [Ryan Phillips]
-
-elementtree v0.1.0 - 2011-09-05
-
- * Initial release.
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/node_modules/elementtree/LICENSE.txt
----------------------------------------------------------------------
diff --git a/windows/template/cordova/node_modules/elementtree/LICENSE.txt b/windows/template/cordova/node_modules/elementtree/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/windows/template/cordova/node_modules/elementtree/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- 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.
-
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/node_modules/elementtree/Makefile
----------------------------------------------------------------------
diff --git a/windows/template/cordova/node_modules/elementtree/Makefile b/windows/template/cordova/node_modules/elementtree/Makefile
deleted file mode 100644
index ab7c4e0..0000000
--- a/windows/template/cordova/node_modules/elementtree/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-TESTS := \
- tests/test-simple.js
-
-
-
-PATH := ./node_modules/.bin:$(PATH)
-
-WHISKEY := $(shell bash -c 'PATH=$(PATH) type -p whiskey')
-
-default: test
-
-test:
- NODE_PATH=`pwd`/lib/ ${WHISKEY} --scope-leaks --sequential --real-time --tests "${TESTS}"
-
-tap:
- NODE_PATH=`pwd`/lib/ ${WHISKEY} --test-reporter tap --sequential --real-time --tests "${TESTS}"
-
-coverage:
- NODE_PATH=`pwd`/lib/ ${WHISKEY} --sequential --coverage --coverage-reporter html --coverage-dir coverage_html --tests "${TESTS}"
-
-.PHONY: default test coverage tap scope
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/node_modules/elementtree/NOTICE
----------------------------------------------------------------------
diff --git a/windows/template/cordova/node_modules/elementtree/NOTICE b/windows/template/cordova/node_modules/elementtree/NOTICE
deleted file mode 100644
index 28ad70a..0000000
--- a/windows/template/cordova/node_modules/elementtree/NOTICE
+++ /dev/null
@@ -1,5 +0,0 @@
-node-elementtree
-Copyright (c) 2011, Rackspace, Inc.
-
-The ElementTree toolkit is Copyright (c) 1999-2007 by Fredrik Lundh
-
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/node_modules/elementtree/README.md
----------------------------------------------------------------------
diff --git a/windows/template/cordova/node_modules/elementtree/README.md b/windows/template/cordova/node_modules/elementtree/README.md
deleted file mode 100644
index 8a7e710..0000000
--- a/windows/template/cordova/node_modules/elementtree/README.md
+++ /dev/null
@@ -1,27 +0,0 @@
-node-elementtree
-====================
-
-node-elementtree is a [Node.js](http://nodejs.org) XML parser and serializer based upon the [Python ElementTree v1.3](http://effbot.org/zone/element-index.htm) module.
-
-Installation
-====================
-
- $ npm install elementtree
-
-Using the library
-====================
-
-For the usage refer to the Python ElementTree library documentation - [http://effbot.org/zone/element-index.htm#usage](http://effbot.org/zone/element-index.htm#usage).
-
-Supported XPath expressions in `find`, `findall` and `findtext` methods are listed on [http://effbot.org/zone/element-xpath.htm](http://effbot.org/zone/element-xpath.htm).
-
-Build status
-====================
-
-[![Build Status](https://secure.travis-ci.org/racker/node-elementtree.png)](http://travis-ci.org/racker/node-elementtree)
-
-
-License
-====================
-
-node-elementtree is distributed under the [Apache license](http://www.apache.org/licenses/LICENSE-2.0.html).
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/node_modules/elementtree/lib/constants.js
----------------------------------------------------------------------
diff --git a/windows/template/cordova/node_modules/elementtree/lib/constants.js b/windows/template/cordova/node_modules/elementtree/lib/constants.js
deleted file mode 100644
index b057faf..0000000
--- a/windows/template/cordova/node_modules/elementtree/lib/constants.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2011 Rackspace
- *
- * 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 DEFAULT_PARSER = 'sax';
-
-exports.DEFAULT_PARSER = DEFAULT_PARSER;
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/node_modules/elementtree/lib/elementpath.js
----------------------------------------------------------------------
diff --git a/windows/template/cordova/node_modules/elementtree/lib/elementpath.js b/windows/template/cordova/node_modules/elementtree/lib/elementpath.js
deleted file mode 100644
index 2e93f47..0000000
--- a/windows/template/cordova/node_modules/elementtree/lib/elementpath.js
+++ /dev/null
@@ -1,343 +0,0 @@
-/**
- * Copyright 2011 Rackspace
- *
- * 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 sprintf = require('./sprintf').sprintf;
-
-var utils = require('./utils');
-var SyntaxError = require('./errors').SyntaxError;
-
-var _cache = {};
-
-var RE = new RegExp(
- "(" +
- "'[^']*'|\"[^\"]*\"|" +
- "::|" +
- "//?|" +
- "\\.\\.|" +
- "\\(\\)|" +
- "[/.*:\\[\\]\\(\\)@=])|" +
- "((?:\\{[^}]+\\})?[^/\\[\\]\\(\\)@=\\s]+)|" +
- "\\s+", 'g'
-);
-
-var xpath_tokenizer = utils.findall.bind(null, RE);
-
-function prepare_tag(next, token) {
- var tag = token[0];
-
- function select(context, result) {
- var i, len, elem, rv = [];
-
- for (i = 0, len = result.length; i < len; i++) {
- elem = result[i];
- elem._children.forEach(function(e) {
- if (e.tag === tag) {
- rv.push(e);
- }
- });
- }
-
- return rv;
- }
-
- return select;
-}
-
-function prepare_star(next, token) {
- function select(context, result) {
- var i, len, elem, rv = [];
-
- for (i = 0, len = result.length; i < len; i++) {
- elem = result[i];
- elem._children.forEach(function(e) {
- rv.push(e);
- });
- }
-
- return rv;
- }
-
- return select;
-}
-
-function prepare_dot(next, token) {
- function select(context, result) {
- var i, len, elem, rv = [];
-
- for (i = 0, len = result.length; i < len; i++) {
- elem = result[i];
- rv.push(elem);
- }
-
- return rv;
- }
-
- return select;
-}
-
-function prepare_iter(next, token) {
- var tag;
- token = next();
-
- if (token[1] === '*') {
- tag = '*';
- }
- else if (!token[1]) {
- tag = token[0] || '';
- }
- else {
- throw new SyntaxError(token);
- }
-
- function select(context, result) {
- var i, len, elem, rv = [];
-
- for (i = 0, len = result.length; i < len; i++) {
- elem = result[i];
- elem.iter(tag, function(e) {
- if (e !== elem) {
- rv.push(e);
- }
- });
- }
-
- return rv;
- }
-
- return select;
-}
-
-function prepare_dot_dot(next, token) {
- function select(context, result) {
- var i, len, elem, rv = [], parent_map = context.parent_map;
-
- if (!parent_map) {
- context.parent_map = parent_map = {};
-
- context.root.iter(null, function(p) {
- p._children.forEach(function(e) {
- parent_map[e] = p;
- });
- });
- }
-
- for (i = 0, len = result.length; i < len; i++) {
- elem = result[i];
-
- if (parent_map.hasOwnProperty(elem)) {
- rv.push(parent_map[elem]);
- }
- }
-
- return rv;
- }
-
- return select;
-}
-
-
-function prepare_predicate(next, token) {
- var tag, key, value, select;
- token = next();
-
- if (token[1] === '@') {
- // attribute
- token = next();
-
- if (token[1]) {
- throw new SyntaxError(token, 'Invalid attribute predicate');
- }
-
- key = token[0];
- token = next();
-
- if (token[1] === ']') {
- select = function(context, result) {
- var i, len, elem, rv = [];
-
- for (i = 0, len = result.length; i < len; i++) {
- elem = result[i];
-
- if (elem.get(key)) {
- rv.push(elem);
- }
- }
-
- return rv;
- };
- }
- else if (token[1] === '=') {
- value = next()[1];
-
- if (value[0] === '"' || value[value.length - 1] === '\'') {
- value = value.slice(1, value.length - 1);
- }
- else {
- throw new SyntaxError(token, 'Ivalid comparison target');
- }
-
- token = next();
- select = function(context, result) {
- var i, len, elem, rv = [];
-
- for (i = 0, len = result.length; i < len; i++) {
- elem = result[i];
-
- if (elem.get(key) === value) {
- rv.push(elem);
- }
- }
-
- return rv;
- };
- }
-
- if (token[1] !== ']') {
- throw new SyntaxError(token, 'Invalid attribute predicate');
- }
- }
- else if (!token[1]) {
- tag = token[0] || '';
- token = next();
-
- if (token[1] !== ']') {
- throw new SyntaxError(token, 'Invalid node predicate');
- }
-
- select = function(context, result) {
- var i, len, elem, rv = [];
-
- for (i = 0, len = result.length; i < len; i++) {
- elem = result[i];
-
- if (elem.find(tag)) {
- rv.push(elem);
- }
- }
-
- return rv;
- };
- }
- else {
- throw new SyntaxError(null, 'Invalid predicate');
- }
-
- return select;
-}
-
-
-
-var ops = {
- "": prepare_tag,
- "*": prepare_star,
- ".": prepare_dot,
- "..": prepare_dot_dot,
- "//": prepare_iter,
- "[": prepare_predicate,
-};
-
-function _SelectorContext(root) {
- this.parent_map = null;
- this.root = root;
-}
-
-function findall(elem, path) {
- var selector, result, i, len, token, value, select, context;
-
- if (_cache.hasOwnProperty(path)) {
- selector = _cache[path];
- }
- else {
- // TODO: Use smarter cache purging approach
- if (Object.keys(_cache).length > 100) {
- _cache = {};
- }
-
- if (path.charAt(0) === '/') {
- throw new SyntaxError(null, 'Cannot use absolute path on element');
- }
-
- result = xpath_tokenizer(path);
- selector = [];
-
- function getToken() {
- return result.shift();
- }
-
- token = getToken();
- while (true) {
- var c = token[1] || '';
- value = ops[c](getToken, token);
-
- if (!value) {
- throw new SyntaxError(null, sprintf('Invalid path: %s', path));
- }
-
- selector.push(value);
- token = getToken();
-
- if (!token) {
- break;
- }
- else if (token[1] === '/') {
- token = getToken();
- }
-
- if (!token) {
- break;
- }
- }
-
- _cache[path] = selector;
- }
-
- // Execute slector pattern
- result = [elem];
- context = new _SelectorContext(elem);
-
- for (i = 0, len = selector.length; i < len; i++) {
- select = selector[i];
- result = select(context, result);
- }
-
- return result || [];
-}
-
-function find(element, path) {
- var resultElements = findall(element, path);
-
- if (resultElements && resultElements.length > 0) {
- return resultElements[0];
- }
-
- return null;
-}
-
-function findtext(element, path, defvalue) {
- var resultElements = findall(element, path);
-
- if (resultElements && resultElements.length > 0) {
- return resultElements[0].text;
- }
-
- return defvalue;
-}
-
-
-exports.find = find;
-exports.findall = findall;
-exports.findtext = findtext;
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/node_modules/elementtree/lib/elementtree.js
----------------------------------------------------------------------
diff --git a/windows/template/cordova/node_modules/elementtree/lib/elementtree.js b/windows/template/cordova/node_modules/elementtree/lib/elementtree.js
deleted file mode 100644
index b46268c..0000000
--- a/windows/template/cordova/node_modules/elementtree/lib/elementtree.js
+++ /dev/null
@@ -1,598 +0,0 @@
-/**
- * Copyright 2011 Rackspace
- *
- * 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 sprintf = require('./sprintf').sprintf;
-
-var utils = require('./utils');
-var ElementPath = require('./elementpath');
-var TreeBuilder = require('./treebuilder').TreeBuilder;
-var get_parser = require('./parser').get_parser;
-var constants = require('./constants');
-
-var element_ids = 0;
-
-function Element(tag, attrib)
-{
- this._id = element_ids++;
- this.tag = tag;
- this.attrib = {};
- this.text = null;
- this.tail = null;
- this._children = [];
-
- if (attrib) {
- this.attrib = utils.merge(this.attrib, attrib);
- }
-}
-
-Element.prototype.toString = function()
-{
- return sprintf("<Element %s at %s>", this.tag, this._id);
-};
-
-Element.prototype.makeelement = function(tag, attrib)
-{
- return new Element(tag, attrib);
-};
-
-Element.prototype.len = function()
-{
- return this._children.length;
-};
-
-Element.prototype.getItem = function(index)
-{
- return this._children[index];
-};
-
-Element.prototype.setItem = function(index, element)
-{
- this._children[index] = element;
-};
-
-Element.prototype.delItem = function(index)
-{
- this._children.splice(index, 1);
-};
-
-Element.prototype.getSlice = function(start, stop)
-{
- return this._children.slice(start, stop);
-};
-
-Element.prototype.setSlice = function(start, stop, elements)
-{
- var i;
- var k = 0;
- for (i = start; i < stop; i++, k++) {
- this._children[i] = elements[k];
- }
-};
-
-Element.prototype.delSlice = function(start, stop)
-{
- this._children.splice(start, stop - start);
-};
-
-Element.prototype.append = function(element)
-{
- this._children.push(element);
-};
-
-Element.prototype.extend = function(elements)
-{
- this._children.concat(elements);
-};
-
-Element.prototype.insert = function(index, element)
-{
- this._children[index] = element;
-};
-
-Element.prototype.remove = function(index, element)
-{
- this._children = this._children.filter(function(e) {
- /* TODO: is this the right way to do this? */
- if (e._id === element._id) {
- return false;
- }
- return true;
- });
-};
-
-Element.prototype.getchildren = function() {
- return this._children;
-};
-
-Element.prototype.find = function(path)
-{
- return ElementPath.find(this, path);
-};
-
-Element.prototype.findtext = function(path, defvalue)
-{
- return ElementPath.findtext(this, path, defvalue);
-};
-
-Element.prototype.findall = function(path, defvalue)
-{
- return ElementPath.findall(this, path, defvalue);
-};
-
-Element.prototype.clear = function()
-{
- this.attrib = {};
- this._children = [];
- this.text = null;
- this.tail = null;
-};
-
-Element.prototype.get = function(key, defvalue)
-{
- if (this.attrib[key] !== undefined) {
- return this.attrib[key];
- }
- else {
- return defvalue;
- }
-};
-
-Element.prototype.set = function(key, value)
-{
- this.attrib[key] = value;
-};
-
-Element.prototype.keys = function()
-{
- return Object.keys(this.attrib);
-};
-
-Element.prototype.items = function()
-{
- return utils.items(this.attrib);
-};
-
-/*
- * In python this uses a generator, but in v8 we don't have em,
- * so we use a callback instead.
- **/
-Element.prototype.iter = function(tag, callback)
-{
- var self = this;
- var i, child;
-
- if (tag === "*") {
- tag = null;
- }
-
- if (tag === null || this.tag === tag) {
- callback(self);
- }
-
- for (i = 0; i < this._children.length; i++) {
- child = this._children[i];
- child.iter(tag, function(e) {
- callback(e);
- });
- }
-};
-
-Element.prototype.itertext = function(callback)
-{
- this.iter(null, function(e) {
- if (e.text) {
- callback(e.text);
- }
-
- if (e.tail) {
- callback(e.tail);
- }
- });
-};
-
-
-function SubElement(parent, tag, attrib) {
- var element = parent.makeelement(tag, attrib);
- parent.append(element);
- return element;
-}
-
-function Comment(text) {
- var element = new Element(Comment);
- if (text) {
- element.text = text;
- }
- return element;
-}
-
-function ProcessingInstruction(target, text)
-{
- var element = new Element(ProcessingInstruction);
- element.text = target;
- if (text) {
- element.text = element.text + " " + text;
- }
- return element;
-}
-
-function QName(text_or_uri, tag)
-{
- if (tag) {
- text_or_uri = sprintf("{%s}%s", text_or_uri, tag);
- }
- this.text = text_or_uri;
-}
-
-QName.prototype.toString = function() {
- return this.text;
-};
-
-function ElementTree(element)
-{
- this._root = element;
-}
-
-ElementTree.prototype.getroot = function() {
- return this._root;
-};
-
-ElementTree.prototype._setroot = function(element) {
- this._root = element;
-};
-
-ElementTree.prototype.parse = function(source, parser) {
- if (!parser) {
- parser = get_parser(constants.DEFAULT_PARSER);
- parser = new parser.XMLParser(new TreeBuilder());
- }
-
- parser.feed(source);
- this._root = parser.close();
- return this._root;
-};
-
-ElementTree.prototype.iter = function(tag, callback) {
- this._root.iter(tag, callback);
-};
-
-ElementTree.prototype.find = function(path) {
- return this._root.find(path);
-};
-
-ElementTree.prototype.findtext = function(path, defvalue) {
- return this._root.findtext(path, defvalue);
-};
-
-ElementTree.prototype.findall = function(path) {
- return this._root.findall(path);
-};
-
-/**
- * Unlike ElementTree, we don't write to a file, we return you a string.
- */
-ElementTree.prototype.write = function(options) {
- var sb = [];
- options = utils.merge({
- encoding: 'utf-8',
- xml_declaration: null,
- default_namespace: null,
- method: 'xml'}, options);
-
- if (options.xml_declaration !== false) {
- sb.push("<?xml version='1.0' encoding='"+options.encoding +"'?>\n");
- }
-
- if (options.method === "text") {
- _serialize_text(sb, self._root, encoding);
- }
- else {
- var qnames, namespaces, indent, indent_string;
- var x = _namespaces(this._root, options.encoding, options.default_namespace);
- qnames = x[0];
- namespaces = x[1];
-
- if (options.hasOwnProperty('indent')) {
- indent = 0;
- indent_string = new Array(options.indent + 1).join(' ');
- }
- else {
- indent = false;
- }
-
- if (options.method === "xml") {
- _serialize_xml(function(data) {
- sb.push(data);
- }, this._root, options.encoding, qnames, namespaces, indent, indent_string);
- }
- else {
- /* TODO: html */
- throw new Error("unknown serialization method "+ options.method);
- }
- }
-
- return sb.join("");
-};
-
-var _namespace_map = {
- /* "well-known" namespace prefixes */
- "http://www.w3.org/XML/1998/namespace": "xml",
- "http://www.w3.org/1999/xhtml": "html",
- "http://www.w3.org/1999/02/22-rdf-syntax-ns#": "rdf",
- "http://schemas.xmlsoap.org/wsdl/": "wsdl",
- /* xml schema */
- "http://www.w3.org/2001/XMLSchema": "xs",
- "http://www.w3.org/2001/XMLSchema-instance": "xsi",
- /* dublic core */
- "http://purl.org/dc/elements/1.1/": "dc",
-};
-
-function register_namespace(prefix, uri) {
- if (/ns\d+$/.test(prefix)) {
- throw new Error('Prefix format reserved for internal use');
- }
-
- if (_namespace_map.hasOwnProperty(uri) && _namespace_map[uri] === prefix) {
- delete _namespace_map[uri];
- }
-
- _namespace_map[uri] = prefix;
-}
-
-
-function _escape(text, encoding, isAttribute, isText) {
- if (text) {
- text = text.toString();
- text = text.replace(/&/g, '&');
- text = text.replace(/</g, '<');
- text = text.replace(/>/g, '>');
- if (!isText) {
- text = text.replace(/\n/g, '
');
- text = text.replace(/\r/g, '
');
- }
- if (isAttribute) {
- text = text.replace(/"/g, '"');
- }
- }
- return text;
-}
-
-/* TODO: benchmark single regex */
-function _escape_attrib(text, encoding) {
- return _escape(text, encoding, true);
-}
-
-function _escape_cdata(text, encoding) {
- return _escape(text, encoding, false);
-}
-
-function _escape_text(text, encoding) {
- return _escape(text, encoding, false, true);
-}
-
-function _namespaces(elem, encoding, default_namespace) {
- var qnames = {};
- var namespaces = {};
-
- if (default_namespace) {
- namespaces[default_namespace] = "";
- }
-
- function encode(text) {
- return text;
- }
-
- function add_qname(qname) {
- if (qname[0] === "{") {
- var tmp = qname.substring(1).split("}", 2);
- var uri = tmp[0];
- var tag = tmp[1];
- var prefix = namespaces[uri];
-
- if (prefix === undefined) {
- prefix = _namespace_map[uri];
- if (prefix === undefined) {
- prefix = "ns" + Object.keys(namespaces).length;
- }
- if (prefix !== "xml") {
- namespaces[uri] = prefix;
- }
- }
-
- if (prefix) {
- qnames[qname] = sprintf("%s:%s", prefix, tag);
- }
- else {
- qnames[qname] = tag;
- }
- }
- else {
- if (default_namespace) {
- throw new Error('cannot use non-qualified names with default_namespace option');
- }
-
- qnames[qname] = qname;
- }
- }
-
-
- elem.iter(null, function(e) {
- var i;
- var tag = e.tag;
- var text = e.text;
- var items = e.items();
-
- if (tag instanceof QName && qnames[tag.text] === undefined) {
- add_qname(tag.text);
- }
- else if (typeof(tag) === "string") {
- add_qname(tag);
- }
- else if (tag !== null && tag !== Comment && tag !== ProcessingInstruction) {
- throw new Error('Invalid tag type for serialization: '+ tag);
- }
-
- if (text instanceof QName && qnames[text.text] === undefined) {
- add_qname(text.text);
- }
-
- items.forEach(function(item) {
- var key = item[0],
- value = item[1];
- if (key instanceof QName) {
- key = key.text;
- }
-
- if (qnames[key] === undefined) {
- add_qname(key);
- }
-
- if (value instanceof QName && qnames[value.text] === undefined) {
- add_qname(value.text);
- }
- });
- });
- return [qnames, namespaces];
-}
-
-function _serialize_xml(write, elem, encoding, qnames, namespaces, indent, indent_string) {
- var tag = elem.tag;
- var text = elem.text;
- var items;
- var i;
-
- var newlines = indent || (indent === 0);
- write(Array(indent + 1).join(indent_string));
-
- if (tag === Comment) {
- write(sprintf("<!--%s-->", _escape_cdata(text, encoding)));
- }
- else if (tag === ProcessingInstruction) {
- write(sprintf("<?%s?>", _escape_cdata(text, encoding)));
- }
- else {
- tag = qnames[tag];
- if (tag === undefined) {
- if (text) {
- write(_escape_text(text, encoding));
- }
- elem.iter(function(e) {
- _serialize_xml(write, e, encoding, qnames, null, newlines ? indent + 1 : false, indent_string);
- });
- }
- else {
- write("<" + tag);
- items = elem.items();
-
- if (items || namespaces) {
- items.sort(); // lexical order
-
- items.forEach(function(item) {
- var k = item[0],
- v = item[1];
-
- if (k instanceof QName) {
- k = k.text;
- }
-
- if (v instanceof QName) {
- v = qnames[v.text];
- }
- else {
- v = _escape_attrib(v, encoding);
- }
- write(sprintf(" %s=\"%s\"", qnames[k], v));
- });
-
- if (namespaces) {
- items = utils.items(namespaces);
- items.sort(function(a, b) { return a[1] < b[1]; });
-
- items.forEach(function(item) {
- var k = item[1],
- v = item[0];
-
- if (k) {
- k = ':' + k;
- }
-
- write(sprintf(" xmlns%s=\"%s\"", k, _escape_attrib(v, encoding)));
- });
- }
- }
-
- if (text || elem.len()) {
- if (text && text.toString().match(/^\s*$/)) {
- text = null;
- }
-
- write(">");
- if (!text && newlines) {
- write("\n");
- }
-
- if (text) {
- write(_escape_text(text, encoding));
- }
- elem._children.forEach(function(e) {
- _serialize_xml(write, e, encoding, qnames, null, newlines ? indent + 1 : false, indent_string);
- });
-
- if (!text && indent) {
- write(Array(indent + 1).join(indent_string));
- }
- write("</" + tag + ">");
- }
- else {
- write(" />");
- }
- }
- }
-
- if (newlines) {
- write("\n");
- }
-}
-
-function parse(source, parser) {
- var tree = new ElementTree();
- tree.parse(source, parser);
- return tree;
-}
-
-function tostring(element, options) {
- return new ElementTree(element).write(options);
-}
-
-exports.PI = ProcessingInstruction;
-exports.Comment = Comment;
-exports.ProcessingInstruction = ProcessingInstruction;
-exports.SubElement = SubElement;
-exports.QName = QName;
-exports.ElementTree = ElementTree;
-exports.ElementPath = ElementPath;
-exports.Element = function(tag, attrib) {
- return new Element(tag, attrib);
-};
-
-exports.XML = function(data) {
- var et = new ElementTree();
- return et.parse(data);
-};
-
-exports.parse = parse;
-exports.register_namespace = register_namespace;
-exports.tostring = tostring;
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/node_modules/elementtree/lib/errors.js
----------------------------------------------------------------------
diff --git a/windows/template/cordova/node_modules/elementtree/lib/errors.js b/windows/template/cordova/node_modules/elementtree/lib/errors.js
deleted file mode 100644
index e8742be..0000000
--- a/windows/template/cordova/node_modules/elementtree/lib/errors.js
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Copyright 2011 Rackspace
- *
- * 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 util = require('util');
-
-var sprintf = require('./sprintf').sprintf;
-
-function SyntaxError(token, msg) {
- msg = msg || sprintf('Syntax Error at token %s', token.toString());
- this.token = token;
- this.message = msg;
- Error.call(this, msg);
-}
-
-util.inherits(SyntaxError, Error);
-
-exports.SyntaxError = SyntaxError;
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/node_modules/elementtree/lib/parser.js
----------------------------------------------------------------------
diff --git a/windows/template/cordova/node_modules/elementtree/lib/parser.js b/windows/template/cordova/node_modules/elementtree/lib/parser.js
deleted file mode 100644
index 7307ee4..0000000
--- a/windows/template/cordova/node_modules/elementtree/lib/parser.js
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright 2011 Rackspace
- *
- * 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.
- *
- */
-
-/* TODO: support node-expat C++ module optionally */
-
-var util = require('util');
-var parsers = require('./parsers/index');
-
-function get_parser(name) {
- if (name === 'sax') {
- return parsers.sax;
- }
- else {
- throw new Error('Invalid parser: ' + name);
- }
-}
-
-
-exports.get_parser = get_parser;
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/node_modules/elementtree/lib/parsers/index.js
----------------------------------------------------------------------
diff --git a/windows/template/cordova/node_modules/elementtree/lib/parsers/index.js b/windows/template/cordova/node_modules/elementtree/lib/parsers/index.js
deleted file mode 100644
index 5eac5c8..0000000
--- a/windows/template/cordova/node_modules/elementtree/lib/parsers/index.js
+++ /dev/null
@@ -1 +0,0 @@
-exports.sax = require('./sax');
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/node_modules/elementtree/lib/parsers/sax.js
----------------------------------------------------------------------
diff --git a/windows/template/cordova/node_modules/elementtree/lib/parsers/sax.js b/windows/template/cordova/node_modules/elementtree/lib/parsers/sax.js
deleted file mode 100644
index 69b0a59..0000000
--- a/windows/template/cordova/node_modules/elementtree/lib/parsers/sax.js
+++ /dev/null
@@ -1,56 +0,0 @@
-var util = require('util');
-
-var sax = require('sax');
-
-var TreeBuilder = require('./../treebuilder').TreeBuilder;
-
-function XMLParser(target) {
- this.parser = sax.parser(true);
-
- this.target = (target) ? target : new TreeBuilder();
-
- this.parser.onopentag = this._handleOpenTag.bind(this);
- this.parser.ontext = this._handleText.bind(this);
- this.parser.oncdata = this._handleCdata.bind(this);
- this.parser.ondoctype = this._handleDoctype.bind(this);
- this.parser.oncomment = this._handleComment.bind(this);
- this.parser.onclosetag = this._handleCloseTag.bind(this);
- this.parser.onerror = this._handleError.bind(this);
-}
-
-XMLParser.prototype._handleOpenTag = function(tag) {
- this.target.start(tag.name, tag.attributes);
-};
-
-XMLParser.prototype._handleText = function(text) {
- this.target.data(text);
-};
-
-XMLParser.prototype._handleCdata = function(text) {
- this.target.data(text);
-};
-
-XMLParser.prototype._handleDoctype = function(text) {
-};
-
-XMLParser.prototype._handleComment = function(comment) {
-};
-
-XMLParser.prototype._handleCloseTag = function(tag) {
- this.target.end(tag);
-};
-
-XMLParser.prototype._handleError = function(err) {
- throw err;
-};
-
-XMLParser.prototype.feed = function(chunk) {
- this.parser.write(chunk);
-};
-
-XMLParser.prototype.close = function() {
- this.parser.close();
- return this.target.close();
-};
-
-exports.XMLParser = XMLParser;
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/node_modules/elementtree/lib/sprintf.js
----------------------------------------------------------------------
diff --git a/windows/template/cordova/node_modules/elementtree/lib/sprintf.js b/windows/template/cordova/node_modules/elementtree/lib/sprintf.js
deleted file mode 100644
index f802c1b..0000000
--- a/windows/template/cordova/node_modules/elementtree/lib/sprintf.js
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright 2011 Rackspace
- *
- * 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 cache = {};
-
-
-// Do any others need escaping?
-var TO_ESCAPE = {
- '\'': '\\\'',
- '\n': '\\n'
-};
-
-
-function populate(formatter) {
- var i, type,
- key = formatter,
- prev = 0,
- arg = 1,
- builder = 'return \'';
-
- for (i = 0; i < formatter.length; i++) {
- if (formatter[i] === '%') {
- type = formatter[i + 1];
-
- switch (type) {
- case 's':
- builder += formatter.slice(prev, i) + '\' + arguments[' + arg + '] + \'';
- prev = i + 2;
- arg++;
- break;
- case 'j':
- builder += formatter.slice(prev, i) + '\' + JSON.stringify(arguments[' + arg + ']) + \'';
- prev = i + 2;
- arg++;
- break;
- case '%':
- builder += formatter.slice(prev, i + 1);
- prev = i + 2;
- i++;
- break;
- }
-
-
- } else if (TO_ESCAPE[formatter[i]]) {
- builder += formatter.slice(prev, i) + TO_ESCAPE[formatter[i]];
- prev = i + 1;
- }
- }
-
- builder += formatter.slice(prev) + '\';';
- cache[key] = new Function(builder);
-}
-
-
-/**
- * A fast version of sprintf(), which currently only supports the %s and %j.
- * This caches a formatting function for each format string that is used, so
- * you should only use this sprintf() will be called many times with a single
- * format string and a limited number of format strings will ever be used (in
- * general this means that format strings should be string literals).
- *
- * @param {String} formatter A format string.
- * @param {...String} var_args Values that will be formatted by %s and %j.
- * @return {String} The formatted output.
- */
-exports.sprintf = function(formatter, var_args) {
- if (!cache[formatter]) {
- populate(formatter);
- }
-
- return cache[formatter].apply(null, arguments);
-};
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/node_modules/elementtree/lib/treebuilder.js
----------------------------------------------------------------------
diff --git a/windows/template/cordova/node_modules/elementtree/lib/treebuilder.js b/windows/template/cordova/node_modules/elementtree/lib/treebuilder.js
deleted file mode 100644
index 393a98f..0000000
--- a/windows/template/cordova/node_modules/elementtree/lib/treebuilder.js
+++ /dev/null
@@ -1,60 +0,0 @@
-function TreeBuilder(element_factory) {
- this._data = [];
- this._elem = [];
- this._last = null;
- this._tail = null;
- if (!element_factory) {
- /* evil circular dep */
- element_factory = require('./elementtree').Element;
- }
- this._factory = element_factory;
-}
-
-TreeBuilder.prototype.close = function() {
- return this._last;
-};
-
-TreeBuilder.prototype._flush = function() {
- if (this._data) {
- if (this._last !== null) {
- var text = this._data.join("");
- if (this._tail) {
- this._last.tail = text;
- }
- else {
- this._last.text = text;
- }
- }
- this._data = [];
- }
-};
-
-TreeBuilder.prototype.data = function(data) {
- this._data.push(data);
-};
-
-TreeBuilder.prototype.start = function(tag, attrs) {
- this._flush();
- var elem = this._factory(tag, attrs);
- this._last = elem;
-
- if (this._elem.length) {
- this._elem[this._elem.length - 1].append(elem);
- }
-
- this._elem.push(elem);
-
- this._tail = null;
-};
-
-TreeBuilder.prototype.end = function(tag) {
- this._flush();
- this._last = this._elem.pop();
- if (this._last.tag !== tag) {
- throw new Error("end tag mismatch");
- }
- this._tail = 1;
- return this._last;
-};
-
-exports.TreeBuilder = TreeBuilder;
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/node_modules/elementtree/lib/utils.js
----------------------------------------------------------------------
diff --git a/windows/template/cordova/node_modules/elementtree/lib/utils.js b/windows/template/cordova/node_modules/elementtree/lib/utils.js
deleted file mode 100644
index b08a670..0000000
--- a/windows/template/cordova/node_modules/elementtree/lib/utils.js
+++ /dev/null
@@ -1,72 +0,0 @@
-/**
- * Copyright 2011 Rackspace
- *
- * 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.
- *
- */
-
-/**
- * @param {Object} hash.
- * @param {Array} ignored.
- */
-function items(hash, ignored) {
- ignored = ignored || null;
- var k, rv = [];
-
- function is_ignored(key) {
- if (!ignored || ignored.length === 0) {
- return false;
- }
-
- return ignored.indexOf(key);
- }
-
- for (k in hash) {
- if (hash.hasOwnProperty(k) && !(is_ignored(ignored))) {
- rv.push([k, hash[k]]);
- }
- }
-
- return rv;
-}
-
-
-function findall(re, str) {
- var match, matches = [];
-
- while ((match = re.exec(str))) {
- matches.push(match);
- }
-
- return matches;
-}
-
-function merge(a, b) {
- var c = {}, attrname;
-
- for (attrname in a) {
- if (a.hasOwnProperty(attrname)) {
- c[attrname] = a[attrname];
- }
- }
- for (attrname in b) {
- if (b.hasOwnProperty(attrname)) {
- c[attrname] = b[attrname];
- }
- }
- return c;
-}
-
-exports.items = items;
-exports.findall = findall;
-exports.merge = merge;
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/node_modules/elementtree/node_modules/sax/AUTHORS
----------------------------------------------------------------------
diff --git a/windows/template/cordova/node_modules/elementtree/node_modules/sax/AUTHORS b/windows/template/cordova/node_modules/elementtree/node_modules/sax/AUTHORS
deleted file mode 100644
index 26d8659..0000000
--- a/windows/template/cordova/node_modules/elementtree/node_modules/sax/AUTHORS
+++ /dev/null
@@ -1,9 +0,0 @@
-# contributors sorted by whether or not they're me.
-Isaac Z. Schlueter <i...@izs.me>
-Stein Martin Hustad <st...@hustad.com>
-Mikeal Rogers <mi...@gmail.com>
-Laurie Harper <la...@holoweb.net>
-Jann Horn <ja...@Jann-PC.fritz.box>
-Elijah Insua <tm...@gmail.com>
-Henry Rawas <he...@schakra.com>
-Justin Makeig <jm...@makeig.com>
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/f4e2ac6a/windows/template/cordova/node_modules/elementtree/node_modules/sax/LICENSE
----------------------------------------------------------------------
diff --git a/windows/template/cordova/node_modules/elementtree/node_modules/sax/LICENSE b/windows/template/cordova/node_modules/elementtree/node_modules/sax/LICENSE
deleted file mode 100644
index 05a4010..0000000
--- a/windows/template/cordova/node_modules/elementtree/node_modules/sax/LICENSE
+++ /dev/null
@@ -1,23 +0,0 @@
-Copyright 2009, 2010, 2011 Isaac Z. Schlueter.
-All rights reserved.
-
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of this software and associated documentation
-files (the "Software"), to deal in the Software without
-restriction, including without limitation the rights to use,
-copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following
-conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.