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

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


The following commit(s) were added to refs/heads/master by this push:
     new cd48e22  Handle the NPE cases when the default Gradle distribution is 
not available.
cd48e22 is described below

commit cd48e225be0ae95fa2e978117369ba8dc5e3574a
Author: Laszlo Kishalmi <laszlo.kisha...@gmail.com>
AuthorDate: Wed Jan 30 12:06:47 2019 -0800

    Handle the NPE cases when the default Gradle distribution is not available.
---
 .../classpath/AbstractGradleScriptClassPath.java   |  2 +-
 .../gradle/classpath/ScriptClassPathProvider.java  | 24 +++++++++++++---------
 .../gradle/queries/GradleSourceForBinary.java      |  6 ++++--
 3 files changed, 19 insertions(+), 13 deletions(-)

diff --git 
a/groovy/gradle/src/org/netbeans/modules/gradle/classpath/AbstractGradleScriptClassPath.java
 
b/groovy/gradle/src/org/netbeans/modules/gradle/classpath/AbstractGradleScriptClassPath.java
index d7124b6..9a7f1d5 100644
--- 
a/groovy/gradle/src/org/netbeans/modules/gradle/classpath/AbstractGradleScriptClassPath.java
+++ 
b/groovy/gradle/src/org/netbeans/modules/gradle/classpath/AbstractGradleScriptClassPath.java
@@ -104,7 +104,7 @@ abstract class AbstractGradleScriptClassPath implements 
ClassPathImplementation
     public final List<? extends PathResourceImplementation> getResources() {
         if (resources == null) {
             resources = new ArrayList<>();
-            if (distDir.isDirectory()) {
+            if ((distDir !=null) && distDir.isDirectory()) {
                 for (FileObject fo : createPath()) {
                     resources.add(ClassPathSupport.createResource(fo.toURL()));
                 }
diff --git 
a/groovy/gradle/src/org/netbeans/modules/gradle/classpath/ScriptClassPathProvider.java
 
b/groovy/gradle/src/org/netbeans/modules/gradle/classpath/ScriptClassPathProvider.java
index aa0d17d..5c4fd75 100644
--- 
a/groovy/gradle/src/org/netbeans/modules/gradle/classpath/ScriptClassPathProvider.java
+++ 
b/groovy/gradle/src/org/netbeans/modules/gradle/classpath/ScriptClassPathProvider.java
@@ -42,7 +42,7 @@ import org.openide.util.lookup.ServiceProvider;
 public class ScriptClassPathProvider implements ClassPathProvider {
 
     private static final String GRADLE_EXT = "gradle";
-    
+
     final ClassPath BOOT_CP;
     final ClassPath GRADLE_CP;
     final ClassPath SOURCE_CP;
@@ -56,7 +56,7 @@ public class ScriptClassPathProvider implements 
ClassPathProvider {
     }
 
     HashMap<FileObject, ClassPath> cache = new HashMap<>();
-    
+
     @Override
     public ClassPath findClassPath(FileObject fo, String type) {
         if ("classpath/html5".equals(type)) {
@@ -72,7 +72,7 @@ public class ScriptClassPathProvider implements 
ClassPathProvider {
                 case ClassPath.BOOT:    return BOOT_CP;
                 case ClassPath.SOURCE:  return SOURCE_CP;
                 case ClassPath.COMPILE: return GRADLE_CP;
-                case ClassPath.EXECUTE: return GRADLE_CP;                    
+                case ClassPath.EXECUTE: return GRADLE_CP;
                 }
                 }
         return null;
@@ -87,11 +87,13 @@ public class ScriptClassPathProvider implements 
ClassPathProvider {
         @Override
         protected List<FileObject> createPath() {
             List<FileObject> ret = new ArrayList<>();
-            FileObject srcDir = FileUtil.toFileObject(new File(distDir, 
"src"));
-            if ((srcDir != null) && srcDir.isFolder()) {
-                Enumeration<? extends FileObject> folders = 
srcDir.getFolders(false);
-                while (folders.hasMoreElements()) {
-                    ret.add(folders.nextElement());
+            if (distDir != null) {
+                FileObject srcDir = FileUtil.toFileObject(new File(distDir, 
"src"));
+                if ((srcDir != null) && srcDir.isFolder()) {
+                    Enumeration<? extends FileObject> folders = 
srcDir.getFolders(false);
+                    while (folders.hasMoreElements()) {
+                        ret.add(folders.nextElement());
+                    }
                 }
             }
             return ret;
@@ -103,8 +105,10 @@ public class ScriptClassPathProvider implements 
ClassPathProvider {
         @Override
         protected List<FileObject> createPath() {
             List<FileObject> ret = new ArrayList<>();
-            addJars(ret, FileUtil.toFileObject(new File(distDir, "lib")));
-            addJars(ret, FileUtil.toFileObject(new File(distDir, 
"lib/plugins")));
+            if (distDir != null) {
+                addJars(ret, FileUtil.toFileObject(new File(distDir, "lib")));
+                addJars(ret, FileUtil.toFileObject(new File(distDir, 
"lib/plugins")));
+            }
             return ret;
         }
 
diff --git 
a/groovy/gradle/src/org/netbeans/modules/gradle/queries/GradleSourceForBinary.java
 
b/groovy/gradle/src/org/netbeans/modules/gradle/queries/GradleSourceForBinary.java
index 5aba787..5be571c 100644
--- 
a/groovy/gradle/src/org/netbeans/modules/gradle/queries/GradleSourceForBinary.java
+++ 
b/groovy/gradle/src/org/netbeans/modules/gradle/queries/GradleSourceForBinary.java
@@ -19,6 +19,7 @@
 
 package org.netbeans.modules.gradle.queries;
 
+import java.io.File;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
@@ -55,8 +56,9 @@ public class GradleSourceForBinary implements 
SourceForBinaryQueryImplementation
     @Override
     public Result findSourceRoots2(URL binaryRoot) {
         Res ret = cache.get(binaryRoot);
-        if (ret == null) {
-            FileObject distDir = 
FileUtil.toFileObject(RunUtils.evaluateGradleDistribution(null, false));
+        File dist = RunUtils.evaluateGradleDistribution(null, false);
+        if ((ret == null) && (dist != null)) {
+            FileObject distDir = FileUtil.toFileObject(dist);
             FileObject srcDir = distDir == null ? null : 
distDir.getFileObject("src"); //NOI18N
             if ((srcDir != null) && ("jar".equals(binaryRoot.getProtocol()))) 
{  //NOI18N
 


---------------------------------------------------------------------
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