You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by st...@apache.org on 2016/07/27 01:04:00 UTC

[2/5] android commit: updated cordoova-common to 1.4.0

updated cordoova-common to 1.4.0


Project: http://git-wip-us.apache.org/repos/asf/cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-android/commit/a5a8868d
Tree: http://git-wip-us.apache.org/repos/asf/cordova-android/tree/a5a8868d
Diff: http://git-wip-us.apache.org/repos/asf/cordova-android/diff/a5a8868d

Branch: refs/heads/5.2.x
Commit: a5a8868d385460975c2bd5832cc796b756d69089
Parents: 81e5179
Author: Steve Gill <st...@gmail.com>
Authored: Fri Jul 22 12:24:27 2016 -0700
Committer: Steve Gill <st...@gmail.com>
Committed: Tue Jul 26 13:23:45 2016 -0700

----------------------------------------------------------------------
 node_modules/.bin/nopt                          |  16 +--
 node_modules/.bin/nopt.cmd                      |   7 --
 node_modules/.bin/semver                        |  16 +--
 node_modules/.bin/semver.cmd                    |   7 --
 node_modules/.bin/shjs                          |  16 +--
 node_modules/.bin/shjs.cmd                      |   7 --
 node_modules/abbrev/package.json                |   6 +-
 node_modules/ansi/package.json                  |   6 +-
 node_modules/balanced-match/README.md           |   4 +-
 node_modules/balanced-match/index.js            |   2 +-
 node_modules/balanced-match/package.json        |  28 ++---
 node_modules/base64-js/package.json             |   6 +-
 node_modules/big-integer/package.json           |   6 +-
 node_modules/bplist-parser/package.json         |   6 +-
 node_modules/brace-expansion/index.js           |  10 ++
 node_modules/brace-expansion/package.json       |  26 ++--
 node_modules/concat-map/package.json            |   6 +-
 node_modules/cordova-common/README.md           |  14 +--
 node_modules/cordova-common/RELEASENOTES.md     |   3 +
 node_modules/cordova-common/package.json        |  42 +++----
 .../src/ConfigChanges/ConfigChanges.js          | 108 ++++++++++++++--
 .../src/ConfigChanges/ConfigFile.js             |  20 ++-
 .../src/ConfigChanges/munge-util.js             |   3 +
 node_modules/cordova-common/src/PlatformJson.js |   5 +-
 .../cordova-common/src/PluginInfo/PluginInfo.js |  18 ++-
 .../cordova-common/src/PluginManager.js         |   2 +-
 .../cordova-common/src/util/xml-helpers.js      | 124 ++++++++++++++-----
 .../cordova-registry-mapper/package.json        |   6 +-
 node_modules/elementtree/package.json           |   6 +-
 node_modules/glob/package.json                  |   6 +-
 node_modules/inflight/package.json              |   6 +-
 node_modules/inherits/package.json              |   6 +-
 node_modules/lodash/package.json                |   6 +-
 node_modules/minimatch/package.json             |   6 +-
 node_modules/nopt/package.json                  |   6 +-
 node_modules/once/package.json                  |   6 +-
 node_modules/os-homedir/package.json            |   6 +-
 node_modules/os-tmpdir/package.json             |   6 +-
 node_modules/osenv/package.json                 |   6 +-
 node_modules/path-is-absolute/package.json      |   6 +-
 node_modules/plist/package.json                 |   6 +-
 node_modules/properties-parser/package.json     |   6 +-
 node_modules/q/package.json                     |   6 +-
 node_modules/sax/package.json                   |   6 +-
 node_modules/semver/README.md                   |   4 +
 node_modules/semver/package.json                |  22 ++--
 node_modules/semver/semver.js                   |  19 ++-
 node_modules/shelljs/package.json               |   6 +-
 node_modules/underscore/package.json            |   6 +-
 node_modules/unorm/package.json                 |   6 +-
 node_modules/util-deprecate/package.json        |   6 +-
 node_modules/wrappy/package.json                |   6 +-
 node_modules/xmlbuilder/package.json            |   6 +-
 node_modules/xmldom/package.json                |   6 +-
 package.json                                    |   2 +-
 55 files changed, 426 insertions(+), 279 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/.bin/nopt
----------------------------------------------------------------------
diff --git a/node_modules/.bin/nopt b/node_modules/.bin/nopt
index 714334e..6b6566e 120000
--- a/node_modules/.bin/nopt
+++ b/node_modules/.bin/nopt
@@ -1,15 +1 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-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
+../nopt/bin/nopt.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/.bin/nopt.cmd
----------------------------------------------------------------------
diff --git a/node_modules/.bin/nopt.cmd b/node_modules/.bin/nopt.cmd
deleted file mode 100644
index 1626454..0000000
--- a/node_modules/.bin/nopt.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
-  "%~dp0\node.exe"  "%~dp0\..\nopt\bin\nopt.js" %*
-) ELSE (
-  @SETLOCAL
-  @SET PATHEXT=%PATHEXT:;.JS;=;%
-  node  "%~dp0\..\nopt\bin\nopt.js" %*
-)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/.bin/semver
----------------------------------------------------------------------
diff --git a/node_modules/.bin/semver b/node_modules/.bin/semver
index d592e69..317eb29 120000
--- a/node_modules/.bin/semver
+++ b/node_modules/.bin/semver
@@ -1,15 +1 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
-    *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
-  "$basedir/node"  "$basedir/../semver/bin/semver" "$@"
-  ret=$?
-else 
-  node  "$basedir/../semver/bin/semver" "$@"
-  ret=$?
-fi
-exit $ret
+../semver/bin/semver
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/.bin/semver.cmd
----------------------------------------------------------------------
diff --git a/node_modules/.bin/semver.cmd b/node_modules/.bin/semver.cmd
deleted file mode 100644
index 37c00a4..0000000
--- a/node_modules/.bin/semver.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
-  "%~dp0\node.exe"  "%~dp0\..\semver\bin\semver" %*
-) ELSE (
-  @SETLOCAL
-  @SET PATHEXT=%PATHEXT:;.JS;=;%
-  node  "%~dp0\..\semver\bin\semver" %*
-)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/.bin/shjs
----------------------------------------------------------------------
diff --git a/node_modules/.bin/shjs b/node_modules/.bin/shjs
index 1d45691..a044997 120000
--- a/node_modules/.bin/shjs
+++ b/node_modules/.bin/shjs
@@ -1,15 +1 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
-    *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
-  "$basedir/node"  "$basedir/../shelljs/bin/shjs" "$@"
-  ret=$?
-else 
-  node  "$basedir/../shelljs/bin/shjs" "$@"
-  ret=$?
-fi
-exit $ret
+../shelljs/bin/shjs
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/.bin/shjs.cmd
----------------------------------------------------------------------
diff --git a/node_modules/.bin/shjs.cmd b/node_modules/.bin/shjs.cmd
deleted file mode 100644
index 3d98b0b..0000000
--- a/node_modules/.bin/shjs.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@IF EXIST "%~dp0\node.exe" (
-  "%~dp0\node.exe"  "%~dp0\..\shelljs\bin\shjs" %*
-) ELSE (
-  @SETLOCAL
-  @SET PATHEXT=%PATHEXT:;.JS;=;%
-  node  "%~dp0\..\shelljs\bin\shjs" %*
-)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/abbrev/package.json
----------------------------------------------------------------------
diff --git a/node_modules/abbrev/package.json b/node_modules/abbrev/package.json
index c3c22be..38e7f25 100644
--- a/node_modules/abbrev/package.json
+++ b/node_modules/abbrev/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.0.0 <2.0.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\nopt"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/nopt"
     ]
   ],
   "_from": "abbrev@>=1.0.0 <2.0.0",
@@ -41,11 +41,11 @@
   "_requiredBy": [
     "/nopt"
   ],
-  "_resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
+  "_resolved": "http://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
   "_shasum": "91b4792588a7738c25f35dd6f63752a2f8776135",
   "_shrinkwrap": null,
   "_spec": "abbrev@1",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\nopt",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/nopt",
   "author": {
     "name": "Isaac Z. Schlueter",
     "email": "i@izs.me"

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/ansi/package.json
----------------------------------------------------------------------
diff --git a/node_modules/ansi/package.json b/node_modules/ansi/package.json
index 157ed2d..5569642 100644
--- a/node_modules/ansi/package.json
+++ b/node_modules/ansi/package.json
@@ -10,7 +10,7 @@
         "spec": ">=0.3.1 <0.4.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\cordova-common"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common"
     ]
   ],
   "_from": "ansi@>=0.3.1 <0.4.0",
