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';