You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by lk...@apache.org on 2020/10/14 02:23:33 UTC

[netbeans] branch master updated: [NETBEANS-4896] Classpath Fixes for Gradle Java projects

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/netbeans.git


The following commit(s) were added to refs/heads/master by this push:
     new 889a8f8  [NETBEANS-4896] Classpath Fixes for Gradle Java projects
889a8f8 is described below

commit 889a8f8659fde252a84d1c4f26fa604d61833f68
Author: Laszlo Kishalmi <la...@gmail.com>
AuthorDate: Sat Oct 10 22:57:18 2020 -0700

    [NETBEANS-4896] Classpath Fixes for Gradle Java projects
---
 java/gradle.java/nbproject/project.xml                         |  5 +++--
 .../modules/gradle/java/classpath/ClassPathProviderImpl.java   |  2 +-
 .../modules/gradle/java/classpath/CompileClassPathImpl.java    |  1 +
 .../modules/gradle/java/classpath/GradleSourcesImpl.java       |  4 +++-
 .../modules/gradle/java/classpath/SourceClassPathImpl.java     |  4 ----
 .../modules/gradle/java/queries/GradleSourceForBinary.java     | 10 ++++------
 6 files changed, 12 insertions(+), 14 deletions(-)

diff --git a/java/gradle.java/nbproject/project.xml b/java/gradle.java/nbproject/project.xml
index df25623..27e7751 100644
--- a/java/gradle.java/nbproject/project.xml
+++ b/java/gradle.java/nbproject/project.xml
@@ -340,9 +340,10 @@
                     </test-dependency>
                     <test-dependency>
                         <code-name-base>org.openide.modules</code-name-base>
-                        <run-dependency/>
+                        <compile-dependency/>
                         <test/>
-                    </test-dependency>                    <test-dependency>
+                    </test-dependency>
+                    <test-dependency>
                         <code-name-base>org.openide.util.ui</code-name-base>
                         <compile-dependency/>
                         <test/>
diff --git a/java/gradle.java/src/org/netbeans/modules/gradle/java/classpath/ClassPathProviderImpl.java b/java/gradle.java/src/org/netbeans/modules/gradle/java/classpath/ClassPathProviderImpl.java
index db5e474..d2d6aa2 100644
--- a/java/gradle.java/src/org/netbeans/modules/gradle/java/classpath/ClassPathProviderImpl.java
+++ b/java/gradle.java/src/org/netbeans/modules/gradle/java/classpath/ClassPathProviderImpl.java
@@ -306,7 +306,7 @@ public final class ClassPathProviderImpl extends ProjectOpenedHook implements Cl
 
         private synchronized ClassPath getModuleCompilePath() {
             if (moduleCompile == null) {
-                moduleCompile = createMultiplexClassPath(getJava8CompileClassPath(), ClassPath.EMPTY);
+                moduleCompile = createMultiplexClassPath(getJava8CompileClassPath(), getJava8CompileClassPath());
             }
             return moduleCompile;
         }
diff --git a/java/gradle.java/src/org/netbeans/modules/gradle/java/classpath/CompileClassPathImpl.java b/java/gradle.java/src/org/netbeans/modules/gradle/java/classpath/CompileClassPathImpl.java
index e580318..485b385 100644
--- a/java/gradle.java/src/org/netbeans/modules/gradle/java/classpath/CompileClassPathImpl.java
+++ b/java/gradle.java/src/org/netbeans/modules/gradle/java/classpath/CompileClassPathImpl.java
@@ -41,6 +41,7 @@ public final class CompileClassPathImpl extends AbstractSourceSetClassPathImpl {
         GradleJavaSourceSet ss = getSourceSet();
         if (ss != null)  {
             addAllFile(ret, ss.getCompileClassPath());
+            addAllFile(ret, ss.getOutputClassDirs());
         }
         return ret;
     }
