From 2db3e617860a2bb41d5d530bb398ef992104710b Mon Sep 17 00:00:00 2001 From: Darryl Pogue Date: Fri, 15 Jul 2016 11:23:27 -0700 Subject: [PATCH] CB-11589: Fix missing plugin files after restore --- cordova-lib/src/cordova/platform.js | 24 ++++++++++++++---------- cordova-lib/src/cordova/prepare.js | 2 +- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/cordova-lib/src/cordova/platform.js b/cordova-lib/src/cordova/platform.js index 95f1af5fb..680fb3b3f 100644 --- a/cordova-lib/src/cordova/platform.js +++ b/cordova-lib/src/cordova/platform.js @@ -193,22 +193,26 @@ function addHelper(cmd, hooksRunner, projectRoot, targets, opts) { return promise() .then(function () { - return prepare.preparePlatforms([platform], projectRoot, { searchpath: opts.searchpath }); + if (!opts.restoring) { + return prepare.preparePlatforms([platform], projectRoot, { searchpath: opts.searchpath }); + } }) .then(function() { - if (cmd == 'add') { + if (cmd == 'add' && !opts.restoring) { return installPluginsForNewPlatform(platform, projectRoot, opts); } }) .then(function () { - // Call prepare for the current platform. - var prepOpts = { - platforms :[platform], - searchpath :opts.searchpath, - fetch: opts.fetch || false, - save: opts.save || false - }; - return require('./cordova').raw.prepare(prepOpts); + if (!opts.restoring) { + // Call prepare for the current platform if we're not restoring from config.xml + var prepOpts = { + platforms :[platform], + searchpath :opts.searchpath, + fetch: opts.fetch || false, + save: opts.save || false + }; + return require('./cordova').raw.prepare(prepOpts); + } }) .then(function() { var saveVersion = !spec || semver.validRange(spec, true); diff --git a/cordova-lib/src/cordova/prepare.js b/cordova-lib/src/cordova/prepare.js index ff4f11944..00d50ad62 100644 --- a/cordova-lib/src/cordova/prepare.js +++ b/cordova-lib/src/cordova/prepare.js @@ -43,7 +43,7 @@ function prepare(options) { var hooksRunner = new HooksRunner(projectRoot); return hooksRunner.fire('before_prepare', options) .then(function(){ - return restore.installPlatformsFromConfigXML(options.platforms, { searchpath : options.searchpath, fetch : options.fetch, save : options.save }); + return restore.installPlatformsFromConfigXML(options.platforms, { searchpath : options.searchpath, fetch : options.fetch, restoring : true }); }) .then(function(){ options = cordova_util.preProcessOptions(options);