You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ag...@apache.org on 2014/07/22 05:00:41 UTC

git commit: CB-7187 Make CoreLocation a required library only for cordova-ios < 3.6.0

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 <ag...@chromium.org>
Authored: Mon Jul 21 22:56:21 2014 -0400
Committer: Andrew Grieve <ag...@chromium.org>
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 cordova-ios@3.6.0.
+        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';