You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by sg...@apache.org on 2014/10/31 17:36:07 UTC
[1/2] git commit: CB-6992 Fix build issue on iOS when app name
contains accented characters
Repository: cordova-lib
Updated Branches:
refs/heads/master 4af51a2b4 -> 30d68acd6
CB-6992 Fix build issue on iOS when app name contains accented characters
Project: http://git-wip-us.apache.org/repos/asf/cordova-lib/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-lib/commit/5b360c84
Tree: http://git-wip-us.apache.org/repos/asf/cordova-lib/tree/5b360c84
Diff: http://git-wip-us.apache.org/repos/asf/cordova-lib/diff/5b360c84
Branch: refs/heads/master
Commit: 5b360c84b41ceb2ef370b4fb6150be793c982b8f
Parents: 4af51a2
Author: Kotikov Vladimir <v-...@microsoft.com>
Authored: Fri Oct 24 02:58:19 2014 -0700
Committer: sgrebnov <v-...@microsoft.com>
Committed: Fri Oct 31 09:33:48 2014 -0700
----------------------------------------------------------------------
cordova-lib/src/cordova/metadata/ios_parser.js | 8 ++++----
cordova-lib/src/cordova/platform.js | 6 +++++-
2 files changed, 9 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/5b360c84/cordova-lib/src/cordova/metadata/ios_parser.js
----------------------------------------------------------------------
diff --git a/cordova-lib/src/cordova/metadata/ios_parser.js b/cordova-lib/src/cordova/metadata/ios_parser.js
index 877b68e..c2b2844 100644
--- a/cordova-lib/src/cordova/metadata/ios_parser.js
+++ b/cordova-lib/src/cordova/metadata/ios_parser.js
@@ -40,9 +40,6 @@ module.exports = function ios_parser(project) {
if (!xcodeproj_dir) throw new CordovaError('The provided path "' + project + '" is not a Cordova iOS project.');
this.xcodeproj = path.join(project, xcodeproj_dir);
this.originalName = this.xcodeproj.substring(this.xcodeproj.lastIndexOf(path.sep)+1, this.xcodeproj.indexOf('.xcodeproj'));
- // CB-6992 it is necessary to normalize characters
- // because node and shell scripts handles unicode symbols differently
- this.originalName = unorm.nfd(this.originalName);
this.cordovaproj = path.join(project, this.originalName);
} catch(e) {
throw new CordovaError('The provided path "'+project+'" is not a Cordova iOS project.');
@@ -59,7 +56,10 @@ module.exports.prototype = {
} else {
return Q.reject(new Error('update_from_config requires a ConfigParser object'));
}
- var name = config.name();
+ // CB-6992 it is necessary to normalize characters
+ // because node and shell scripts handles unicode symbols differently
+ // We need to normalize the name to NFD form since iOS uses NFD unicode form
+ var name = unorm.nfd(config.name());
var pkg = config.ios_CFBundleIdentifier() || config.packageName();
var version = config.version();
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/5b360c84/cordova-lib/src/cordova/platform.js
----------------------------------------------------------------------
diff --git a/cordova-lib/src/cordova/platform.js b/cordova-lib/src/cordova/platform.js
index d8264e1..bd22bf7 100644
--- a/cordova-lib/src/cordova/platform.js
+++ b/cordova-lib/src/cordova/platform.js
@@ -39,6 +39,7 @@ var config = require('./config'),
promiseutil = require('../util/promise-util'),
superspawn = require('./superspawn'),
semver = require('semver'),
+ unorm = require('unorm'),
shell = require('shelljs');
// Expose the platform parsers on top of this command
@@ -455,7 +456,10 @@ function call_into_create(target, projectRoot, cfg, libDir, template_dir, opts)
}
var pkg = cfg.packageName().replace(/[^\w.]/g,'_');
- var name = cfg.name();
+ // CB-6992 it is necessary to normalize characters
+ // because node and shell scripts handles unicode symbols differently
+ // We need to normalize the name to NFD form since iOS uses NFD unicode form
+ var name = target == 'ios' ? unorm.nfd(cfg.name()) : cfg.name();
args.push(output, pkg, name);
if (template_dir) {
args.push(template_dir);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org
[2/2] git commit: CB-7846 Fix plugin deletion when dependency plugin
does not exist
Posted by sg...@apache.org.
CB-7846 Fix plugin deletion when dependency plugin does not exist
Project: http://git-wip-us.apache.org/repos/asf/cordova-lib/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-lib/commit/30d68acd
Tree: http://git-wip-us.apache.org/repos/asf/cordova-lib/tree/30d68acd
Diff: http://git-wip-us.apache.org/repos/asf/cordova-lib/diff/30d68acd
Branch: refs/heads/master
Commit: 30d68acd6c9037b8bcd7d3f93e95d76e79d65207
Parents: 5b360c8
Author: sgrebnov <v-...@microsoft.com>
Authored: Wed Oct 22 12:59:05 2014 +0400
Committer: sgrebnov <v-...@microsoft.com>
Committed: Fri Oct 31 09:34:21 2014 -0700
----------------------------------------------------------------------
cordova-lib/spec-plugman/util/dependencies.spec.js | 6 +++---
cordova-lib/src/plugman/uninstall.js | 12 +++++++++---
cordova-lib/src/plugman/util/dependencies.js | 17 +++++++++++++----
3 files changed, 25 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/30d68acd/cordova-lib/spec-plugman/util/dependencies.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-plugman/util/dependencies.spec.js b/cordova-lib/spec-plugman/util/dependencies.spec.js
index d8e6ef2..3fa5ece 100644
--- a/cordova-lib/spec-plugman/util/dependencies.spec.js
+++ b/cordova-lib/spec-plugman/util/dependencies.spec.js
@@ -22,7 +22,7 @@ var dependencies = require('../../src/plugman/util/dependencies'),
config = require('../../src/plugman/util/config-changes');
describe('dependency module', function() {
- describe('generate_dependency_info method', function() {
+ describe('generateDependencyInfo method', function() {
it('should return a list of top-level plugins based on what is inside a platform.json file', function() {
var tlps = {
"hello":"",
@@ -34,7 +34,7 @@ describe('dependency module', function() {
installed_plugins:tlps,
dependent_plugins:[]
});
- var obj = dependencies.generate_dependency_info('some dir');
+ var obj = dependencies.generateDependencyInfo('some dir');
expect(obj.top_level_plugins).toEqual(Object.keys(tlps));
});
it('should return a dependency graph for the plugins', function() {
@@ -51,7 +51,7 @@ describe('dependency module', function() {
installed_plugins:tlps,
dependent_plugins:[]
});
- var obj = dependencies.generate_dependency_info(path.join(__dirname, '..', 'plugins', 'dependencies'), 'android');
+ var obj = dependencies.generateDependencyInfo(path.join(__dirname, '..', 'plugins', 'dependencies'), 'android');
expect(obj.graph.getChain('A')).toEqual(['C','D']);
expect(obj.graph.getChain('B')).toEqual(['D', 'E']);
});
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/30d68acd/cordova-lib/src/plugman/uninstall.js
----------------------------------------------------------------------
diff --git a/cordova-lib/src/plugman/uninstall.js b/cordova-lib/src/plugman/uninstall.js
index fd02fe9..f4b94cd 100644
--- a/cordova-lib/src/plugman/uninstall.js
+++ b/cordova-lib/src/plugman/uninstall.js
@@ -118,7 +118,13 @@ module.exports.uninstallPlugin = function(id, plugins_dir, options) {
// Recursively remove plugins which were installed as dependents (that are not top-level)
var toDelete = [];
function findDependencies(pluginId) {
- var config = xml_helpers.parseElementtreeSync(path.join(plugin_dir, '..', pluginId, 'plugin.xml')),
+ var depPluginDir = path.join(plugin_dir, '..', pluginId);
+ // Skip plugin check for dependencies if it does not exist (CB-7846).
+ if (!fs.existsSync(depPluginDir) ) {
+ events.emit('verbose', 'Plugin "'+ pluginId +'" does not exist ('+ depPluginDir +')');
+ return;
+ }
+ var config = xml_helpers.parseElementtreeSync(path.join(depPluginDir, 'plugin.xml')),
deps = config.findall('.//dependency').map(function (p) { return p.attrib.id; });
deps.forEach(function (d) {
if (toDelete.indexOf(d) === -1) {
@@ -139,7 +145,7 @@ module.exports.uninstallPlugin = function(id, plugins_dir, options) {
// Can have missing plugins on some platforms when not supported..
var dependList = {};
platforms.forEach(function(platform) {
- var depsInfo = dependencies.generate_dependency_info(plugins_dir, platform);
+ var depsInfo = dependencies.generateDependencyInfo(plugins_dir, platform);
var tlps = depsInfo.top_level_plugins;
var deps;
@@ -209,7 +215,7 @@ function runUninstallPlatform(actions, platform, project_dir, plugin_dir, plugin
var plugin_id = plugin_et._root.attrib['id'];
// Deps info can be passed recusively
- var depsInfo = options.depsInfo || dependencies.generate_dependency_info(plugins_dir, platform, 'remove');
+ var depsInfo = options.depsInfo || dependencies.generateDependencyInfo(plugins_dir, platform, 'remove');
// Check that this plugin has no dependents.
var dependents = dependencies.dependents(plugin_id, depsInfo, platform);
http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/30d68acd/cordova-lib/src/plugman/util/dependencies.js
----------------------------------------------------------------------
diff --git a/cordova-lib/src/plugman/util/dependencies.js b/cordova-lib/src/plugman/util/dependencies.js
index 511dfb6..63690de 100644
--- a/cordova-lib/src/plugman/util/dependencies.js
+++ b/cordova-lib/src/plugman/util/dependencies.js
@@ -24,9 +24,11 @@
var dep_graph = require('dep-graph'),
path = require('path'),
+ fs = require('fs'),
config_changes = require('./config-changes'),
underscore = require('underscore'),
xml_helpers = require('../../util/xml-helpers'),
+ events = require('../../events'),
package;
module.exports = package = {
@@ -41,7 +43,7 @@ module.exports = package = {
return path.join(plugins_dir, plugin_id, 'plugin.xml');
},
- generate_dependency_info:function(plugins_dir, platform) {
+ generateDependencyInfo:function(plugins_dir, platform) {
var json = config_changes.get_platform_json(plugins_dir, platform);
// TODO: store whole dependency tree in plugins/[platform].json
@@ -59,7 +61,14 @@ module.exports = package = {
});
});
Object.keys(json.dependent_plugins).forEach(function(plugin_id) {
- var xml = xml_helpers.parseElementtreeSync( package.resolveConfig(plugin_id, plugins_dir) );
+ var configPath = package.resolveConfig(plugin_id, plugins_dir);
+ // dependency plugin does not exist (CB-7846)
+ if (!fs.existsSync(configPath)) {
+ events.emit('verbose', 'Plugin "'+ plugin_id +'" does not exist ('+ configPath +')');
+ return;
+ }
+
+ var xml = xml_helpers.parseElementtreeSync(configPath);
var deps = xml.findall('.//dependency');
deps && deps.forEach(function(dep) {
graph.add(plugin_id, dep.attrib.id);
@@ -78,7 +87,7 @@ module.exports = package = {
if(typeof plugins_dir == 'object')
depsInfo = plugins_dir;
else
- depsInfo = package.generate_dependency_info(plugins_dir, platform);
+ depsInfo = package.generateDependencyInfo(plugins_dir, platform);
var graph = depsInfo.graph;
var tlps = depsInfo.top_level_plugins;
@@ -96,7 +105,7 @@ module.exports = package = {
if(typeof plugins_dir == 'object')
depsInfo = plugins_dir;
else
- depsInfo = package.generate_dependency_info(plugins_dir, platform);
+ depsInfo = package.generateDependencyInfo(plugins_dir, platform);
var graph = depsInfo.graph;
var dependencies = graph.getChain(plugin_id);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org