@@ -37,11 +37,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz",
+  "_resolved": "http://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz",
   "_shasum": "0c42d4fb17160d5a9af1e484bace1c66922c1b21",
   "_shrinkwrap": null,
   "_spec": "ansi@^0.3.1",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common",
   "author": {
     "name": "Nathan Rajlich",
     "email": "nathan@tootallnate.net",

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/balanced-match/README.md
----------------------------------------------------------------------
diff --git a/node_modules/balanced-match/README.md b/node_modules/balanced-match/README.md
index d6880b2..08e918c 100644
--- a/node_modules/balanced-match/README.md
+++ b/node_modules/balanced-match/README.md
@@ -47,7 +47,7 @@ object with those keys:
 
 If there's no match, `undefined` will be returned.
 
-If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `['{', 'a', '']`.
+If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `['{', 'a', '']` and `{a}}` will match `['', 'a', '}']`.
 
 ### var r = balanced.range(a, b, str)
 
@@ -56,7 +56,7 @@ array with indexes: `[ <a index>, <b index> ]`.
 
 If there's no match, `undefined` will be returned.
 
-If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `[ 1, 3 ]`.
+If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `[ 1, 3 ]` and `{a}}` will match `[0, 2]`.
 
 ## Installation
 

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/balanced-match/index.js
----------------------------------------------------------------------
diff --git a/node_modules/balanced-match/index.js b/node_modules/balanced-match/index.js
index 4670f7f..e8d8587 100644
--- a/node_modules/balanced-match/index.js
+++ b/node_modules/balanced-match/index.js
@@ -30,7 +30,7 @@ function range(a, b, str) {
     begs = [];
     left = str.length;
 
-    while (i < str.length && i >= 0 && ! result) {
+    while (i >= 0 && !result) {
       if (i == ai) {
         begs.push(i);
         ai = str.indexOf(a, i + 1);

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/balanced-match/package.json
----------------------------------------------------------------------
diff --git a/node_modules/balanced-match/package.json b/node_modules/balanced-match/package.json
index dd4d2ba..25e4fa8 100644
--- a/node_modules/balanced-match/package.json
+++ b/node_modules/balanced-match/package.json
@@ -10,24 +10,24 @@
         "spec": ">=0.4.1 <0.5.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\brace-expansion"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/brace-expansion"
     ]
   ],
   "_from": "balanced-match@>=0.4.1 <0.5.0",
-  "_id": "balanced-match@0.4.1",
+  "_id": "balanced-match@0.4.2",
   "_inCache": true,
   "_installable": true,
   "_location": "/balanced-match",
-  "_nodeVersion": "6.0.0",
+  "_nodeVersion": "4.4.7",
   "_npmOperationalInternal": {
-    "host": "packages-12-west.internal.npmjs.com",
-    "tmp": "tmp/balanced-match-0.4.1.tgz_1462129663650_0.39764496590942144"
+    "host": "packages-16-east.internal.npmjs.com",
+    "tmp": "tmp/balanced-match-0.4.2.tgz_1468834991581_0.6590619895141572"
   },
   "_npmUser": {
     "name": "juliangruber",
     "email": "julian@juliangruber.com"
   },
-  "_npmVersion": "3.8.6",
+  "_npmVersion": "2.15.8",
   "_phantomChildren": {},
   "_requested": {
     "raw": "balanced-match@^0.4.1",
@@ -41,11 +41,11 @@
   "_requiredBy": [
     "/brace-expansion"
   ],
-  "_resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.1.tgz",
-  "_shasum": "19053e2e0748eadb379da6c09d455cf5e1039335",
+  "_resolved": "http://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
+  "_shasum": "cb3f3e3c732dc0f01ee70b403f302e61d7709838",
   "_shrinkwrap": null,
   "_spec": "balanced-match@^0.4.1",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\brace-expansion",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/brace-expansion",
   "author": {
     "name": "Julian Gruber",
     "email": "mail@juliangruber.com",
@@ -57,14 +57,14 @@
   "dependencies": {},
   "description": "Match balanced character pairs, like \"{\" and \"}\"",
   "devDependencies": {
-    "tape": "~4.5.0"
+    "tape": "^4.6.0"
   },
   "directories": {},
   "dist": {
-    "shasum": "19053e2e0748eadb379da6c09d455cf5e1039335",
-    "tarball": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.1.tgz"
+    "shasum": "cb3f3e3c732dc0f01ee70b403f302e61d7709838",
+    "tarball": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz"
   },
-  "gitHead": "7004b289baaaab6a832f4901735e29d37cc2a863",
+  "gitHead": "57c2ea29d89a2844ae3bdcc637c6e2cbb73725e2",
   "homepage": "https://github.com/juliangruber/balanced-match",
   "keywords": [
     "match",
@@ -107,5 +107,5 @@
       "android-browser/4.2..latest"
     ]
   },
-  "version": "0.4.1"
+  "version": "0.4.2"
 }

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/base64-js/package.json
----------------------------------------------------------------------
diff --git a/node_modules/base64-js/package.json b/node_modules/base64-js/package.json
index 772e83f..61922bf 100644
--- a/node_modules/base64-js/package.json
+++ b/node_modules/base64-js/package.json
@@ -10,7 +10,7 @@
         "spec": "0.0.8",
         "type": "version"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\plist"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/plist"
     ]
   ],
   "_from": "base64-js@0.0.8",
@@ -37,11 +37,11 @@
   "_requiredBy": [
     "/plist"
   ],
-  "_resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz",
+  "_resolved": "http://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz",
   "_shasum": "1101e9544f4a76b1bc3b26d452ca96d7a35e7978",
   "_shrinkwrap": null,
   "_spec": "base64-js@0.0.8",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\plist",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/plist",
   "author": {
     "name": "T. Jameson Little",
     "email": "t.jameson.little@gmail.com"

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/big-integer/package.json
----------------------------------------------------------------------
diff --git a/node_modules/big-integer/package.json b/node_modules/big-integer/package.json
index b353a4d..5e9e0dd 100644
--- a/node_modules/big-integer/package.json
+++ b/node_modules/big-integer/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.6.7 <2.0.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\bplist-parser"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/bplist-parser"
     ]
   ],
   "_from": "big-integer@>=1.6.7 <2.0.0",
@@ -41,11 +41,11 @@
   "_requiredBy": [
     "/bplist-parser"
   ],
-  "_resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.15.tgz",
+  "_resolved": "http://registry.npmjs.org/big-integer/-/big-integer-1.6.15.tgz",
   "_shasum": "33d27d3b7388dfcc4b86d3130c10740cec01fb9e",
   "_shrinkwrap": null,
   "_spec": "big-integer@^1.6.7",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\bplist-parser",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/bplist-parser",
   "author": {
     "name": "Peter Olson",
     "email": "peter.e.c.olson+npm@gmail.com"

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/bplist-parser/package.json
----------------------------------------------------------------------
diff --git a/node_modules/bplist-parser/package.json b/node_modules/bplist-parser/package.json
index e4f7e41..8865539 100644
--- a/node_modules/bplist-parser/package.json
+++ b/node_modules/bplist-parser/package.json
@@ -10,7 +10,7 @@
         "spec": ">=0.1.0 <0.2.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\cordova-common"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common"
     ]
   ],
   "_from": "bplist-parser@>=0.1.0 <0.2.0",
@@ -37,11 +37,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz",
+  "_resolved": "http://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz",
   "_shasum": "d60d5dcc20cba6dc7e1f299b35d3e1f95dafbae6",
   "_shrinkwrap": null,
   "_spec": "bplist-parser@^0.1.0",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common",
   "author": {
     "name": "Joe Ferner",
     "email": "joe.ferner@nearinfinity.com"

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/brace-expansion/index.js
----------------------------------------------------------------------
diff --git a/node_modules/brace-expansion/index.js b/node_modules/brace-expansion/index.js
index 932718f..955f27c 100644
--- a/node_modules/brace-expansion/index.js
+++ b/node_modules/brace-expansion/index.js
@@ -66,6 +66,16 @@ function expandTop(str) {
   if (!str)
     return [];
 
+  // I don't know why Bash 4.3 does this, but it does.
+  // Anything starting with {} will have the first two bytes preserved
+  // but *only* at the top level, so {},a}b will not expand to anything,
+  // but a{},b}c will be expanded to [a}c,abc].
+  // One could argue that this is a bug in Bash, but since the goal of
+  // this module is to match Bash's rules, we escape a leading {}
+  if (str.substr(0, 2) === '{}') {
+    str = '\\{\\}' + str.substr(2);
+  }
+
   return expand(escapeBraces(str), true).map(unescapeBraces);
 }
 

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/brace-expansion/package.json
----------------------------------------------------------------------
diff --git a/node_modules/brace-expansion/package.json b/node_modules/brace-expansion/package.json
index 08cea7f..33a4d08 100644
--- a/node_modules/brace-expansion/package.json
+++ b/node_modules/brace-expansion/package.json
@@ -10,24 +10,24 @@
         "spec": ">=1.0.0 <2.0.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\minimatch"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/minimatch"
     ]
   ],
   "_from": "brace-expansion@>=1.0.0 <2.0.0",
-  "_id": "brace-expansion@1.1.5",
+  "_id": "brace-expansion@1.1.6",
   "_inCache": true,
   "_installable": true,
   "_location": "/brace-expansion",
-  "_nodeVersion": "4.4.5",
+  "_nodeVersion": "4.4.7",
   "_npmOperationalInternal": {
     "host": "packages-16-east.internal.npmjs.com",
-    "tmp": "tmp/brace-expansion-1.1.5.tgz_1465989660138_0.34528115345165133"
+    "tmp": "tmp/brace-expansion-1.1.6.tgz_1469047715600_0.9362958471756428"
   },
   "_npmUser": {
     "name": "juliangruber",
     "email": "julian@juliangruber.com"
   },
-  "_npmVersion": "2.15.5",
+  "_npmVersion": "2.15.8",
   "_phantomChildren": {},
   "_requested": {
     "raw": "brace-expansion@^1.0.0",
@@ -41,11 +41,11 @@
   "_requiredBy": [
     "/minimatch"
   ],
-  "_resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz",
-  "_shasum": "f5b4ad574e2cb7ccc1eb83e6fe79b8ecadf7a526",
+  "_resolved": "http://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz",
+  "_shasum": "7197d7eaa9b87e648390ea61fc66c84427420df9",
   "_shrinkwrap": null,
   "_spec": "brace-expansion@^1.0.0",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\minimatch",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/minimatch",
   "author": {
     "name": "Julian Gruber",
     "email": "mail@juliangruber.com",
@@ -60,14 +60,14 @@
   },
   "description": "Brace expansion as known from sh/bash",
   "devDependencies": {
-    "tape": "4.5.1"
+    "tape": "^4.6.0"
   },
   "directories": {},
   "dist": {
-    "shasum": "f5b4ad574e2cb7ccc1eb83e6fe79b8ecadf7a526",
-    "tarball": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz"
+    "shasum": "7197d7eaa9b87e648390ea61fc66c84427420df9",
+    "tarball": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz"
   },
-  "gitHead": "ff31acab078f1bb696ac4c55ca56ea24e6495fb6",
+  "gitHead": "791262fa06625e9c5594cde529a21d82086af5f2",
   "homepage": "https://github.com/juliangruber/brace-expansion",
   "keywords": [],
   "license": "MIT",
@@ -109,5 +109,5 @@
       "android-browser/4.2..latest"
     ]
   },
-  "version": "1.1.5"
+  "version": "1.1.6"
 }

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/concat-map/package.json
----------------------------------------------------------------------
diff --git a/node_modules/concat-map/package.json b/node_modules/concat-map/package.json
index c02ce03..fcb5849 100644
--- a/node_modules/concat-map/package.json
+++ b/node_modules/concat-map/package.json
@@ -10,7 +10,7 @@
         "spec": "0.0.1",
         "type": "version"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\brace-expansion"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/brace-expansion"
     ]
   ],
   "_from": "concat-map@0.0.1",
@@ -36,11 +36,11 @@
   "_requiredBy": [
     "/brace-expansion"
   ],
-  "_resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+  "_resolved": "http://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
   "_shasum": "d8a96bd77fd68df7793a73036a3ba0d5405d477b",
   "_shrinkwrap": null,
   "_spec": "concat-map@0.0.1",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\brace-expansion",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/brace-expansion",
   "author": {
     "name": "James Halliday",
     "email": "mail@substack.net",

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/cordova-common/README.md
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/README.md b/node_modules/cordova-common/README.md
index 6454481..c5dcfd5 100644
--- a/node_modules/cordova-common/README.md
+++ b/node_modules/cordova-common/README.md
@@ -28,7 +28,7 @@ Expoeses shared functionality used by [cordova-lib](https://github.com/apache/co
 Represents special instance of NodeJS EventEmitter which is intended to be used to post events to cordova-lib and cordova-cli
 
 Usage:
-```
+```js
 var events = require('cordova-common').events;
 events.emit('warn', 'Some warning message')
 ```
@@ -41,7 +41,7 @@ An error class used by Cordova to throw cordova-specific errors. The CordovaErro
 
 Usage:
 
-```
+```js
 var CordovaError = require('cordova-common').CordovaError;
 throw new CordovaError('Some error message', SOME_ERR_CODE);
 ```
@@ -53,7 +53,7 @@ See [CordovaError](src/CordovaError/CordovaError.js) for supported error codes.
 Exposes functionality to deal with cordova project `config.xml` files. For ConfigParser API reference check [ConfigParser Readme](src/ConfigParser/README.md).
 
 Usage:
-```
+```js
 var ConfigParser = require('cordova-common').ConfigParser;
 var appConfig = new ConfigParser('path/to/cordova-app/config.xml');
 console.log(appconfig.name() + ':' + appConfig.version());
@@ -64,7 +64,7 @@ console.log(appconfig.name() + ':' + appConfig.version());
 `PluginInfo` is a wrapper for cordova plugins' `plugin.xml` files. This class may be instantiated directly or via `PluginInfoProvider`. The difference is that `PluginInfoProvider` caches `PluginInfo` instances based on plugin source directory.
 
 Usage:
-```
+```js
 var PluginInfo: require('cordova-common').PluginInfo;
 var PluginInfoProvider: require('cordova-common').PluginInfoProvider;
 
@@ -80,7 +80,7 @@ console.log('The plugin ' + plugin1.id + ' has version ' + plugin1.version)
 Utility module for dealing with sequential tasks. Provides a set of tasks that are needed to be done and reverts all tasks that are already completed if one of those tasks fail to complete. Used internally by cordova-lib and platform's plugin installation routines.
 
 Usage:
-```
+```js
 var ActionStack = require('cordova-common').ActionStack;
 var stack = new ActionStack()
 
@@ -104,7 +104,7 @@ stack.process()
 Module for spawning child processes with some advanced logic.
 
 Usage:
-```
+```js
 var superspawn = require('cordova-common').superspawn;
 superspawn.spawn('adb', ['devices'])
 .progress(function(data){
@@ -121,7 +121,7 @@ superspawn.spawn('adb', ['devices'])
 A set of utility methods for dealing with xml files.
 
 Usage:
-```
+```js
 var xml = require('cordova-common').xmlHelpers;
 
 var xmlDoc1 = xml.parseElementtreeSync('some/xml/file');

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/cordova-common/RELEASENOTES.md
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/RELEASENOTES.md b/node_modules/cordova-common/RELEASENOTES.md
index 7a99cc9..71ad1ea 100644
--- a/node_modules/cordova-common/RELEASENOTES.md
+++ b/node_modules/cordova-common/RELEASENOTES.md
@@ -20,6 +20,9 @@
 -->
 # Cordova-common Release Notes
 
+### 1.4.0 (Jul 12, 2016)
+* [CB-11023](https://issues.apache.org/jira/browse/CB-11023) Add edit-config functionality
+
 ### 1.3.0 (May 12, 2016)
 * [CB-11259](https://issues.apache.org/jira/browse/CB-11259): Improving prepare and build logging
 * [CB-11194](https://issues.apache.org/jira/browse/CB-11194) Improve cordova load time

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/cordova-common/package.json
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/package.json b/node_modules/cordova-common/package.json
index 0c2350b..f71b569 100644
--- a/node_modules/cordova-common/package.json
+++ b/node_modules/cordova-common/package.json
@@ -2,50 +2,50 @@
   "_args": [
     [
       {
-        "raw": "cordova-common@^1.3.0",
+        "raw": "cordova-common@^1.4.0",
         "scope": null,
         "escapedName": "cordova-common",
         "name": "cordova-common",
-        "rawSpec": "^1.3.0",
-        "spec": ">=1.3.0 <2.0.0",
+        "rawSpec": "^1.4.0",
+        "spec": ">=1.4.0 <2.0.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android"
+      "/Users/steveng/repo/cordova/cordova-android"
     ]
   ],
-  "_from": "cordova-common@>=1.3.0 <2.0.0",
-  "_id": "cordova-common@1.3.0",
+  "_from": "cordova-common@>=1.4.0 <2.0.0",
+  "_id": "cordova-common@1.4.0",
   "_inCache": true,
   "_installable": true,
   "_location": "/cordova-common",
-  "_nodeVersion": "5.4.1",
+  "_nodeVersion": "6.3.0",
   "_npmOperationalInternal": {
     "host": "packages-16-east.internal.npmjs.com",
-    "tmp": "tmp/cordova-common-1.3.0.tgz_1464130094288_0.48495062021538615"
+    "tmp": "tmp/cordova-common-1.4.0.tgz_1469092638680_0.9961137105710804"
   },
   "_npmUser": {
-    "name": "stevegill",
-    "email": "stevengill97@gmail.com"
+    "name": "kotikov.vladimir",
+    "email": "kotikov.vladimir@gmail.com"
   },
-  "_npmVersion": "3.9.0",
+  "_npmVersion": "3.10.5",
   "_phantomChildren": {},
   "_requested": {
-    "raw": "cordova-common@^1.3.0",
+    "raw": "cordova-common@^1.4.0",
     "scope": null,
     "escapedName": "cordova-common",
     "name": "cordova-common",
-    "rawSpec": "^1.3.0",
-    "spec": ">=1.3.0 <2.0.0",
+    "rawSpec": "^1.4.0",
+    "spec": ">=1.4.0 <2.0.0",
     "type": "range"
   },
   "_requiredBy": [
     "/"
   ],
-  "_resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-1.3.0.tgz",
-  "_shasum": "f75161f6aa7cef5486fd5d69a3b0a1f628334491",
+  "_resolved": "http://registry.npmjs.org/cordova-common/-/cordova-common-1.4.0.tgz",
+  "_shasum": "b3ba73595caa34fe8250ac11f20a4ed44e7c84e4",
   "_shrinkwrap": null,
-  "_spec": "cordova-common@^1.3.0",
-  "_where": "d:\\cordova\\cordova-android",
+  "_spec": "cordova-common@^1.4.0",
+  "_where": "/Users/steveng/repo/cordova/cordova-android",
   "author": {
     "name": "Apache Software Foundation"
   },
@@ -79,8 +79,8 @@
   },
   "directories": {},
   "dist": {
-    "shasum": "f75161f6aa7cef5486fd5d69a3b0a1f628334491",
-    "tarball": "https://registry.npmjs.org/cordova-common/-/cordova-common-1.3.0.tgz"
+    "shasum": "b3ba73595caa34fe8250ac11f20a4ed44e7c84e4",
+    "tarball": "https://registry.npmjs.org/cordova-common/-/cordova-common-1.4.0.tgz"
   },
   "engineStrict": true,
   "engines": {
@@ -127,5 +127,5 @@
     "jshint": "node node_modules/jshint/bin/jshint src && node node_modules/jshint/bin/jshint spec",
     "test": "npm run jshint && npm run jasmine"
   },
-  "version": "1.3.0"
+  "version": "1.4.0"
 }

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js b/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js
index a914fc8..a395c6d 100644
--- a/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js
+++ b/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js
@@ -36,9 +36,11 @@ var fs   = require('fs'),
     et   = require('elementtree'),
     semver = require('semver'),
     events = require('../events'),
-    ConfigKeeper = require('./ConfigKeeper');
+    ConfigKeeper = require('./ConfigKeeper'),
+    CordovaLogger = require('../CordovaLogger');
 
 var mungeutil = require('./munge-util');
+var xml_helpers = require('../util/xml-helpers');
 
 exports.PlatformMunger = PlatformMunger;
 
@@ -95,9 +97,10 @@ function remove_plugin_changes(pluginInfo, is_top_level) {
     var plugin_vars = is_top_level ?
         platform_config.installed_plugins[pluginInfo.id] :
         platform_config.dependent_plugins[pluginInfo.id];
+    var edit_config_changes = pluginInfo.getEditConfigs(self.platform);
 
     // get config munge, aka how did this plugin change various config files
-    var config_munge = self.generate_plugin_config_munge(pluginInfo, plugin_vars);
+    var config_munge = self.generate_plugin_config_munge(pluginInfo, plugin_vars, edit_config_changes);
     // global munge looks at all plugins' changes to config files
     var global_munge = platform_config.config_munge;
     var munge = mungeutil.decrement_munge(global_munge, config_munge);
@@ -125,12 +128,40 @@ function remove_plugin_changes(pluginInfo, is_top_level) {
 
 
 PlatformMunger.prototype.add_plugin_changes = add_plugin_changes;
-function add_plugin_changes(pluginInfo, plugin_vars, is_top_level, should_increment) {
+function add_plugin_changes(pluginInfo, plugin_vars, is_top_level, should_increment, plugin_force) {
     var self = this;
     var platform_config = self.platformJson.root;
+    var edit_config_changes = pluginInfo.getEditConfigs(self.platform);
+    var config_munge;
 
-    // get config munge, aka how should this plugin change various config files
-    var config_munge = self.generate_plugin_config_munge(pluginInfo, plugin_vars);
+    if (!edit_config_changes || edit_config_changes.length === 0) {
+        // get config munge, aka how should this plugin change various config files
+        config_munge = self.generate_plugin_config_munge(pluginInfo, plugin_vars);
+    }
+    else {
+        var isConflictingInfo = is_conflicting(edit_config_changes, platform_config.config_munge, self, plugin_force);
+        if (plugin_force) {
+            CordovaLogger.get().log(CordovaLogger.WARN, '--force is used. edit-config will overwrite conflicts if any. Conflicting plugins may not work as expected.');
+
+            // remove conflicting munges
+            var conflict_munge = mungeutil.decrement_munge(platform_config.config_munge, isConflictingInfo.conflictingMunge);
+            for (var conflict_file in conflict_munge.files) {
+                self.apply_file_munge(conflict_file, conflict_munge.files[conflict_file], /* remove = */ true);
+            }
+
+            // force add new munges
+            config_munge = self.generate_plugin_config_munge(pluginInfo, plugin_vars, edit_config_changes);
+        }
+        else if(isConflictingInfo.conflictFound) {
+            throw new Error('There was a conflict trying to modify attributes with <edit-config> in plugin ' + pluginInfo.id +
+            '. The conflicting plugin, ' + isConflictingInfo.conflictingPlugin + ', already modified the same attributes. The conflict must be resolved before ' +
+            pluginInfo.id + ' can be added. You may use --force to add the plugin and overwrite the conflicting attributes.');
+        }
+        else {
+            // no conflicts, will handle edit-config
+            config_munge = self.generate_plugin_config_munge(pluginInfo, plugin_vars, edit_config_changes);
+        }
+    }
     // global munge looks at all plugins' changes to config files
 
     // TODO: The should_increment param is only used by cordova-cli and is going away soon.
@@ -186,13 +217,17 @@ function reapply_global_munge () {
 // generate_plugin_config_munge
 // Generate the munge object from plugin.xml + vars
 PlatformMunger.prototype.generate_plugin_config_munge = generate_plugin_config_munge;
-function generate_plugin_config_munge(pluginInfo, vars) {
+function generate_plugin_config_munge(pluginInfo, vars, edit_config_changes) {
     var self = this;
 
     vars = vars || {};
     var munge = { files: {} };
     var changes = pluginInfo.getConfigFiles(self.platform);
 
+    if(edit_config_changes) {
+        Array.prototype.push.apply(changes, edit_config_changes);
+    }
+
     // Demux 'package.appxmanifest' into relevant platform-specific appx manifests.
     // Only spend the cycles if there are version-specific plugin settings
     if (self.platform === 'windows' &&
@@ -291,12 +326,69 @@ function generate_plugin_config_munge(pluginInfo, vars) {
                 });
             }
             // 2. add into munge
-            mungeutil.deep_add(munge, change.target, change.parent, { xml: stringified, count: 1, after: change.after });
+            if (change.mode) {
+                mungeutil.deep_add(munge, change.file, change.target, { xml: stringified, count: 1, mode: change.mode, plugin: pluginInfo.id });
+            }
+            else {
+                mungeutil.deep_add(munge, change.target, change.parent, { xml: stringified, count: 1, after: change.after });
+            }
         });
     });
     return munge;
 }
 
+function is_conflicting(editchanges, config_munge, self, force) {
+    var files = config_munge.files;
+    var conflictFound = false;
+    var conflictingMunge = { files: {} };
+    var conflictingParent;
+    var conflictingPlugin;
+
+    editchanges.forEach(function(editchange) {
+        if (files[editchange.file]) {
+            var parents = files[editchange.file].parents;
+            var target = parents[editchange.target];
+
+            // Check if the edit target will resolve to an existing target
+            if (!target || target.length === 0) {
+                var file_xml = self.config_keeper.get(self.project_dir, self.platform, editchange.file).data;
+                var resolveEditTarget = xml_helpers.resolveParent(file_xml, editchange.target);
+                var resolveTarget;
+
+                if (resolveEditTarget) {
+                    for (var parent in parents) {
+                        resolveTarget = xml_helpers.resolveParent(file_xml, parent);
+                        if (resolveEditTarget === resolveTarget) {
+                            conflictingParent = parent;
+                            target = parents[parent];
+                            break;
+                        }
+                    }
+                }
+            }
+            else {
+                conflictingParent = editchange.target;
+            }
+
+            if (target.length !== 0) {
+                // conflict has been found, exit and throw an error
+                conflictFound = true;
+                if (!force) {
+                    // since there has been modifications to the attributes at this target,
+                    // the current plugin should not modify the attributes
+                    conflictingPlugin = target[0].plugin;
+                    return;
+                }
+
+                // need to find all conflicts when --force is used, track conflicting munges
+                mungeutil.deep_add(conflictingMunge, editchange.file, conflictingParent, target[0]);
+            }
+        }
+    });
+
+    return {conflictFound: conflictFound, conflictingPlugin: conflictingPlugin, conflictingMunge: conflictingMunge};
+}
+
 // Go over the prepare queue and apply the config munges for each plugin
 // that has been (un)installed.
 PlatformMunger.prototype.process = PlatformMunger_process;
@@ -313,7 +405,7 @@ function PlatformMunger_process(plugins_dir) {
     // Now handle installation
     platform_config.prepare_queue.installed.forEach(function(u) {
         var pluginInfo = self.pluginInfoProvider.get(path.join(plugins_dir, u.plugin));
-        self.add_plugin_changes(pluginInfo, u.vars, u.topLevel, true);
+        self.add_plugin_changes(pluginInfo, u.vars, u.topLevel, true, u.force);
     });
 
     // Empty out installed/ uninstalled queues.

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/cordova-common/src/ConfigChanges/ConfigFile.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/src/ConfigChanges/ConfigFile.js b/node_modules/cordova-common/src/ConfigChanges/ConfigFile.js
index 9c540b9..179d54d 100644
--- a/node_modules/cordova-common/src/ConfigChanges/ConfigFile.js
+++ b/node_modules/cordova-common/src/ConfigChanges/ConfigFile.js
@@ -103,7 +103,16 @@ ConfigFile.prototype.graft_child = function ConfigFile_graft_child(selector, xml
     var result;
     if (self.type === 'xml') {
         var xml_to_graft = [modules.et.XML(xml_child.xml)];
-        result = modules.xml_helpers.graftXML(self.data, xml_to_graft, selector, xml_child.after);
+        switch (xml_child.mode) {
+            case 'merge':
+                result = modules.xml_helpers.graftXMLMerge(self.data, xml_to_graft, selector, xml_child);
+                break;
+            case 'overwrite':
+                result = modules.xml_helpers.graftXMLOverwrite(self.data, xml_to_graft, selector, xml_child);
+                break;
+            default:
+                result = modules.xml_helpers.graftXML(self.data, xml_to_graft, selector, xml_child.after);
+        }
         if ( !result) {
             throw new Error('Unable to graft xml at selector "' + selector + '" from "' + filepath + '" during config install');
         }
@@ -123,7 +132,14 @@ ConfigFile.prototype.prune_child = function ConfigFile_prune_child(selector, xml
     var result;
     if (self.type === 'xml') {
         var xml_to_graft = [modules.et.XML(xml_child.xml)];
-        result = modules.xml_helpers.pruneXML(self.data, xml_to_graft, selector);
+        switch (xml_child.mode) {
+            case 'merge':
+            case 'overwrite':
+                result = modules.xml_helpers.pruneXMLRestore(self.data, selector, xml_child);
+                break;
+            default:
+                result = modules.xml_helpers.pruneXML(self.data, xml_to_graft, selector);
+        }
     } else {
         // plist file
         result = modules.plist_helpers.prunePLIST(self.data, xml_child.xml, selector);

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/cordova-common/src/ConfigChanges/munge-util.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/src/ConfigChanges/munge-util.js b/node_modules/cordova-common/src/ConfigChanges/munge-util.js
index 307b3c1..0149bab 100644
--- a/node_modules/cordova-common/src/ConfigChanges/munge-util.js
+++ b/node_modules/cordova-common/src/ConfigChanges/munge-util.js
@@ -52,6 +52,9 @@ exports.deep_remove = function deep_remove(obj, keys /* or key1, key2 .... */ )
             return element.xml == k.xml;
         });
         if (found) {
+            if (parentArray[index].oldAttrib) {
+                k.oldAttrib = _.extend({}, parentArray[index].oldAttrib);
+            }
             found.count -= k.count;
             if (found.count > 0) {
                 return false;

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/cordova-common/src/PlatformJson.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/src/PlatformJson.js b/node_modules/cordova-common/src/PlatformJson.js
index 4e2b287..ab94b5f 100644
--- a/node_modules/cordova-common/src/PlatformJson.js
+++ b/node_modules/cordova-common/src/PlatformJson.js
@@ -162,8 +162,8 @@ PlatformJson.prototype.removePluginMetadata = function (pluginInfo) {
     return this;
 };
 
-PlatformJson.prototype.addInstalledPluginToPrepareQueue = function(pluginDirName, vars, is_top_level) {
-    this.root.prepare_queue.installed.push({'plugin':pluginDirName, 'vars':vars, 'topLevel':is_top_level});
+PlatformJson.prototype.addInstalledPluginToPrepareQueue = function(pluginDirName, vars, is_top_level, force) {
+    this.root.prepare_queue.installed.push({'plugin':pluginDirName, 'vars':vars, 'topLevel':is_top_level, 'force':force});
 };
 
 PlatformJson.prototype.addUninstalledPluginToPrepareQueue = function(pluginId, is_top_level) {
@@ -276,4 +276,3 @@ function ModuleMetadata (pluginId, jsModule) {
 }
 
 module.exports = PlatformJson;
-

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/cordova-common/src/PluginInfo/PluginInfo.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/src/PluginInfo/PluginInfo.js b/node_modules/cordova-common/src/PluginInfo/PluginInfo.js
index 77199ec..bf1f75b 100644
--- a/node_modules/cordova-common/src/PluginInfo/PluginInfo.js
+++ b/node_modules/cordova-common/src/PluginInfo/PluginInfo.js
@@ -146,6 +146,22 @@ function PluginInfo(dirname) {
         return configFile;
     }
 
+    self.getEditConfigs = getEditConfigs;
+    function getEditConfigs(platform) {
+        var editConfigs = _getTags(self._et, 'edit-config', platform, _parseEditConfigs);
+        return editConfigs;
+    }
+
+    function _parseEditConfigs(tag) {
+        var editConfig =
+        { file : tag.attrib['file']
+        , target : tag.attrib['target']
+        , mode : tag.attrib['mode']
+        , xmls : tag.getchildren()
+        };
+        return editConfig;
+    }
+
     // <info> tags, both global and within a <platform>
     // TODO (kamrik): Do we ever use <info> under <platform>? Example wanted.
     self.getInfo = getInfo;
@@ -382,7 +398,7 @@ function _getTags(pelem, tag, platform, transform) {
     return tags;
 }
 
-// Same as _getTags() but only looks inside a platfrom section.
+// Same as _getTags() but only looks inside a platform section.
 function _getTagsInPlatform(pelem, tag, platform, transform) {
     var platformTag = pelem.find('./platform[@name="' + platform + '"]');
     var tags = platformTag ? platformTag.findall(tag) : [];

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/cordova-common/src/PluginManager.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/src/PluginManager.js b/node_modules/cordova-common/src/PluginManager.js
index c3a29fc..e8968f1 100644
--- a/node_modules/cordova-common/src/PluginManager.js
+++ b/node_modules/cordova-common/src/PluginManager.js
@@ -123,7 +123,7 @@ PluginManager.prototype.doOperation = function (operation, plugin, options) {
         if (operation === PluginManager.INSTALL) {
             // Ignore passed `is_top_level` option since platform itself doesn't know
             // anything about managing dependencies - it's responsibility of caller.
-            self.munger.add_plugin_changes(plugin, options.variables, /*is_top_level=*/true, /*should_increment=*/true);
+            self.munger.add_plugin_changes(plugin, options.variables, /*is_top_level=*/true, /*should_increment=*/true, options.force);
             self.munger.platformJson.addPluginMetadata(plugin);
         } else {
             self.munger.remove_plugin_changes(plugin, /*is_top_level=*/true);

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/cordova-common/src/util/xml-helpers.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/src/util/xml-helpers.js b/node_modules/cordova-common/src/util/xml-helpers.js
index 6366af9..f16eaaf 100644
--- a/node_modules/cordova-common/src/util/xml-helpers.js
+++ b/node_modules/cordova-common/src/util/xml-helpers.js
@@ -29,6 +29,9 @@ var fs = require('fs')
   , et = require('elementtree')
   ;
 
+  var ROOT = /^\/([^\/]*)/,
+      ABSOLUTE = /^\/([^\/]*)\/(.*)/;
+
 module.exports = {
     // compare two et.XML nodes, see if they match
     // compares tagName, text, attributes and children (recursively)
@@ -68,7 +71,7 @@ module.exports = {
 
     // adds node to doc at selector, creating parent if it doesn't exist
     graftXML: function(doc, nodes, selector, after) {
-        var parent = resolveParent(doc, selector);
+        var parent = module.exports.resolveParent(doc, selector);
         if (!parent) {
             //Try to create the parent recursively if necessary
             try {
@@ -79,7 +82,7 @@ module.exports = {
             } catch (e) {
                 return false;
             }
-            parent = resolveParent(doc, selector);
+            parent = module.exports.resolveParent(doc, selector);
             if (!parent) return false;
         }
 
@@ -97,9 +100,54 @@ module.exports = {
         return true;
     },
 
+    // adds new attributes to doc at selector
+    // Will only merge if attribute has not been modified already or --force is used
+    graftXMLMerge: function(doc, nodes, selector, xml) {
+        var target = module.exports.resolveParent(doc, selector);
+        if (!target) return false;
+
+        // saves the attributes of the original xml before making changes
+        xml.oldAttrib = _.extend({}, target.attrib);
+
+        nodes.forEach(function (node) {
+            var attributes = node.attrib;
+            for (var attribute in attributes) {
+                target.attrib[attribute] = node.attrib[attribute];
+            }
+        });
+
+        return true;
+    },
+
+    // overwrite all attributes to doc at selector with new attributes
+    // Will only overwrite if attribute has not been modified already or --force is used
+    graftXMLOverwrite: function(doc, nodes, selector, xml) {
+        var target = module.exports.resolveParent(doc, selector);
+        if (!target) return false;
+
+        // saves the attributes of the original xml before making changes
+        xml.oldAttrib = _.extend({}, target.attrib);
+
+        // remove old attributes from target
+        var targetAttributes = target.attrib;
+        for (var targetAttribute in targetAttributes) {
+            delete targetAttributes[targetAttribute];
+        }
+
+        // add new attributes to target
+        nodes.forEach(function (node) {
+            var attributes = node.attrib;
+            for (var attribute in attributes) {
+                target.attrib[attribute] = node.attrib[attribute];
+            }
+        });
+
+        return true;
+    },
+
     // removes node from doc at selector
     pruneXML: function(doc, nodes, selector) {
-        var parent = resolveParent(doc, selector);
+        var parent = module.exports.resolveParent(doc, selector);
         if (!parent) return false;
 
         nodes.forEach(function (node) {
@@ -114,6 +162,19 @@ module.exports = {
         return true;
     },
 
+    // restores attributes from doc at selector
+    pruneXMLRestore: function(doc, selector, xml) {
+        var target = module.exports.resolveParent(doc, selector);
+        if (!target) return false;
+
+        if (xml.oldAttrib) {
+            target.attrib = _.extend({}, xml.oldAttrib);
+        }
+
+        return true;
+    },
+
+
     parseElementtreeSync: function (filename) {
         var contents = fs.readFileSync(filename, 'utf-8');
         if(contents) {
@@ -121,6 +182,30 @@ module.exports = {
             contents = contents.substring(contents.indexOf('<'));
         }
         return new et.ElementTree(et.XML(contents));
+    },
+
+    resolveParent: function (doc, selector) {
+        var parent, tagName, subSelector;
+
+        // handle absolute selector (which elementtree doesn't like)
+        if (ROOT.test(selector)) {
+            tagName = selector.match(ROOT)[1];
+            // test for wildcard "any-tag" root selector
+            if (tagName == '*' || tagName === doc._root.tag) {
+                parent = doc._root;
+
+                // could be an absolute path, but not selecting the root
+                if (ABSOLUTE.test(selector)) {
+                    subSelector = selector.match(ABSOLUTE)[2];
+                    parent = parent.find(subSelector);
+                }
+            } else {
+                return false;
+            }
+        } else {
+            parent = doc.find(selector);
+        }
+        return parent;
     }
 };
 
@@ -152,33 +237,6 @@ function uniqueChild(node, parent) {
     }
 }
 
-var ROOT = /^\/([^\/]*)/,
-    ABSOLUTE = /^\/([^\/]*)\/(.*)/;
-
-function resolveParent(doc, selector) {
-    var parent, tagName, subSelector;
-
-    // handle absolute selector (which elementtree doesn't like)
-    if (ROOT.test(selector)) {
-        tagName = selector.match(ROOT)[1];
-        // test for wildcard "any-tag" root selector
-        if (tagName == '*' || tagName === doc._root.tag) {
-            parent = doc._root;
-
-            // could be an absolute path, but not selecting the root
-            if (ABSOLUTE.test(selector)) {
-                subSelector = selector.match(ABSOLUTE)[2];
-                parent = parent.find(subSelector);
-            }
-        } else {
-            return false;
-        }
-    } else {
-        parent = doc.find(selector);
-    }
-    return parent;
-}
-
 // Find the index at which to insert an entry. After is a ;-separated priority list
 // of tags after which the insertion should be made. E.g. If we need to
 // insert an element C, and the rule is that the order of children has to be
@@ -257,19 +315,19 @@ function mergeXml(src, dest, platform, clobber) {
             dest.append(destChild);
         }
     }
-    
+
     function removeDuplicatePreferences(xml) {
         // reduce preference tags to a hashtable to remove dupes
         var prefHash = xml.findall('preference[@name][@value]').reduce(function(previousValue, currentValue) {
             previousValue[ currentValue.attrib.name ] = currentValue.attrib.value;
             return previousValue;
         }, {});
-        
+
         // remove all preferences
         xml.findall('preference[@name][@value]').forEach(function(pref) {
             xml.remove(pref);
         });
-        
+
         // write new preferences
         Object.keys(prefHash).forEach(function(key, index) {
             var element = et.SubElement(xml, 'preference');

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/cordova-registry-mapper/package.json
----------------------------------------------------------------------
diff --git a/node_modules/cordova-registry-mapper/package.json b/node_modules/cordova-registry-mapper/package.json
index 2b8af74..f835196 100644
--- a/node_modules/cordova-registry-mapper/package.json
+++ b/node_modules/cordova-registry-mapper/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.1.8 <2.0.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\cordova-common"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common"
     ]
   ],
   "_from": "cordova-registry-mapper@>=1.1.8 <2.0.0",
@@ -37,11 +37,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/cordova-registry-mapper/-/cordova-registry-mapper-1.1.15.tgz",
+  "_resolved": "http://registry.npmjs.org/cordova-registry-mapper/-/cordova-registry-mapper-1.1.15.tgz",
   "_shasum": "e244b9185b8175473bff6079324905115f83dc7c",
   "_shrinkwrap": null,
   "_spec": "cordova-registry-mapper@^1.1.8",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common",
   "author": {
     "name": "Steve Gill"
   },

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/elementtree/package.json
----------------------------------------------------------------------
diff --git a/node_modules/elementtree/package.json b/node_modules/elementtree/package.json
index 58a4173..5a8ff65 100644
--- a/node_modules/elementtree/package.json
+++ b/node_modules/elementtree/package.json
@@ -10,7 +10,7 @@
         "spec": ">=0.1.6 <0.2.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android"
+      "/Users/steveng/repo/cordova/cordova-android"
     ]
   ],
   "_from": "elementtree@>=0.1.6 <0.2.0",
@@ -37,11 +37,11 @@
     "/",
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.6.tgz",
+  "_resolved": "http://registry.npmjs.org/elementtree/-/elementtree-0.1.6.tgz",
   "_shasum": "2ac4c46ea30516c8c4cbdb5e3ac7418e592de20c",
   "_shrinkwrap": null,
   "_spec": "elementtree@^0.1.6",
-  "_where": "d:\\cordova\\cordova-android",
+  "_where": "/Users/steveng/repo/cordova/cordova-android",
   "author": {
     "name": "Rackspace US, Inc."
   },

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/glob/package.json
----------------------------------------------------------------------
diff --git a/node_modules/glob/package.json b/node_modules/glob/package.json
index 1f1cec6..e7d4004 100644
--- a/node_modules/glob/package.json
+++ b/node_modules/glob/package.json
@@ -10,7 +10,7 @@
         "spec": ">=5.0.13 <6.0.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\cordova-common"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common"
     ]
   ],
   "_from": "glob@>=5.0.13 <6.0.0",
@@ -37,11 +37,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+  "_resolved": "http://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
   "_shasum": "1bc936b9e02f4a603fcc222ecf7633d30b8b93b1",
   "_shrinkwrap": null,
   "_spec": "glob@^5.0.13",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common",
   "author": {
     "name": "Isaac Z. Schlueter",
     "email": "i@izs.me",

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/inflight/package.json
----------------------------------------------------------------------
diff --git a/node_modules/inflight/package.json b/node_modules/inflight/package.json
index 734e580..5a67ac8 100644
--- a/node_modules/inflight/package.json
+++ b/node_modules/inflight/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.0.4 <2.0.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\glob"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/glob"
     ]
   ],
   "_from": "inflight@>=1.0.4 <2.0.0",
@@ -41,11 +41,11 @@
   "_requiredBy": [
     "/glob"
   ],
-  "_resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz",
+  "_resolved": "http://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz",
   "_shasum": "db3204cd5a9de2e6cd890b85c6e2f66bcf4f620a",
   "_shrinkwrap": null,
   "_spec": "inflight@^1.0.4",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\glob",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/glob",
   "author": {
     "name": "Isaac Z. Schlueter",
     "email": "i@izs.me",

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/inherits/package.json
----------------------------------------------------------------------
diff --git a/node_modules/inherits/package.json b/node_modules/inherits/package.json
index 7a8df25..44dcb9a 100644
--- a/node_modules/inherits/package.json
+++ b/node_modules/inherits/package.json
@@ -10,7 +10,7 @@
         "spec": ">=2.0.0 <3.0.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\glob"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/glob"
     ]
   ],
   "_from": "inherits@>=2.0.0 <3.0.0",
@@ -36,11 +36,11 @@
   "_requiredBy": [
     "/glob"
   ],
-  "_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+  "_resolved": "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
   "_shasum": "b17d08d326b4423e568eff719f91b0b1cbdf69f1",
   "_shrinkwrap": null,
   "_spec": "inherits@2",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\glob",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/glob",
   "browser": "./inherits_browser.js",
   "bugs": {
     "url": "https://github.com/isaacs/inherits/issues"

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/lodash/package.json
----------------------------------------------------------------------
diff --git a/node_modules/lodash/package.json b/node_modules/lodash/package.json
index d4de5b9..2c01326 100644
--- a/node_modules/lodash/package.json
+++ b/node_modules/lodash/package.json
@@ -10,7 +10,7 @@
         "spec": ">=3.5.0 <4.0.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\xmlbuilder"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/xmlbuilder"
     ]
   ],
   "_from": "lodash@>=3.5.0 <4.0.0",
@@ -37,11 +37,11 @@
   "_requiredBy": [
     "/xmlbuilder"
   ],
-  "_resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+  "_resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
   "_shasum": "5bf45e8e49ba4189e17d482789dfd15bd140b7b6",
   "_shrinkwrap": null,
   "_spec": "lodash@^3.5.0",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\xmlbuilder",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/xmlbuilder",
   "author": {
     "name": "John-David Dalton",
     "email": "john.david.dalton@gmail.com",

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/minimatch/package.json
----------------------------------------------------------------------
diff --git a/node_modules/minimatch/package.json b/node_modules/minimatch/package.json
index beed606..03885fe 100644
--- a/node_modules/minimatch/package.json
+++ b/node_modules/minimatch/package.json
@@ -10,7 +10,7 @@
         "spec": ">=3.0.0 <4.0.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\cordova-common"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common"
     ]
   ],
   "_from": "minimatch@>=3.0.0 <4.0.0",
@@ -42,11 +42,11 @@
     "/cordova-common",
     "/glob"
   ],
-  "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz",
+  "_resolved": "http://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz",
   "_shasum": "0f398a7300ea441e9c348c83d98ab8c9dbf9c40a",
   "_shrinkwrap": null,
   "_spec": "minimatch@^3.0.0",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common",
   "author": {
     "name": "Isaac Z. Schlueter",
     "email": "i@izs.me",

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/nopt/package.json
----------------------------------------------------------------------
diff --git a/node_modules/nopt/package.json b/node_modules/nopt/package.json
index 84b9ff6..e0e7cba 100644
--- a/node_modules/nopt/package.json
+++ b/node_modules/nopt/package.json
@@ -10,7 +10,7 @@
         "spec": ">=3.0.1 <4.0.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android"
+      "/Users/steveng/repo/cordova/cordova-android"
     ]
   ],
   "_from": "nopt@>=3.0.1 <4.0.0",
@@ -37,11 +37,11 @@
   "_requiredBy": [
     "/"
   ],
-  "_resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+  "_resolved": "http://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
   "_shasum": "c6465dbf08abcd4db359317f79ac68a646b28ff9",
   "_shrinkwrap": null,
   "_spec": "nopt@^3.0.1",
-  "_where": "d:\\cordova\\cordova-android",
+  "_where": "/Users/steveng/repo/cordova/cordova-android",
   "author": {
     "name": "Isaac Z. Schlueter",
     "email": "i@izs.me",

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/once/package.json
----------------------------------------------------------------------
diff --git a/node_modules/once/package.json b/node_modules/once/package.json
index 4a9cde3..18f3d69 100644
--- a/node_modules/once/package.json
+++ b/node_modules/once/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.3.0 <2.0.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\glob"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/glob"
     ]
   ],
   "_from": "once@>=1.3.0 <2.0.0",
@@ -38,11 +38,11 @@
     "/glob",
     "/inflight"
   ],
-  "_resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
+  "_resolved": "http://registry.npmjs.org/once/-/once-1.3.3.tgz",
   "_shasum": "b2e261557ce4c314ec8304f3fa82663e4297ca20",
   "_shrinkwrap": null,
   "_spec": "once@^1.3.0",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\glob",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/glob",
   "author": {
     "name": "Isaac Z. Schlueter",
     "email": "i@izs.me",

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/os-homedir/package.json
----------------------------------------------------------------------
diff --git a/node_modules/os-homedir/package.json b/node_modules/os-homedir/package.json
index 98e0586..d4a1464 100644
--- a/node_modules/os-homedir/package.json
+++ b/node_modules/os-homedir/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.0.0 <2.0.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\osenv"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/osenv"
     ]
   ],
   "_from": "os-homedir@>=1.0.0 <2.0.0",
@@ -37,11 +37,11 @@
   "_requiredBy": [
     "/osenv"
   ],
-  "_resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz",
+  "_resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz",
   "_shasum": "0d62bdf44b916fd3bbdcf2cab191948fb094f007",
   "_shrinkwrap": null,
   "_spec": "os-homedir@^1.0.0",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\osenv",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/osenv",
   "author": {
     "name": "Sindre Sorhus",
     "email": "sindresorhus@gmail.com",

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/os-tmpdir/package.json
----------------------------------------------------------------------
diff --git a/node_modules/os-tmpdir/package.json b/node_modules/os-tmpdir/package.json
index a043645..7ba6e21 100644
--- a/node_modules/os-tmpdir/package.json
+++ b/node_modules/os-tmpdir/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.0.0 <2.0.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\osenv"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/osenv"
     ]
   ],
   "_from": "os-tmpdir@>=1.0.0 <2.0.0",
@@ -37,11 +37,11 @@
   "_requiredBy": [
     "/osenv"
   ],
-  "_resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz",
+  "_resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz",
   "_shasum": "e9b423a1edaf479882562e92ed71d7743a071b6e",
   "_shrinkwrap": null,
   "_spec": "os-tmpdir@^1.0.0",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\osenv",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/osenv",
   "author": {
     "name": "Sindre Sorhus",
     "email": "sindresorhus@gmail.com",

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/osenv/package.json
----------------------------------------------------------------------
diff --git a/node_modules/osenv/package.json b/node_modules/osenv/package.json
index 5b64a32..c83a5f1 100644
--- a/node_modules/osenv/package.json
+++ b/node_modules/osenv/package.json
@@ -10,7 +10,7 @@
         "spec": ">=0.1.3 <0.2.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\cordova-common"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common"
     ]
   ],
   "_from": "osenv@>=0.1.3 <0.2.0",
@@ -37,11 +37,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz",
+  "_resolved": "http://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz",
   "_shasum": "83cf05c6d6458fc4d5ac6362ea325d92f2754217",
   "_shrinkwrap": null,
   "_spec": "osenv@^0.1.3",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common",
   "author": {
     "name": "Isaac Z. Schlueter",
     "email": "i@izs.me",

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/path-is-absolute/package.json
----------------------------------------------------------------------
diff --git a/node_modules/path-is-absolute/package.json b/node_modules/path-is-absolute/package.json
index 17d2e1c..d296c78 100644
--- a/node_modules/path-is-absolute/package.json
+++ b/node_modules/path-is-absolute/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.0.0 <2.0.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\glob"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/glob"
     ]
   ],
   "_from": "path-is-absolute@>=1.0.0 <2.0.0",
@@ -37,11 +37,11 @@
   "_requiredBy": [
     "/glob"
   ],
-  "_resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz",
+  "_resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz",
   "_shasum": "263dada66ab3f2fb10bf7f9d24dd8f3e570ef912",
   "_shrinkwrap": null,
   "_spec": "path-is-absolute@^1.0.0",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\glob",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/glob",
   "author": {
     "name": "Sindre Sorhus",
     "email": "sindresorhus@gmail.com",

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/plist/package.json
----------------------------------------------------------------------
diff --git a/node_modules/plist/package.json b/node_modules/plist/package.json
index b2031f0..9dd0f04 100644
--- a/node_modules/plist/package.json
+++ b/node_modules/plist/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.2.0 <2.0.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\cordova-common"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common"
     ]
   ],
   "_from": "plist@>=1.2.0 <2.0.0",
@@ -37,11 +37,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/plist/-/plist-1.2.0.tgz",
+  "_resolved": "http://registry.npmjs.org/plist/-/plist-1.2.0.tgz",
   "_shasum": "084b5093ddc92506e259f874b8d9b1afb8c79593",
   "_shrinkwrap": null,
   "_spec": "plist@^1.2.0",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common",
   "author": {
     "name": "Nathan Rajlich",
     "email": "nathan@tootallnate.net"

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/properties-parser/package.json
----------------------------------------------------------------------
diff --git a/node_modules/properties-parser/package.json b/node_modules/properties-parser/package.json
index 7582f58..9c3acab 100644
--- a/node_modules/properties-parser/package.json
+++ b/node_modules/properties-parser/package.json
@@ -10,7 +10,7 @@
         "spec": ">=0.2.3 <0.3.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android"
+      "/Users/steveng/repo/cordova/cordova-android"
     ]
   ],
   "_from": "properties-parser@>=0.2.3 <0.3.0",
@@ -36,11 +36,11 @@
   "_requiredBy": [
     "/"
   ],
-  "_resolved": "https://registry.npmjs.org/properties-parser/-/properties-parser-0.2.3.tgz",
+  "_resolved": "http://registry.npmjs.org/properties-parser/-/properties-parser-0.2.3.tgz",
   "_shasum": "f7591255f707abbff227c7b56b637dbb0373a10f",
   "_shrinkwrap": null,
   "_spec": "properties-parser@^0.2.3",
-  "_where": "d:\\cordova\\cordova-android",
+  "_where": "/Users/steveng/repo/cordova/cordova-android",
   "bugs": {
     "url": "https://github.com/xavi-/node-properties-parser/issues"
   },

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/q/package.json
----------------------------------------------------------------------
diff --git a/node_modules/q/package.json b/node_modules/q/package.json
index 3eb1e89..f9fedc3 100644
--- a/node_modules/q/package.json
+++ b/node_modules/q/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.4.1 <2.0.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android"
+      "/Users/steveng/repo/cordova/cordova-android"
     ]
   ],
   "_from": "q@>=1.4.1 <2.0.0",
@@ -38,11 +38,11 @@
     "/",
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
+  "_resolved": "http://registry.npmjs.org/q/-/q-1.4.1.tgz",
   "_shasum": "55705bcd93c5f3673530c2c2cbc0c2b3addc286e",
   "_shrinkwrap": null,
   "_spec": "q@^1.4.1",
-  "_where": "d:\\cordova\\cordova-android",
+  "_where": "/Users/steveng/repo/cordova/cordova-android",
   "author": {
     "name": "Kris Kowal",
     "email": "kris@cixar.com",

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/sax/package.json
----------------------------------------------------------------------
diff --git a/node_modules/sax/package.json b/node_modules/sax/package.json
index f36e621..65a6be7 100644
--- a/node_modules/sax/package.json
+++ b/node_modules/sax/package.json
@@ -10,7 +10,7 @@
         "spec": "0.3.5",
         "type": "version"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\elementtree"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/elementtree"
     ]
   ],
   "_defaultsLoaded": true,
@@ -39,11 +39,11 @@
   "_requiredBy": [
     "/elementtree"
   ],
-  "_resolved": "https://registry.npmjs.org/sax/-/sax-0.3.5.tgz",
+  "_resolved": "http://registry.npmjs.org/sax/-/sax-0.3.5.tgz",
   "_shasum": "88fcfc1f73c0c8bbd5b7c776b6d3f3501eed073d",
   "_shrinkwrap": null,
   "_spec": "sax@0.3.5",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\elementtree",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/elementtree",
   "author": {
     "name": "Isaac Z. Schlueter",
     "email": "i@izs.me",

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/semver/README.md
----------------------------------------------------------------------
diff --git a/node_modules/semver/README.md b/node_modules/semver/README.md
index 27b044e..cbd9565 100644
--- a/node_modules/semver/README.md
+++ b/node_modules/semver/README.md
@@ -4,6 +4,8 @@ semver(1) -- The semantic versioner for npm
 ## Usage
 
     $ npm install semver
+    $ node
+    var semver = require('semver')
 
     semver.valid('1.2.3') // '1.2.3'
     semver.valid('a.b.c') // null
@@ -325,6 +327,8 @@ strings that they parse.
   range.
 * `maxSatisfying(versions, range)`: Return the highest version in the list
   that satisfies the range, or `null` if none of them do.
+* `minSatisfying(versions, range)`: Return the lowest version in the list
+  that satisfies the range, or `null` if none of them do.
 * `gtr(version, range)`: Return `true` if version is greater than all the
   versions possible in the range.
 * `ltr(version, range)`: Return `true` if version is less than all the

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/semver/package.json
----------------------------------------------------------------------
diff --git a/node_modules/semver/package.json b/node_modules/semver/package.json
index aba4765..08ca0f7 100644
--- a/node_modules/semver/package.json
+++ b/node_modules/semver/package.json
@@ -10,24 +10,24 @@
         "spec": ">=5.0.1 <6.0.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\cordova-common"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common"
     ]
   ],
   "_from": "semver@>=5.0.1 <6.0.0",
-  "_id": "semver@5.2.0",
+  "_id": "semver@5.3.0",
   "_inCache": true,
   "_installable": true,
   "_location": "/semver",
   "_nodeVersion": "4.4.4",
   "_npmOperationalInternal": {
     "host": "packages-12-west.internal.npmjs.com",
-    "tmp": "tmp/semver-5.2.0.tgz_1467136841238_0.2250258030835539"
+    "tmp": "tmp/semver-5.3.0.tgz_1468515166602_0.9155273644719273"
   },
   "_npmUser": {
     "name": "isaacs",
     "email": "i@izs.me"
   },
-  "_npmVersion": "3.10.2",
+  "_npmVersion": "3.10.6",
   "_phantomChildren": {},
   "_requested": {
     "raw": "semver@^5.0.1",
@@ -41,11 +41,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/semver/-/semver-5.2.0.tgz",
-  "_shasum": "281995b80c1448209415ddbc4cf50c269cef55c5",
+  "_resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+  "_shasum": "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f",
   "_shrinkwrap": null,
   "_spec": "semver@^5.0.1",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common",
   "bin": {
     "semver": "./bin/semver"
   },
@@ -59,15 +59,15 @@
   },
   "directories": {},
   "dist": {
-    "shasum": "281995b80c1448209415ddbc4cf50c269cef55c5",
-    "tarball": "https://registry.npmjs.org/semver/-/semver-5.2.0.tgz"
+    "shasum": "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f",
+    "tarball": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz"
   },
   "files": [
     "bin",
     "range.bnf",
     "semver.js"
   ],
-  "gitHead": "f7fef36765c53ebe237bf415c3ea002f24aa5621",
+  "gitHead": "d21444a0658224b152ce54965d02dbe0856afb84",
   "homepage": "https://github.com/npm/node-semver#readme",
   "license": "ISC",
   "main": "semver.js",
@@ -91,5 +91,5 @@
   "scripts": {
     "test": "tap test/*.js"
   },
-  "version": "5.2.0"
+  "version": "5.3.0"
 }

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/semver/semver.js
----------------------------------------------------------------------
diff --git a/node_modules/semver/semver.js b/node_modules/semver/semver.js
index b2d7298..5f1a3c5 100644
--- a/node_modules/semver/semver.js
+++ b/node_modules/semver/semver.js
@@ -314,9 +314,9 @@ function SemVer(version, loose) {
   else
     this.prerelease = m[4].split('.').map(function(id) {
       if (/^[0-9]+$/.test(id)) {
-        var num = +id
+        var num = +id;
         if (num >= 0 && num < MAX_SAFE_INTEGER)
-          return num
+          return num;
       }
       return id;
     });
@@ -966,11 +966,11 @@ function replaceXRange(comp, loose) {
       } else if (gtlt === '<=') {
         // <=0.7.x is actually <0.8.0, since any 0.7.x should
         // pass.  Similarly, <=7.x is actually <8.0.0, etc.
-        gtlt = '<'
+        gtlt = '<';
         if (xm)
-          M = +M + 1
+          M = +M + 1;
         else
-          m = +m + 1
+          m = +m + 1;
       }
 
       ret = gtlt + M + '.' + m + '.' + p;
@@ -1094,6 +1094,15 @@ function maxSatisfying(versions, range, loose) {
   })[0] || null;
 }
 
