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

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


The following commit(s) were added to refs/heads/delivery by this push:
     new 995df87  [NETBEANS-6117] Fix Gradle project load operation in Wizards
     new ced2db4  Merge pull request #3480 from lkishalmi/NETBEANS-6117
995df87 is described below

commit 995df87baf6bf7f84b21f42d2645310b329140c9
Author: Laszlo Kishalmi <laszlo.kisha...@gmail.com>
AuthorDate: Wed Jan 19 13:54:55 2022 -0800

    [NETBEANS-6117] Fix Gradle project load operation in Wizards
---
 .../gradle/loaders/AbstractProjectLoader.java      |  2 +-
 .../gradle/spi/newproject/TemplateOperation.java   | 40 +++++++++++++---------
 2 files changed, 25 insertions(+), 17 deletions(-)

diff --git 
a/extide/gradle/src/org/netbeans/modules/gradle/loaders/AbstractProjectLoader.java
 
b/extide/gradle/src/org/netbeans/modules/gradle/loaders/AbstractProjectLoader.java
index a6ccb78..153bbac 100644
--- 
a/extide/gradle/src/org/netbeans/modules/gradle/loaders/AbstractProjectLoader.java
+++ 
b/extide/gradle/src/org/netbeans/modules/gradle/loaders/AbstractProjectLoader.java
@@ -71,7 +71,7 @@ public abstract class AbstractProjectLoader {
 
         public ReloadContext(NbGradleProjectImpl project, 
NbGradleProject.Quality aim, GradleCommandLine cmd, String description) {
             this.project = project;
-            this.previous = project.isGradleProjectLoaded() ? 
project.getGradleProject() : 
FallbackProjectLoader.createFallbackProject(project.getGradleFiles());
+            this.previous = project.isGradleProjectLoaded() ? 
project.projectWithQuality(null, FALLBACK, false, false) : 
FallbackProjectLoader.createFallbackProject(project.getGradleFiles());
             this.aim = aim;
             this.cmd = cmd;
             this.description = description;
diff --git 
a/extide/gradle/src/org/netbeans/modules/gradle/spi/newproject/TemplateOperation.java
 
b/extide/gradle/src/org/netbeans/modules/gradle/spi/newproject/TemplateOperation.java
index 0af2084..c47db99 100644
--- 
a/extide/gradle/src/org/netbeans/modules/gradle/spi/newproject/TemplateOperation.java
+++ 
b/extide/gradle/src/org/netbeans/modules/gradle/spi/newproject/TemplateOperation.java
@@ -50,6 +50,8 @@ import static 
org.netbeans.modules.gradle.spi.newproject.Bundle.*;
 import java.util.Collections;
 import java.util.LinkedHashSet;
 import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 import org.netbeans.api.project.Project;
 import org.netbeans.api.project.ProjectManager;
 import org.netbeans.modules.gradle.GradleProjectLoader;
@@ -65,6 +67,8 @@ import org.openide.util.NbBundle;
  * @author Laszlo Kishalmi
  */
 public final class TemplateOperation implements Runnable {
+    private static final Logger LOG = 
Logger.getLogger(TemplateOperation.class.getName());
+    
     public interface ProjectConfigurator {
         void configure(Project project);
     }
@@ -108,6 +112,7 @@ public final class TemplateOperation implements Runnable {
                 if (handle != null) {
                     handle.progress(step.getMessage(), work++);
                 }
+                LOG.log(Level.FINE, "Executing Gradle Project Template 
Operation {0}", step);
                 Set<FileObject> filesToOpen = step.execute();
                 if (filesToOpen != null) {
                     importantFiles.addAll(filesToOpen);
@@ -260,8 +265,7 @@ public final class TemplateOperation implements Runnable {
         public Set<FileObject> execute() {
             GradleConnector gconn = GradleConnector.newConnector();
             target.mkdirs();
-            ProjectConnection pconn = 
gconn.forProjectDirectory(target).connect();
-            try {
+            try (ProjectConnection pconn = 
gconn.forProjectDirectory(target).connect()) {
                 List<String> args = new ArrayList<>();
                 args.add("init");
                 // gradle init --type java-application --test-framework 
junit-jupiter --dsl groovy --package com.example --project-name example
@@ -293,8 +297,6 @@ public final class TemplateOperation implements Runnable {
             } catch (GradleConnectionException | IllegalStateException ex) {
                 // Well for some reason we were  not able to load Gradle.
                 // Ignoring that for now
-            } finally {
-                pconn.close();
             }
             return Collections.singleton(FileUtil.toFileObject(target));
         }
@@ -320,7 +322,14 @@ public final class TemplateOperation implements Runnable {
         steps.add(new PreloadProject(projectDir));
     }
 
-    private static class CreateDirStep implements OperationStep {
+    private static abstract class BaseOperationStep implements OperationStep {
+        @Override
+        public final String toString() {
+            return "Step: " + getMessage();
+        }
+    }
+    
+    private static final class CreateDirStep extends BaseOperationStep {
 
         final String message;
         final File dir;
@@ -344,9 +353,10 @@ public final class TemplateOperation implements Runnable {
             }
             return null;
         }
+        
     }
 
-    private static class ConfigureProjectStep implements OperationStep {
+    private static final class ConfigureProjectStep extends BaseOperationStep {
         final File dir;
         final ProjectConfigurator configurator;
 
@@ -367,9 +377,10 @@ public final class TemplateOperation implements Runnable {
                 try {
                     FileObject projectDir = FileUtil.toFileObject(dir);
                     Project project = 
ProjectManager.getDefault().findProject(projectDir);
+                    ProjectTrust.getDefault().trustProject(project);
                     NbGradleProjectImpl impl = project != null ? 
project.getLookup().lookup(NbGradleProjectImpl.class): null;
                     if (impl != null) {
-                        impl.fireProjectReload(true);
+                        impl.projectWithQuality(null, Quality.FULL, false, 
false);
                         configurator.configure(project);
                     }
 
@@ -380,7 +391,7 @@ public final class TemplateOperation implements Runnable {
         }
 
     }
-    private static class PreloadProject implements OperationStep {
+    private static final class PreloadProject extends BaseOperationStep {
 
         final File dir;
 
@@ -410,7 +421,7 @@ public final class TemplateOperation implements Runnable {
                     }
                     project = 
ProjectManager.getDefault().findProject(projectDir);
                     if (project != null) {
-                        //Let's trust the generate project
+                        //Let's trust the generated project
                         ProjectTrust.getDefault().trustProject(project);
                         NbGradleProjectImpl nbProject = 
project.getLookup().lookup(NbGradleProjectImpl.class);
                         if (nbProject != null) {
@@ -430,7 +441,7 @@ public final class TemplateOperation implements Runnable {
 
     }
 
-    private static class InitGradleWrapper implements OperationStep {
+    private static final class InitGradleWrapper extends BaseOperationStep {
 
         final File projectDir;
 
@@ -447,21 +458,18 @@ public final class TemplateOperation implements Runnable {
         @Override
         public Set<FileObject> execute() {
             GradleConnector gconn = GradleConnector.newConnector();
-            ProjectConnection pconn = 
gconn.forProjectDirectory(projectDir).connect();
-            try {
+            try (ProjectConnection pconn = 
gconn.forProjectDirectory(projectDir).connect()) {
                 
pconn.newBuild().withArguments("--offline").forTasks("wrapper").run(); //NOI18N
             } catch (GradleConnectionException | IllegalStateException ex) {
                 // Well for some reason we were  not able to load Gradle.
                 // Ignoring that for now
-            } finally {
-                pconn.close();
             }
             return null;
         }
 
     }
 
-    private static class CopyFromFileTemplate implements OperationStep {
+    private static final class CopyFromFileTemplate extends BaseOperationStep {
         final File target;
         final Map<String, ? extends Object> tokens;
         final boolean important;
@@ -524,7 +532,7 @@ public final class TemplateOperation implements Runnable {
 
     }
 
-    private static class CopyFromTemplate implements OperationStep {
+    private static final class CopyFromTemplate extends BaseOperationStep {
         final File target;
         final Map<String, ? extends Object> tokens;
         final boolean important;

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

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

Reply via email to