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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]

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

Reply via email to