Merge pull request #43 from JoseExposito/master

CB-13424: "cordova plugin add/remove" writes changes in config.xml
diff --git a/bin/templates/scripts/cordova/Api.js b/bin/templates/scripts/cordova/Api.js
index 8867e38..0cc666d 100644
--- a/bin/templates/scripts/cordova/Api.js
+++ b/bin/templates/scripts/cordova/Api.js
@@ -20,7 +20,9 @@
 var fs = require('fs');
 var path = require('path');
 
-var CordovaError = require('cordova-common').CordovaError;
+var PluginManager = require('cordova-common').PluginManager;
+var projectFile   = require('./lib/projectFile');
+var CordovaError  = require('cordova-common').CordovaError;
 var ConsoleLogger = require('./lib/ConsoleLogger');
 
 /**
@@ -181,8 +183,8 @@
  *   CordovaError instance.
  */
 Api.prototype.addPlugin = function (plugin, installOptions) {
-    var Plugman = require('./lib/plugman/Plugman');
-    return Plugman.get(this.locations, this.events).addPlugin(plugin, installOptions);
+    var xcodeproj = projectFile.parse(this.locations);
+    return PluginManager.get(this.platform, this.locations, xcodeproj).addPlugin(plugin, installOptions);
 };
 
 /**
@@ -199,8 +201,8 @@
  *   CordovaError instance.
  */
 Api.prototype.removePlugin = function (plugin, uninstallOptions) {
-    var Plugman = require('./lib/plugman/Plugman');
-    return Plugman.get(this.locations, this.events).removePlugin(plugin, uninstallOptions);
+    var xcodeproj = projectFile.parse(this.locations);
+    return PluginManager.get(this.platform, this.locations, xcodeproj).removePlugin(plugin, uninstallOptions)
 };
 
 /**
diff --git a/bin/templates/scripts/cordova/lib/projectFile.js b/bin/templates/scripts/cordova/lib/projectFile.js
index 0d0057b..b373464 100644
--- a/bin/templates/scripts/cordova/lib/projectFile.js
+++ b/bin/templates/scripts/cordova/lib/projectFile.js
@@ -26,6 +26,7 @@
 var fs = require('fs');
 var shell = require('shelljs');
 
+var pluginHandlers = require('./plugman/pluginHandlers');
 var CordovaError = require('cordova-common').CordovaError;
 
 var cachedProjectFiles = {};
@@ -81,6 +82,12 @@
         getPackageName: function () {
             return plist.parse(fs.readFileSync(plist_file, 'utf8')).CFBundleIdentifier;
         },
+        getInstaller: function (name) {
+            return pluginHandlers.getInstaller(name);
+        },
+        getUninstaller: function (name) {
+            return pluginHandlers.getUninstaller(name);
+        },
         frameworks: frameworks
     };
     return cachedProjectFiles[project_dir];
diff --git a/package.json b/package.json
index dcac015..0e2dd06 100644
--- a/package.json
+++ b/package.json
@@ -24,7 +24,7 @@
   "author": "Apache Software Foundation",
   "license": "Apache Version 2.0",
   "dependencies": {
-    "cordova-common": "^1.0.0",
+    "cordova-common": "2.1.0",
     "nopt": "^3.0.6",
     "q": "^1.4.1",
     "shelljs": "^0.5.3",