From 458e47968158642e803a36b2aaed15b5a789a994 Mon Sep 17 00:00:00 2001 From: filmaj Date: Thu, 27 Jul 2017 14:33:16 -0700 Subject: [PATCH 1/3] Trying AppVeyor-supplied workaround for current appveyor time out issues. See http://help.appveyor.com/discussions/problems/7159-builds-timing-out-after-an-hour --- appveyor.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/appveyor.yml b/appveyor.yml index f8bef7ed..086abd5f 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,3 +1,6 @@ +image: + - Previous Visual Studio 2015 + environment: ANDROID_HOME: "C:\\android" matrix: From 36d07d7a15432e0bade5dd0c4ab0f0c38cb56fb2 Mon Sep 17 00:00:00 2001 From: Nikita Matrosov Date: Fri, 28 Jul 2017 14:05:53 +0300 Subject: [PATCH 2/3] CB-13031: Fix bug with case-sensitivity of android-packageName this closes #397 --- 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(-) diff --git a/bin/lib/create.js b/bin/lib/create.js index ae32ce40..40df3665 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'; diff --git a/bin/templates/cordova/lib/prepare.js b/bin/templates/cordova/lib/prepare.js index b0bfb299..39f9ae4e 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 diff --git a/spec/unit/create.spec.js b/spec/unit/create.spec.js index 8fdbdb81..bfd6295e 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); }); From 2b53c98cf585a2f82f9d94f9acc210f362c48f97 Mon Sep 17 00:00:00 2001 From: Nikita Matrosov Date: Fri, 28 Jul 2017 14:23:53 +0300 Subject: [PATCH 3/3] CB-12453: Remove unnecessary double quotes from .bat files which are the causes of crash if project path contains spaces this closes #362 --- bin/android_sdk_version.bat | 2 +- bin/check_reqs.bat | 2 +- bin/templates/cordova/lib/install-device.bat | 2 +- bin/templates/cordova/lib/install-emulator.bat | 2 +- bin/templates/cordova/lib/list-devices.bat | 2 +- bin/templates/cordova/lib/list-emulator-images.bat | 2 +- bin/templates/cordova/lib/list-started-emulators.bat | 2 +- bin/templates/cordova/lib/start-emulator.bat | 2 +- spec/e2e/helpers/projectActions.js | 5 ++--- 9 files changed, 10 insertions(+), 11 deletions(-) diff --git a/bin/android_sdk_version.bat b/bin/android_sdk_version.bat index 33a1fa25..a6bc1043 100644 --- a/bin/android_sdk_version.bat +++ b/bin/android_sdk_version.bat @@ -18,7 +18,7 @@ @ECHO OFF SET script_path="%~dp0android_sdk_version" IF EXIST %script_path% ( - node "%script_path%" %* + node %script_path% %* ) ELSE ( ECHO. ECHO ERROR: Could not find 'android_sdk_version' script in 'bin' folder, aborting...>&2 diff --git a/bin/check_reqs.bat b/bin/check_reqs.bat index cb2c6f54..846dfa1f 100644 --- a/bin/check_reqs.bat +++ b/bin/check_reqs.bat @@ -18,7 +18,7 @@ @ECHO OFF SET script_path="%~dp0check_reqs" IF EXIST %script_path% ( - node "%script_path%" %* + node %script_path% %* ) ELSE ( ECHO. ECHO ERROR: Could not find 'check_reqs' script in 'bin' folder, aborting...>&2 diff --git a/bin/templates/cordova/lib/install-device.bat b/bin/templates/cordova/lib/install-device.bat index ac7214ac..109b470e 100644 --- a/bin/templates/cordova/lib/install-device.bat +++ b/bin/templates/cordova/lib/install-device.bat @@ -18,7 +18,7 @@ @ECHO OFF SET script_path="%~dp0install-device" IF EXIST %script_path% ( - node "%script_path%" %* + node %script_path% %* ) ELSE ( ECHO. ECHO ERROR: Could not find 'install-device' script in 'cordova\lib' folder, aborting...>&2 diff --git a/bin/templates/cordova/lib/install-emulator.bat b/bin/templates/cordova/lib/install-emulator.bat index 1ec67790..a28c23a1 100644 --- a/bin/templates/cordova/lib/install-emulator.bat +++ b/bin/templates/cordova/lib/install-emulator.bat @@ -18,7 +18,7 @@ @ECHO OFF SET script_path="%~dp0install-emulator" IF EXIST %script_path% ( - node "%script_path%" %* + node %script_path% %* ) ELSE ( ECHO. ECHO ERROR: Could not find 'install-emulator' script in 'cordova\lib' folder, aborting...>&2 diff --git a/bin/templates/cordova/lib/list-devices.bat b/bin/templates/cordova/lib/list-devices.bat index c0bcdd9a..ad5f03ed 100644 --- a/bin/templates/cordova/lib/list-devices.bat +++ b/bin/templates/cordova/lib/list-devices.bat @@ -18,7 +18,7 @@ @ECHO OFF SET script_path="%~dp0list-devices" IF EXIST %script_path% ( - node "%script_path%" %* + node %script_path% %* ) ELSE ( ECHO. ECHO ERROR: Could not find 'list-devices' script in 'cordova\lib' folder, aborting...>&2 diff --git a/bin/templates/cordova/lib/list-emulator-images.bat b/bin/templates/cordova/lib/list-emulator-images.bat index 661cbf95..616ffb75 100644 --- a/bin/templates/cordova/lib/list-emulator-images.bat +++ b/bin/templates/cordova/lib/list-emulator-images.bat @@ -18,7 +18,7 @@ @ECHO OFF SET script_path="%~dp0list-emulator-images" IF EXIST %script_path% ( - node "%script_path%" %* + node %script_path% %* ) ELSE ( ECHO. ECHO ERROR: Could not find 'list-emulator-images' script in 'cordova\lib' folder, aborting...>&2 diff --git a/bin/templates/cordova/lib/list-started-emulators.bat b/bin/templates/cordova/lib/list-started-emulators.bat index a4e88f7d..eed02a5c 100644 --- a/bin/templates/cordova/lib/list-started-emulators.bat +++ b/bin/templates/cordova/lib/list-started-emulators.bat @@ -18,7 +18,7 @@ @ECHO OFF SET script_path="%~dp0list-started-emulators" IF EXIST %script_path% ( - node "%script_path%" %* + node %script_path% %* ) ELSE ( ECHO. ECHO ERROR: Could not find 'list-started-emulators' script in 'cordova\lib' folder, aborting...>&2 diff --git a/bin/templates/cordova/lib/start-emulator.bat b/bin/templates/cordova/lib/start-emulator.bat index 9329d951..6c237ea2 100644 --- a/bin/templates/cordova/lib/start-emulator.bat +++ b/bin/templates/cordova/lib/start-emulator.bat @@ -18,7 +18,7 @@ @ECHO OFF SET script_path="%~dp0start-emulator" IF EXIST %script_path% ( - node "%script_path%" %* + node %script_path% %* ) ELSE ( ECHO. ECHO ERROR: Could not find 'start-emulator' script in 'cordova\lib' folder, aborting...>&2 diff --git a/spec/e2e/helpers/projectActions.js b/spec/e2e/helpers/projectActions.js index 4e3d8f2a..9ac8936d 100644 --- a/spec/e2e/helpers/projectActions.js +++ b/spec/e2e/helpers/projectActions.js @@ -45,7 +45,7 @@ module.exports.createProject = function (projectname, projectid, platformpath, c module.exports.removeProject(projectid); // create the project - var command = util.format('%s %s %s "%s"', createScriptPath, projectDirName, projectid, projectname); + var command = util.format('"%s" %s %s "%s"', createScriptPath, projectDirName, projectid, projectname); cp.exec(command, function (error, stdout, stderr) { if (error) { console.log(stdout); @@ -69,8 +69,7 @@ module.exports.updateProject = function (projectid, platformpath, callback) { } var projectDirName = getDirName(projectid); var updateScriptPath = platformpath ? path.join(platformpath, 'bin/update') : path.join(cordova_bin, 'update'); - var command = util.format('%s %s', updateScriptPath, projectDirName); - + var command = util.format('"%s" %s', updateScriptPath, projectDirName); cp.exec(command, function (error, stdout, stderr) { if (error) { console.log(stdout);