You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by br...@apache.org on 2013/05/23 23:58:37 UTC
[40/50] git commit: [CB-3457] Fix Android to support dash in widget
id.
[CB-3457] Fix Android to support dash in widget id.
Project: http://git-wip-us.apache.org/repos/asf/cordova-cli/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-cli/commit/2597ee2b
Tree: http://git-wip-us.apache.org/repos/asf/cordova-cli/tree/2597ee2b
Diff: http://git-wip-us.apache.org/repos/asf/cordova-cli/diff/2597ee2b
Branch: refs/heads/master2
Commit: 2597ee2b03b3e6b414ecd671e139af0e3d96bcb5
Parents: b981588
Author: Michael Brooks <mi...@michaelbrooks.ca>
Authored: Tue May 21 11:56:19 2013 -0700
Committer: Ian Clelland <ic...@chromium.org>
Committed: Thu May 23 16:04:02 2013 -0400
----------------------------------------------------------------------
.../platform-script/android/android_parser.spec.js | 17 +++++++++++++++
src/metadata/android_parser.js | 1 +
2 files changed, 18 insertions(+), 0 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/2597ee2b/spec/platform-script/android/android_parser.spec.js
----------------------------------------------------------------------
diff --git a/spec/platform-script/android/android_parser.spec.js b/spec/platform-script/android/android_parser.spec.js
index 84c7903..03bf1a1 100644
--- a/spec/platform-script/android/android_parser.spec.js
+++ b/spec/platform-script/android/android_parser.spec.js
@@ -98,6 +98,23 @@ describe('android project parser', function() {
expect(fs.existsSync(javs)).toBe(true);
expect(fs.readFileSync(javs, 'utf-8')).toMatch(/package ca.filmaj.dewd/i);
});
+ it('should handle unsupported "-" in the application package name', function() {
+ var javs = path.join(android_path, 'src', 'ca', 'filmaj', 'the_dewd', 'cordovaExample.java');
+ var orig_javs = path.join(android_path, 'src', 'org', 'apache', 'cordova', 'cordovaExample', 'cordovaExample.java');
+ var orig_contents = fs.readFileSync(orig_javs, 'utf-8');
+ this.after(function() {
+ fs.writeFileSync(orig_javs, orig_contents, 'utf-8');
+ shell.rm('-rf', path.join(android_path, 'src', 'ca'));
+ });
+ config.packageName('ca.filmaj.the-dewd');
+ project.update_from_config(config);
+
+ var manifest = new et.ElementTree(et.XML(fs.readFileSync(android_manifest, 'utf-8')));
+ expect(manifest.getroot().attrib.package).toEqual('ca.filmaj.the_dewd');
+
+ expect(fs.existsSync(javs)).toBe(true);
+ expect(fs.readFileSync(javs, 'utf-8')).toMatch(/package ca.filmaj.the_dewd/i);
+ });
it('should update the whitelist properly', function() {
config.access.remove('*');
config.access.add('http://apache.org');
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/2597ee2b/src/metadata/android_parser.js
----------------------------------------------------------------------
diff --git a/src/metadata/android_parser.js b/src/metadata/android_parser.js
index 09b379f..ec6b7d0 100644
--- a/src/metadata/android_parser.js
+++ b/src/metadata/android_parser.js
@@ -73,6 +73,7 @@ module.exports.prototype = {
// Update package name by changing the AndroidManifest id and moving the entry class around to the proper package directory
var manifest = new et.ElementTree(et.XML(fs.readFileSync(this.manifest, 'utf-8')));
var pkg = config.packageName();
+ pkg = pkg.replace(/-/g, '_'); // Java packages cannot support dashes
var orig_pkg = manifest.getroot().attrib.package;
manifest.getroot().attrib.package = pkg;
fs.writeFileSync(this.manifest, manifest.write({indent: 4}), 'utf-8');