+exports.minSatisfying = minSatisfying;
+function minSatisfying(versions, range, loose) {
+  return versions.filter(function(version) {
+    return satisfies(version, range, loose);
+  }).sort(function(a, b) {
+    return compare(a, b, loose);
+  })[0] || null;
+}
+
 exports.validRange = validRange;
 function validRange(range, loose) {
   try {

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/shelljs/package.json
----------------------------------------------------------------------
diff --git a/node_modules/shelljs/package.json b/node_modules/shelljs/package.json
index a5ede86..ffd2b04 100644
--- a/node_modules/shelljs/package.json
+++ b/node_modules/shelljs/package.json
@@ -10,7 +10,7 @@
         "spec": ">=0.5.3 <0.6.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android"
+      "/Users/steveng/repo/cordova/cordova-android"
     ]
   ],
   "_from": "shelljs@>=0.5.3 <0.6.0",
@@ -38,11 +38,11 @@
     "/",
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz",
+  "_resolved": "http://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz",
   "_shasum": "c54982b996c76ef0c1e6b59fbdc5825f5b713113",
   "_shrinkwrap": null,
   "_spec": "shelljs@^0.5.3",
-  "_where": "d:\\cordova\\cordova-android",
+  "_where": "/Users/steveng/repo/cordova/cordova-android",
   "author": {
     "name": "Artur Adib",
     "email": "arturadib@gmail.com"

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/underscore/package.json
----------------------------------------------------------------------
diff --git a/node_modules/underscore/package.json b/node_modules/underscore/package.json
index cee029f..fb23b70 100644
--- a/node_modules/underscore/package.json
+++ b/node_modules/underscore/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.8.3 <2.0.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\cordova-common"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common"
     ]
   ],
   "_from": "underscore@>=1.8.3 <2.0.0",