diff --git a/java/gradle.java/src/org/netbeans/modules/gradle/java/classpath/GradleSourcesImpl.java b/java/gradle.java/src/org/netbeans/modules/gradle/java/classpath/GradleSourcesImpl.java
index 355f8b2..a6be472 100644
--- a/java/gradle.java/src/org/netbeans/modules/gradle/java/classpath/GradleSourcesImpl.java
+++ b/java/gradle.java/src/org/netbeans/modules/gradle/java/classpath/GradleSourcesImpl.java
@@ -155,11 +155,13 @@ public class GradleSourcesImpl implements Sources, SourceGroupModifierImplementa
         SourceType stype = soureType2SourceType(type);
         if (stype != null) {
             ArrayList<SourceGroup> ret = new ArrayList<>();
+            Set<File> processed = new HashSet();
             for (String group : gradleSources.keySet()) {
                 Set<File> dirs = gradleSources.get(group).getSourceDirs(stype);
                 boolean unique = dirs.size() == 1;
                 for (File dir : dirs) {
-                    if (dir.isDirectory()) {
+                    if (!processed.contains(dir) && dir.isDirectory()) {
+                        processed.add(dir);
                         ret.add(createSourceGroup(unique, group, dir, stype));
                     }
                 }
diff --git a/java/gradle.java/src/org/netbeans/modules/gradle/java/classpath/SourceClassPathImpl.java b/java/gradle.java/src/org/netbeans/modules/gradle/java/classpath/SourceClassPathImpl.java
index 66ae83b..9bbf476 100644
--- a/java/gradle.java/src/org/netbeans/modules/gradle/java/classpath/SourceClassPathImpl.java
+++ b/java/gradle.java/src/org/netbeans/modules/gradle/java/classpath/SourceClassPathImpl.java
@@ -40,11 +40,7 @@ public final class SourceClassPathImpl extends AbstractSourceSetClassPathImpl {
         List<URL> ret = new ArrayList<>();
         GradleJavaSourceSet ss = getSourceSet();
         if (ss != null) {
-
             addAllFile(ret, ss.getAllDirs());
-            for (GradleJavaSourceSet sourceDependency : ss.getSourceDependencies()) {
-                addAllFile(ret, sourceDependency.getAllDirs());
-            }
         }
         return ret;
     }
diff --git a/java/gradle.java/src/org/netbeans/modules/gradle/java/queries/GradleSourceForBinary.java b/java/gradle.java/src/org/netbeans/modules/gradle/java/queries/GradleSourceForBinary.java
index 4a5a4ff..c8c1e1f 100644
--- a/java/gradle.java/src/org/netbeans/modules/gradle/java/queries/GradleSourceForBinary.java
+++ b/java/gradle.java/src/org/netbeans/modules/gradle/java/queries/GradleSourceForBinary.java
@@ -78,13 +78,11 @@ public class GradleSourceForBinary implements SourceForBinaryQueryImplementation
                             for (GradleJavaSourceSet ss : prj.getSourceSets().values()) {
                                 File outputDir = ss.getCompilerArgs(JAVA).contains("--module-source-path") ? //NOI18N
                                         root.getParentFile() : root;
-                                for (File dir : ss.getOutputClassDirs()) {
-                                    if (outputDir.equals(dir)) {
-                                        ret = new Res(project, ss.getName(), EnumSet.of(JAVA, GROOVY, SCALA, GENERATED));
-                                        break;
-                                    }
+                                if (ss.getOutputClassDirs().contains(outputDir)) {
+                                    ret = new Res(project, ss.getName(), EnumSet.of(JAVA, GROOVY, SCALA, GENERATED));
+                                    break;
                                 }
-                                if (root.equals(ss.getOutputResources())) {
+                                if ((ret == null) && root.equals(ss.getOutputResources())) {
                                     ret = new Res(project, ss.getName(), EnumSet.of(RESOURCES));
                                 }
                                 if (ret != null) {


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