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 b49dcee [NETBEANS-4975] Every Groovy SG is a Java SG, but not every
Java SG is a Groovy SG
b49dcee is described below
commit b49dceeab86f41aba5d82e470aafbb7a91ed6f8e
Author: Laszlo Kishalmi <[email protected]>
AuthorDate: Sat Oct 31 13:45:49 2020 -0700
[NETBEANS-4975] Every Groovy SG is a Java SG, but not every Java SG is a
Groovy SG
---
.../modules/groovy/support/api/GroovySources.java | 2 --
.../gradle/java/classpath/GradleSourcesImpl.java | 28 +++++++++++-----------
.../gradle/java/nodes/SourcesNodeFactory.java | 2 +-
3 files changed, 15 insertions(+), 17 deletions(-)
diff --git
a/groovy/groovy.support/src/org/netbeans/modules/groovy/support/api/GroovySources.java
b/groovy/groovy.support/src/org/netbeans/modules/groovy/support/api/GroovySources.java
index dee1865..c25953d 100644
---
a/groovy/groovy.support/src/org/netbeans/modules/groovy/support/api/GroovySources.java
+++
b/groovy/groovy.support/src/org/netbeans/modules/groovy/support/api/GroovySources.java
@@ -22,7 +22,6 @@ package org.netbeans.modules.groovy.support.api;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import org.netbeans.api.java.project.JavaProjectConstants;
import org.netbeans.api.project.SourceGroup;
import org.netbeans.api.project.Sources;
@@ -61,7 +60,6 @@ public class GroovySources {
public static List<SourceGroup> getGroovySourceGroups(Sources sources) {
List<SourceGroup> result = new ArrayList<SourceGroup>();
result.addAll(Arrays.asList(sources.getSourceGroups(GroovySources.SOURCES_TYPE_GROOVY)));
-
result.addAll(Arrays.asList(sources.getSourceGroups(JavaProjectConstants.SOURCES_TYPE_JAVA)));
result.addAll(Arrays.asList(sources.getSourceGroups(GroovySources.SOURCES_TYPE_GRAILS)));
result.addAll(Arrays.asList(sources.getSourceGroups(GroovySources.SOURCES_TYPE_GRAILS_UNKNOWN)));
return result;
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 a6be472..d1a4301 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
@@ -34,6 +34,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
+import java.util.EnumSet;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
@@ -152,24 +153,23 @@ public class GradleSourcesImpl implements Sources,
SourceGroupModifierImplementa
@Override
public synchronized SourceGroup[] getSourceGroups(String type) {
checkChanges(false);
- SourceType stype = soureType2SourceType(type);
- if (stype != null) {
- ArrayList<SourceGroup> ret = new ArrayList<>();
+ ArrayList<SourceGroup> ret = new ArrayList<>();
+ Set<SourceType> stype = soureType2SourceType(type);
+ for (SourceType st : stype) {
Set<File> processed = new HashSet();
for (String group : gradleSources.keySet()) {
- Set<File> dirs = gradleSources.get(group).getSourceDirs(stype);
+ Set<File> dirs = gradleSources.get(group).getSourceDirs(st);
boolean unique = dirs.size() == 1;
for (File dir : dirs) {
if (!processed.contains(dir) && dir.isDirectory()) {
processed.add(dir);
- ret.add(createSourceGroup(unique, group, dir, stype));
+ ret.add(createSourceGroup(unique, group, dir, st));
}
}
}
- Collections.sort(ret, Comparator.comparing(SourceGroup::getName));
- return ret.toArray(new SourceGroup[ret.size()]);
}
- return new SourceGroup[0];
+ Collections.sort(ret, Comparator.comparing(SourceGroup::getName));
+ return ret.toArray(new SourceGroup[ret.size()]);
}
SourceGroup createSourceGroup(boolean unique, String group, File dir,
@@ -331,14 +331,14 @@ public class GradleSourcesImpl implements Sources,
SourceGroupModifierImplementa
return ret && gp.getSourceSets().containsKey(hint);
}
- private static SourceType soureType2SourceType(String type) {
+ private static Set<SourceType> soureType2SourceType(String type) {
switch (type) {
- case JavaProjectConstants.SOURCES_TYPE_JAVA: return
SourceType.JAVA;
- case JavaProjectConstants.SOURCES_TYPE_RESOURCES: return
SourceType.RESOURCES;
- case SOURCE_TYPE_GENERATED: return SourceType.GENERATED;
- case SOURCE_TYPE_GROOVY: return SourceType.GROOVY; // Should be in
the Groovy support module theoretically
+ case JavaProjectConstants.SOURCES_TYPE_JAVA: return
EnumSet.of(SourceType.JAVA, SourceType.GROOVY);
+ case JavaProjectConstants.SOURCES_TYPE_RESOURCES: return
EnumSet.of(SourceType.RESOURCES);
+ case SOURCE_TYPE_GENERATED: return
EnumSet.of(SourceType.GENERATED);
+ case SOURCE_TYPE_GROOVY: return EnumSet.of(SourceType.GROOVY); //
Should be in the Groovy support module theoretically
}
- return null;
+ return Collections.emptySet();
}
private final class GradleSourceGroup implements SourceGroup {
diff --git
a/java/gradle.java/src/org/netbeans/modules/gradle/java/nodes/SourcesNodeFactory.java
b/java/gradle.java/src/org/netbeans/modules/gradle/java/nodes/SourcesNodeFactory.java
index ee5ffdd..16dce49 100644
---
a/java/gradle.java/src/org/netbeans/modules/gradle/java/nodes/SourcesNodeFactory.java
+++
b/java/gradle.java/src/org/netbeans/modules/gradle/java/nodes/SourcesNodeFactory.java
@@ -72,10 +72,10 @@ public final class SourcesNodeFactory implements
NodeFactory {
public List<SourceGroup> keys() {
Sources srcs = ProjectUtils.getSources(project);
List<SourceGroup> ret = new ArrayList<>();
+ // Every Groovy SourceGroup is a Java SourceGroup as well
ret.addAll(Arrays.asList(srcs.getSourceGroups(JavaProjectConstants.SOURCES_TYPE_JAVA)));
ret.addAll(Arrays.asList(srcs.getSourceGroups(JavaProjectConstants.SOURCES_TYPE_RESOURCES)));
ret.addAll(Arrays.asList(srcs.getSourceGroups(GradleSourcesImpl.SOURCE_TYPE_GENERATED)));
-
ret.addAll(Arrays.asList(srcs.getSourceGroups(GradleSourcesImpl.SOURCE_TYPE_GROOVY)));
ret.sort(Comparator.comparing(SourceGroup::getName));
return ret;
}
---------------------------------------------------------------------
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