@@ -36,11 +36,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
+  "_resolved": "http://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
   "_shasum": "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022",
   "_shrinkwrap": null,
   "_spec": "underscore@^1.8.3",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common",
   "author": {
     "name": "Jeremy Ashkenas",
     "email": "jeremy@documentcloud.org"

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/unorm/package.json
----------------------------------------------------------------------
diff --git a/node_modules/unorm/package.json b/node_modules/unorm/package.json
index 3eb0155..2244ca2 100644
--- a/node_modules/unorm/package.json
+++ b/node_modules/unorm/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.3.3 <2.0.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\cordova-common"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common"
     ]
   ],
   "_from": "unorm@>=1.3.3 <2.0.0",
@@ -36,11 +36,11 @@
   "_requiredBy": [
     "/cordova-common"
   ],
-  "_resolved": "https://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz",
+  "_resolved": "http://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz",
   "_shasum": "364200d5f13646ca8bcd44490271335614792300",
   "_shrinkwrap": null,
   "_spec": "unorm@^1.3.3",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\cordova-common",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/cordova-common",
   "author": {
     "name": "Bjarke Walling",
     "email": "bwp@bwp.dk"

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/util-deprecate/package.json
----------------------------------------------------------------------
diff --git a/node_modules/util-deprecate/package.json b/node_modules/util-deprecate/package.json
index cd43f24..1b68a68 100644
--- a/node_modules/util-deprecate/package.json
+++ b/node_modules/util-deprecate/package.json
@@ -10,7 +10,7 @@
         "spec": "1.0.2",
         "type": "version"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\plist"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/plist"
     ]
   ],
   "_from": "util-deprecate@1.0.2",
