Fixing project loading issues with micronaut complex project.
diff --git a/extide/gradle/netbeans-gradle-tooling/src/main/java/org/netbeans/modules/gradle/tooling/NbProjectInfoBuilder.java b/extide/gradle/netbeans-gradle-tooling/src/main/java/org/netbeans/modules/gradle/tooling/NbProjectInfoBuilder.java
index 0fd561a..b17933e 100644
--- a/extide/gradle/netbeans-gradle-tooling/src/main/java/org/netbeans/modules/gradle/tooling/NbProjectInfoBuilder.java
+++ b/extide/gradle/netbeans-gradle-tooling/src/main/java/org/netbeans/modules/gradle/tooling/NbProjectInfoBuilder.java
@@ -186,7 +186,7 @@
public ValueAndType(Class type, Object value) {
this.type = type;
- this.value = Optional.of(value);
+ this.value = Optional.ofNullable(value);
}
public ValueAndType(Class type) {
@@ -290,7 +290,7 @@
Map<String, Object> taskProperties = new HashMap<>();
Map<String, String> taskPropertyTypes = new HashMap<>();
- Map<String, Task> taskList = project.getTasks().getAsMap();
+ Map<String, Task> taskList = new HashMap<>(project.getTasks().getAsMap());
for (String s : taskList.keySet()) {
Task task = taskList.get(s);
Class taskClass = task.getClass();
@@ -307,7 +307,7 @@
private void detectTaskDependencies(NbProjectInfoModel model) {
Map<String, Object> tasks = new HashMap<>();
- Map<String, Task> taskList = project.getTasks().getAsMap();
+ Map<String, Task> taskList = new HashMap<>(project.getTasks().getAsMap());
for (String s : taskList.keySet()) {
Task task = taskList.get(s);
Map<String, String> taskInfo = new HashMap<>();
@@ -684,7 +684,7 @@
}
NamedDomainObjectContainer nc = (NamedDomainObjectContainer)value;
- Map<String, ?> m = nc.getAsMap();
+ Map<String, ?> m = new HashMap<>(nc.getAsMap());
List<String> ss = new ArrayList<>(m.keySet());
propertyTypes.put(prefix + propName + COLLECTION_KEYS_MARKER, String.join(";;", ss));
for (String k : m.keySet()) {
@@ -1000,14 +1000,12 @@
List<String> compilerArgs;
- try {
- compilerArgs = (List<String>) getProperty(compileTask, "options", "allCompilerArgs");
- } catch (Throwable ex) {
- try {
- compilerArgs = (List<String>) getProperty(compileTask, "options", "compilerArgs");
- } catch (Throwable ex2) {
- compilerArgs = (List<String>) getProperty(compileTask, "kotlinOptions", "freeCompilerArgs");
- }
+ compilerArgs = (List<String>) getProperty(compileTask, "options", "allCompilerArgs");
+ if (compilerArgs == null) {
+ compilerArgs = (List<String>) getProperty(compileTask, "options", "compilerArgs");
+ }
+ if (compilerArgs == null) {
+ compilerArgs = (List<String>) getProperty(compileTask, "kotlinOptions", "freeCompilerArgs");
}
model.getInfo().put(propBase + lang + "_compiler_args", new ArrayList<>(compilerArgs));
}