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