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]

Reply via email to