You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by ne...@apache.org on 2019/07/07 16:23:00 UTC

[netbeans] branch master updated: [NETBEANS-2792] Close IO only when all registered Gradle Action Hook finished.

This is an automated email from the ASF dual-hosted git repository.

neilcsmith pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git


The following commit(s) were added to refs/heads/master by this push:
     new 453c51a  [NETBEANS-2792] Close IO only when all registered Gradle Action Hook finished.
     new 9383b4b  Merge pull request #1359 from lkishalmi/NETBEANS-2792
453c51a is described below

commit 453c51ac98b1988f95c997c8d0c980242235db3c
Author: Laszlo Kishalmi <la...@gmail.com>
AuthorDate: Sat Jul 6 13:32:55 2019 -0700

    [NETBEANS-2792] Close IO only when all registered Gradle Action Hook finished.
---
 .../modules/gradle/ActionProviderImpl.java         | 23 +++++++++++++---------
 .../gradle/execute/GradleDaemonExecutor.java       |  2 --
 2 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/groovy/gradle/src/org/netbeans/modules/gradle/ActionProviderImpl.java b/groovy/gradle/src/org/netbeans/modules/gradle/ActionProviderImpl.java
index d5a72fb..ca5410c 100644
--- a/groovy/gradle/src/org/netbeans/modules/gradle/ActionProviderImpl.java
+++ b/groovy/gradle/src/org/netbeans/modules/gradle/ActionProviderImpl.java
@@ -243,15 +243,20 @@ public class ActionProviderImpl implements ActionProvider {
             final ExecutorTask task = RunUtils.executeGradle(cfg, writer.toString());
             final Lookup outerCtx = ctx;
             task.addTaskListener((Task t) -> {
-                OutputWriter out1 = task.getInputOutput().getOut();
-                boolean canReload = project.getLookup().lookup(BeforeReloadActionHook.class).beforeReload(action, outerCtx, task.result(), out1);
-                if (needReload && canReload) {
-                    String[] reloadArgs = evalueteArgs(project, mapping.getName(), mapping.getReloadArgs(), outerCtx);
-                    prj.reloadProject(true, maxQualily, reloadArgs);
-                }
-                project.getLookup().lookup(AfterBuildActionHook.class).afterAction(action, outerCtx, task.result(), out1);
-                for (AfterBuildActionHook l : context.lookupAll(AfterBuildActionHook.class)) {
-                    l.afterAction(action, outerCtx, task.result(), out1);
+                try {
+                    OutputWriter out1 = task.getInputOutput().getOut();
+                    boolean canReload = project.getLookup().lookup(BeforeReloadActionHook.class).beforeReload(action, outerCtx, task.result(), out1);
+                    if (needReload && canReload) {
+                        String[] reloadArgs = evalueteArgs(project, mapping.getName(), mapping.getReloadArgs(), outerCtx);
+                        prj.reloadProject(true, maxQualily, reloadArgs);
+                    }
+                    project.getLookup().lookup(AfterBuildActionHook.class).afterAction(action, outerCtx, task.result(), out1);
+                    for (AfterBuildActionHook l : context.lookupAll(AfterBuildActionHook.class)) {
+                        l.afterAction(action, outerCtx, task.result(), out1);
+                    }
+                } finally {
+                    task.getInputOutput().getOut().close();
+                    task.getInputOutput().getErr().close();
                 }
             });
         }
diff --git a/groovy/gradle/src/org/netbeans/modules/gradle/execute/GradleDaemonExecutor.java b/groovy/gradle/src/org/netbeans/modules/gradle/execute/GradleDaemonExecutor.java
index d5067a0..d8b8461 100644
--- a/groovy/gradle/src/org/netbeans/modules/gradle/execute/GradleDaemonExecutor.java
+++ b/groovy/gradle/src/org/netbeans/modules/gradle/execute/GradleDaemonExecutor.java
@@ -179,8 +179,6 @@ public final class GradleDaemonExecutor extends AbstractGradleExecutor {
             }
         } finally {
             BuildExecutionSupport.registerFinishedItem(item);
-            ioput.getOut().close();
-            ioput.getErr().close();
             if (pconn != null) {
                 pconn.close();
             }


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

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists