Repository: cordova-paramedic Updated Branches: refs/heads/master 0e0d1c0a9 -> a8a39e63e
Disable Gradle daemon on CI (take two) Project: http://git-wip-us.apache.org/repos/asf/cordova-paramedic/repo Commit: http://git-wip-us.apache.org/repos/asf/cordova-paramedic/commit/a8a39e63 Tree: http://git-wip-us.apache.org/repos/asf/cordova-paramedic/tree/a8a39e63 Diff: http://git-wip-us.apache.org/repos/asf/cordova-paramedic/diff/a8a39e63 Branch: refs/heads/master Commit: a8a39e63ec8970c45529ce2813d476e2185c7a63 Parents: 0e0d1c0 Author: Alexander Sorokin <[email protected]> Authored: Wed Mar 29 15:14:10 2017 +0300 Committer: Alexander Sorokin <[email protected]> Committed: Wed Mar 29 15:14:10 2017 +0300 ---------------------------------------------------------------------- lib/paramedic.js | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cordova-paramedic/blob/a8a39e63/lib/paramedic.js ---------------------------------------------------------------------- diff --git a/lib/paramedic.js b/lib/paramedic.js index e142635..6c61401 100644 --- a/lib/paramedic.js +++ b/lib/paramedic.js @@ -177,12 +177,33 @@ ParamedicRunner.prototype.setUpStartPage = function () { }; ParamedicRunner.prototype.installPlatform = function () { + var self = this; var platform = this.config.getPlatform(); + var platformId = this.config.getPlatformId(); logger.info('cordova-paramedic: adding platform ' + platform); return execPromise(this.config.getCli() + ' platform add ' + platform) .then(function () { logger.info('cordova-paramedic: successfully finished adding platform ' + platform); + if (platformId === 'android' && self.config.isCI()) { + logger.info('cordova-paramedic: monkey patching Android platform to disable gradle daemon...'); + try { + // comment out the line where the gradle daemon is forced on + var gradleBuilderFile = path.join(self.tempFolder.name, 'platforms/android/cordova/lib/builders/GradleBuilder.js'); + var sedResult = shell.sed('-i', + /args\.push\('\-Dorg\.gradle\.daemon=true'\);/, + '//args.push(\'-Dorg.gradle.daemon=true\');', + gradleBuilderFile); + if (sedResult.indexOf('//args.push(\'-Dorg.gradle.daemon=true\');') >= 0) { + logger.info('cordova-paramedic: success!'); + } else { + logger.info('cordova-paramedic: couldn\'t apply the patch. It must be good news: does cordova-android not hard-code gradle daemon anymore?'); + } + } catch (err) { + logger.warn('cordova-paramedic: something went wrong while patching Android platform:' + err.message); + } + + } }); }; @@ -425,16 +446,13 @@ ParamedicRunner.prototype.waitForTests = function () { ParamedicRunner.prototype.getCommandForStartingTests = function () { var self = this; - // do not use gradle daemon on CI: - // https://docs.gradle.org/current/userguide/gradle_daemon.html#when_should_i_not_use_the_gradle_daemon - var buildArgs = (this.config.isCI() && this.config.getPlatformId() === 'android') ? ' -- --gradleArg=-Dorg.gradle.daemon=false' : ''; var cmd = self.config.getCli() + ' ' + this.config.getAction() + ' ' + this.config.getPlatformId(); var paramedicTargetChooser = new ParamedicTargetChooser(this.tempFolder.name, this.config); if(self.config.getAction() === 'build' || (self.config.getPlatformId() === 'windows' && self.config.getArgs().indexOf('appx=8.1-phone') < 0)) { //The app is to be run as a store app or just build. So no need to choose a target. if (self.config.getArgs()) { - cmd += ' ' + self.config.getArgs() + buildArgs; + cmd += ' ' + self.config.getArgs(); } return Q(cmd); @@ -460,18 +478,13 @@ ParamedicRunner.prototype.getCommandForStartingTests = function () { cmd += ' ' + self.config.getArgs(); } - cmd += buildArgs; - return cmd; }); }; ParamedicRunner.prototype.getCommandForBuilding = function () { var browserifyArg = this.config.isBrowserify() ? ' --browserify' : ''; - // do not use gradle daemon on CI: - // https://docs.gradle.org/current/userguide/gradle_daemon.html#when_should_i_not_use_the_gradle_daemon - var buildArgs = (this.config.isCI() && this.config.getPlatformId() === 'android') ? ' -- --gradleArg=-Dorg.gradle.daemon=false' : ''; - var cmd = this.config.getCli() + ' build ' + this.config.getPlatformId() + browserifyArg + buildArgs; + var cmd = this.config.getCli() + ' build ' + this.config.getPlatformId() + browserifyArg; return cmd; }; --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
