Repository: cordova-lib Updated Branches: refs/heads/master ecffd51ba -> b7781cbea
CB-7187 Make CoreLocation a required library only for cordova-ios < 3.6.0 Project: http://git-wip-us.apache.org/repos/asf/cordova-lib/repo Commit: http://git-wip-us.apache.org/repos/asf/cordova-lib/commit/b7781cbe Tree: http://git-wip-us.apache.org/repos/asf/cordova-lib/tree/b7781cbe Diff: http://git-wip-us.apache.org/repos/asf/cordova-lib/diff/b7781cbe Branch: refs/heads/master Commit: b7781cbea8fe9f55166ef69eb6ca18520d2a70b1 Parents: ecffd51 Author: Andrew Grieve <[email protected]> Authored: Mon Jul 21 22:56:21 2014 -0400 Committer: Andrew Grieve <[email protected]> Committed: Mon Jul 21 23:00:37 2014 -0400 ---------------------------------------------------------------------- cordova-lib/src/plugman/platforms/ios.js | 5 +++-- cordova-lib/src/plugman/util/config-changes.js | 11 +++++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/b7781cbe/cordova-lib/src/plugman/platforms/ios.js ---------------------------------------------------------------------- diff --git a/cordova-lib/src/plugman/platforms/ios.js b/cordova-lib/src/plugman/platforms/ios.js index 29f5afa..6e2f3fd 100644 --- a/cordova-lib/src/plugman/platforms/ios.js +++ b/cordova-lib/src/plugman/platforms/ios.js @@ -191,6 +191,7 @@ module.exports = { var xcode_dir = path.dirname(config_file); var pluginsDir = path.resolve(xcode_dir, 'Plugins'); var resourcesDir = path.resolve(xcode_dir, 'Resources'); + var cordovaVersion = fs.readFileSync(path.join(project_dir, 'CordovaLib', 'VERSION'), 'utf8').trim(); cachedProjectFiles[project_dir] = { plugins_dir:pluginsDir, @@ -200,7 +201,8 @@ module.exports = { pbx: pbxPath, write: function () { fs.writeFileSync(pbxPath, xcodeproj.writeSync()); - } + }, + cordovaVersion: cordovaVersion }; return cachedProjectFiles[project_dir]; @@ -208,7 +210,6 @@ module.exports = { purgeProjectFileCache:function(project_dir) { delete cachedProjectFiles[project_dir]; } - }; function getRelativeDir(file) { http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/b7781cbe/cordova-lib/src/plugman/util/config-changes.js ---------------------------------------------------------------------- diff --git a/cordova-lib/src/plugman/util/config-changes.js b/cordova-lib/src/plugman/util/config-changes.js index c314b23..b8b21c5 100644 --- a/cordova-lib/src/plugman/util/config-changes.js +++ b/cordova-lib/src/plugman/util/config-changes.js @@ -41,6 +41,7 @@ var fs = require('fs'), plist = require('plist-with-patches'), bplist = require('bplist-parser'), et = require('elementtree'), + semver = require('semver'), _ = require('underscore'), xml_helpers = require('../../util/xml-helpers'), platforms = require('./../platforms'), @@ -52,7 +53,6 @@ var fs = require('fs'), var keep_these_frameworks = [ 'MobileCoreServices.framework', 'CoreGraphics.framework', - 'CoreLocation.framework', 'AssetsLibrary.framework' ]; @@ -138,6 +138,11 @@ function PlatformMunger_apply_file_munge(file, munge, remove) { if ( file === 'framework' && self.platform === 'ios' ) { // ios pbxproj file var pbxproj = self.config_keeper.get(self.project_dir, self.platform, 'framework'); + // CoreLocation dependency removed in [email protected]. + var keepFrameworks = keep_these_frameworks; + if (semver.lt(pbxproj.cordovaVersion, '3.6.0-dev')) { + keepFrameworks = keepFrameworks.concat(['CoreLocation.framework']); + } for (var src in munge.parents) { for (xml_child in munge.parents[src]) { var xml = munge.parents[src][xml_child].xml; @@ -539,7 +544,9 @@ function ConfigFile_load() { self.data = xml_helpers.parseElementtreeSync(filepath); } else if (ext == '.pbxproj') { self.type = 'pbxproj'; - self.data = platforms.ios.parseProjectFile(self.project_dir).xcode; + var projectFile = platforms.ios.parseProjectFile(self.project_dir); + self.data = projectFile.xcode; + self.cordovaVersion = projectFile.cordovaVersion; } else { // plist file self.type = 'plist';