@@ -37,11 +37,11 @@
   "_requiredBy": [
     "/plist"
   ],
-  "_resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+  "_resolved": "http://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
   "_shasum": "450d4dc9fa70de732762fbd2d4a28981419a0ccf",
   "_shrinkwrap": null,
   "_spec": "util-deprecate@1.0.2",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\plist",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/plist",
   "author": {
     "name": "Nathan Rajlich",
     "email": "nathan@tootallnate.net",

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/wrappy/package.json
----------------------------------------------------------------------
diff --git a/node_modules/wrappy/package.json b/node_modules/wrappy/package.json
index 1494a5a..b29e70c 100644
--- a/node_modules/wrappy/package.json
+++ b/node_modules/wrappy/package.json
@@ -10,7 +10,7 @@
         "spec": ">=1.0.0 <2.0.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\inflight"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/inflight"
     ]
   ],
   "_from": "wrappy@>=1.0.0 <2.0.0",
@@ -42,11 +42,11 @@
     "/inflight",
     "/once"
   ],
-  "_resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+  "_resolved": "http://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
   "_shasum": "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f",
   "_shrinkwrap": null,
   "_spec": "wrappy@1",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\inflight",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/inflight",
   "author": {
     "name": "Isaac Z. Schlueter",
     "email": "i@izs.me",

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/xmlbuilder/package.json
----------------------------------------------------------------------
diff --git a/node_modules/xmlbuilder/package.json b/node_modules/xmlbuilder/package.json
index 2beac9e..4b6bd54 100644
--- a/node_modules/xmlbuilder/package.json
+++ b/node_modules/xmlbuilder/package.json
@@ -10,7 +10,7 @@
         "spec": "4.0.0",
         "type": "version"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\plist"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/plist"
     ]
   ],
   "_from": "xmlbuilder@4.0.0",
