You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ni...@apache.org on 2017/07/28 11:19:23 UTC

android commit: CB-13031: Fix bug with case-sensitivity of android-packageName

Repository: cordova-android
Updated Branches:
  refs/heads/master 458e47968 -> 36d07d7a1


CB-13031: Fix bug with case-sensitivity of android-packageName

this closes #397


Project: http://git-wip-us.apache.org/repos/asf/cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-android/commit/36d07d7a
Tree: http://git-wip-us.apache.org/repos/asf/cordova-android/tree/36d07d7a
Diff: http://git-wip-us.apache.org/repos/asf/cordova-android/diff/36d07d7a

Branch: refs/heads/master
Commit: 36d07d7a15432e0bade5dd0c4ab0f0c38cb56fb2
Parents: 458e479
Author: Nikita Matrosov <v-...@microsoft.com>
Authored: Fri Jul 28 14:05:53 2017 +0300
Committer: Nikita Matrosov <v-...@microsoft.com>
Committed: Fri Jul 28 14:05:53 2017 +0300

----------------------------------------------------------------------
 bin/lib/create.js                    |  2 +-
 bin/templates/cordova/lib/prepare.js | 21 +++++++++++++--------
 spec/unit/create.spec.js             |  2 +-
 3 files changed, 15 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-android/blob/36d07d7a/bin/lib/create.js
----------------------------------------------------------------------
diff --git a/bin/lib/create.js b/bin/lib/create.js
index ae32ce4..40df366 100755
--- a/bin/lib/create.js
+++ b/bin/lib/create.js
@@ -247,7 +247,7 @@ exports.create = function (project_path, config, options, events) {
         return Q.reject(new CordovaError('Project already exists! Delete and recreate'));
     }
 
-    var package_name = config.packageName() || 'my.cordova.project';
+    var package_name = config.android_packageName() || config.packageName() || 'my.cordova.project';
     var project_name = config.name() ?
         config.name().replace(/[^\w.]/g, '_') : 'CordovaExample';
 

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/36d07d7a/bin/templates/cordova/lib/prepare.js
----------------------------------------------------------------------
diff --git a/bin/templates/cordova/lib/prepare.js b/bin/templates/cordova/lib/prepare.js
index b0bfb29..39f9ae4 100644
--- a/bin/templates/cordova/lib/prepare.js
+++ b/bin/templates/cordova/lib/prepare.js
@@ -24,6 +24,7 @@ var path = require('path');
 var shell = require('shelljs');
 var events = require('cordova-common').events;
 var AndroidManifest = require('./AndroidManifest');
+var checkReqs = require('./check_reqs');
 var xmlHelpers = require('cordova-common').xmlHelpers;
 var CordovaError = require('cordova-common').CordovaError;
 var ConfigParser = require('cordova-common').ConfigParser;
@@ -181,10 +182,10 @@ function updateProjectAccordingTo (platformConfig, locations) {
     events.emit('verbose', 'Wrote out android application name "' + name + '" to ' + locations.strings);
 
     // Java packages cannot support dashes
-    var pkg = (platformConfig.android_packageName() || platformConfig.packageName()).replace(/-/g, '_');
+    var androidPkgName = (platformConfig.android_packageName() || platformConfig.packageName()).replace(/-/g, '_');
 
     var manifest = new AndroidManifest(locations.manifest);
-    var orig_pkg = manifest.getPackageId();
+    var manifestId = manifest.getPackageId();
 
     manifest.getActivity()
         .setOrientation(platformConfig.getPreference('orientation'))
@@ -192,13 +193,13 @@ function updateProjectAccordingTo (platformConfig, locations) {
 
     manifest.setVersionName(platformConfig.version())
         .setVersionCode(platformConfig.android_versionCode() || default_versionCode(platformConfig.version()))
-        .setPackageId(pkg)
+        .setPackageId(androidPkgName)
         .setMinSdkVersion(platformConfig.getPreference('android-minSdkVersion', 'android'))
         .setMaxSdkVersion(platformConfig.getPreference('android-maxSdkVersion', 'android'))
         .setTargetSdkVersion(platformConfig.getPreference('android-targetSdkVersion', 'android'))
         .write();
 
-    var javaPattern = path.join(locations.root, 'src', orig_pkg.replace(/\./g, '/'), '*.java');
+    var javaPattern = path.join(locations.root, 'src', manifestId.replace(/\./g, '/'), '*.java');
     var java_files = shell.ls(javaPattern).filter(function (f) {
         return shell.grep(/extends\s+CordovaActivity/g, f);
     });
@@ -209,12 +210,16 @@ function updateProjectAccordingTo (platformConfig, locations) {
         events.emit('log', 'Multiple candidate Java files that extend CordovaActivity found. Guessing at the first one, ' + java_files[0]);
     }
 
-    var destFile = path.join(locations.root, 'src', pkg.replace(/\./g, '/'), path.basename(java_files[0]));
+    var destFile = path.join(locations.root, 'src', androidPkgName.replace(/\./g, '/'), path.basename(java_files[0]));
     shell.mkdir('-p', path.dirname(destFile));
-    shell.sed(/package [\w\.]*;/, 'package ' + pkg + ';', java_files[0]).to(destFile);
-    events.emit('verbose', 'Wrote out Android package name "' + pkg + '" to ' + destFile);
+    shell.sed(/package [\w\.]*;/, 'package ' + androidPkgName + ';', java_files[0]).to(destFile);
+    events.emit('verbose', 'Wrote out Android package name "' + androidPkgName + '" to ' + destFile);
 
-    if (orig_pkg !== pkg) {
+    var removeOrigPkg = checkReqs.isWindows() || checkReqs.isDarwin() ?
+        manifestId.toUpperCase() !== androidPkgName.toUpperCase() :
+        manifestId !== androidPkgName;
+
+    if (removeOrigPkg) {
         // If package was name changed we need to remove old java with main activity
         shell.rm('-Rf', java_files[0]);
         // remove any empty directories

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/36d07d7a/spec/unit/create.spec.js
----------------------------------------------------------------------
diff --git a/spec/unit/create.spec.js b/spec/unit/create.spec.js
index 8fdbdb8..bfd6295 100644
--- a/spec/unit/create.spec.js
+++ b/spec/unit/create.spec.js
@@ -148,7 +148,7 @@ describe('create', function () {
             spyOn(shell, 'cp');
             spyOn(shell, 'mkdir');
             spyOn(shell, 'sed');
-            config_mock = jasmine.createSpyObj('ConfigParser mock instance', ['packageName', 'name', 'android_activityName']);
+            config_mock = jasmine.createSpyObj('ConfigParser mock instance', ['packageName', 'android_packageName', 'name', 'android_activityName']);
             events_mock = jasmine.createSpyObj('EventEmitter mock instance', ['emit']);
             spyOn(check_reqs, 'get_target').and.returnValue(fake_android_target);
         });


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org