@@ -36,11 +36,11 @@
   "_requiredBy": [
     "/plist"
   ],
-  "_resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.0.0.tgz",
+  "_resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.0.0.tgz",
   "_shasum": "98b8f651ca30aa624036f127d11cc66dc7b907a3",
   "_shrinkwrap": null,
   "_spec": "xmlbuilder@4.0.0",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\plist",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/plist",
   "author": {
     "name": "Ozgur Ozcitak",
     "email": "oozcitak@gmail.com"

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/node_modules/xmldom/package.json
----------------------------------------------------------------------
diff --git a/node_modules/xmldom/package.json b/node_modules/xmldom/package.json
index 3282fc3..7d55dd3 100644
--- a/node_modules/xmldom/package.json
+++ b/node_modules/xmldom/package.json
@@ -10,7 +10,7 @@
         "spec": ">=0.1.0 <0.2.0",
         "type": "range"
       },
-      "d:\\cordova\\cordova-android\\node_modules\\plist"
+      "/Users/steveng/repo/cordova/cordova-android/node_modules/plist"
     ]
   ],
   "_from": "xmldom@>=0.1.0 <0.2.0",
@@ -37,11 +37,11 @@
   "_requiredBy": [
     "/plist"
   ],
-  "_resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.22.tgz",
+  "_resolved": "http://registry.npmjs.org/xmldom/-/xmldom-0.1.22.tgz",
   "_shasum": "10de4e5e964981f03c8cc72fadc08d14b6c3aa26",
   "_shrinkwrap": null,
   "_spec": "xmldom@0.1.x",
-  "_where": "d:\\cordova\\cordova-android\\node_modules\\plist",
+  "_where": "/Users/steveng/repo/cordova/cordova-android/node_modules/plist",
   "author": {
     "name": "jindw",
     "email": "jindw@xidea.org",

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/a5a8868d/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 504218a..27ab727 100644
--- a/package.json
+++ b/package.json
@@ -24,7 +24,7 @@
   "author": "Apache Software Foundation",
   "license": "Apache-2.0",
   "dependencies": {
-    "cordova-common": "^1.3.0",
+    "cordova-common": "^1.4.0",
     "elementtree": "^0.1.6",
     "nopt": "^3.0.1",
     "properties-parser": "^0.2.3",


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org