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 7b1176a128b Move Gradle module to Java 17 and NbProjectInfoAction to
Java 8
7b1176a128b is described below
commit 7b1176a128b5f93d8f847a5e71055224ee71dd11
Author: Laszlo Kishalmi <[email protected]>
AuthorDate: Wed Jul 3 15:19:16 2024 -0700
Move Gradle module to Java 17 and NbProjectInfoAction to Java 8
---
extide/gradle/nbproject/project.properties | 10 ++++--
extide/gradle/netbeans-gradle-tooling/build.xml | 8 ++---
.../gradle/tooling/internal/NbProjectInfo.java | 5 +++
.../tooling/internal/NbProjectInfoAction.java | 35 ++++++++++++++++++++
.../gradle/loaders/LegacyProjectLoader.java | 10 +-----
.../gradle/newproject/GradleInitPanelVisual.java | 4 +--
.../gradle/output/GradleProcessorFactory.java | 4 +--
.../gradle/spi/newproject/GradleInitWizard.java | 38 ++++++++++------------
.../gradle/spi/newproject/TemplateOperation.java | 8 ++---
9 files changed, 77 insertions(+), 45 deletions(-)
diff --git a/extide/gradle/nbproject/project.properties
b/extide/gradle/nbproject/project.properties
index aa352d0d3fd..d22871c0a89 100644
--- a/extide/gradle/nbproject/project.properties
+++ b/extide/gradle/nbproject/project.properties
@@ -17,8 +17,7 @@
file.reference.netbeans-gradle-tooling.jar=release/modules/gradle/netbeans-gradle-tooling.jar
is.autoload=true
-javac.source=1.8
-javac.target=1.8
+javac.release=17
javac.compilerargs=-Xlint -Xlint:-serial
javadoc.arch=${basedir}/arch.xml
javadoc.apichanges=${basedir}/apichanges.xml
@@ -37,4 +36,9 @@
release.build/tooling/nb-tooling.gradle=modules/gradle/nb-tooling.gradle
extra.module.files=\
modules/gradle/netbeans-gradle-tooling.jar,\
- modules/gradle/nb-tooling.gradle
\ No newline at end of file
+ modules/gradle/nb-tooling.gradle
+
+# These properties are used for compiling the netbeans-gradle-tooling library
+# It shall be built on the lowest language level that the Gradle integration
supports
+tooling.javac.release=8
+tooling.gradle.version=7.4
diff --git a/extide/gradle/netbeans-gradle-tooling/build.xml
b/extide/gradle/netbeans-gradle-tooling/build.xml
index 7c994be3b7f..96f6bbb3f53 100644
--- a/extide/gradle/netbeans-gradle-tooling/build.xml
+++ b/extide/gradle/netbeans-gradle-tooling/build.xml
@@ -23,7 +23,7 @@
<description>Builds, tests, and runs the project
org.netbeans.modules.gradle</description>
<property name="tooling" value="netbeans-gradle-tooling"/>
- <property name="gradle.version" value="7.4" />
+ <property file="../nbproject/project.properties"/>
<available property="has.gradle-libs" file="build/gradle-libs" type="dir"/>
@@ -33,16 +33,16 @@
<target name="prepare-libs" unless="has.gradle-libs">
<mkdir dir="build/gradle-libs"/>
- <unzip src="../external/gradle-${gradle.version}-bin.zip"
dest="build/gradle-libs">
+ <unzip src="../external/gradle-${tooling.gradle.version}-bin.zip"
dest="build/gradle-libs">
<patternset>
- <include name="gradle-${gradle.version}/lib/**/*.jar"/>
+ <include name="gradle-${tooling.gradle.version}/lib/**/*.jar"/>
</patternset>
<mapper type="flatten"/>
</unzip>
</target>
<target name="compile" depends="prepare-libs">
<mkdir dir="build/classes/java/main"/>
- <javac srcdir="src/main/java" destdir="build/classes/java/main"
classpathref="compile.classpath" release="8" includeantruntime="false"
debug="true"/>
+ <javac srcdir="src/main/java" destdir="build/classes/java/main"
classpathref="compile.classpath" release="${tooling.javac.release}"
includeantruntime="false" debug="true"/>
</target>
<target name="jar" depends="compile">
diff --git
a/extide/gradle/netbeans-gradle-tooling/src/main/java/org/netbeans/modules/gradle/tooling/internal/NbProjectInfo.java
b/extide/gradle/netbeans-gradle-tooling/src/main/java/org/netbeans/modules/gradle/tooling/internal/NbProjectInfo.java
index afceb087820..a5a10170dfa 100644
---
a/extide/gradle/netbeans-gradle-tooling/src/main/java/org/netbeans/modules/gradle/tooling/internal/NbProjectInfo.java
+++
b/extide/gradle/netbeans-gradle-tooling/src/main/java/org/netbeans/modules/gradle/tooling/internal/NbProjectInfo.java
@@ -20,6 +20,7 @@
package org.netbeans.modules.gradle.tooling.internal;
import org.netbeans.modules.gradle.tooling.Model;
+import org.gradle.tooling.BuildAction;
import java.util.Map;
import java.util.Set;
@@ -68,4 +69,8 @@ public interface NbProjectInfo extends Model,
org.gradle.tooling.model.Model {
public String getDetail();
public Report getCause();
}
+
+ public static BuildAction<NbProjectInfo> createAction() {
+ return new NbProjectInfoAction();
+ }
}
diff --git
a/extide/gradle/netbeans-gradle-tooling/src/main/java/org/netbeans/modules/gradle/tooling/internal/NbProjectInfoAction.java
b/extide/gradle/netbeans-gradle-tooling/src/main/java/org/netbeans/modules/gradle/tooling/internal/NbProjectInfoAction.java
new file mode 100644
index 00000000000..e6de7fc029a
--- /dev/null
+++
b/extide/gradle/netbeans-gradle-tooling/src/main/java/org/netbeans/modules/gradle/tooling/internal/NbProjectInfoAction.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.netbeans.modules.gradle.tooling.internal;
+
+import java.io.Serializable;
+import org.gradle.tooling.BuildAction;
+import org.gradle.tooling.BuildController;
+
+/**
+ *
+ * @author lkishalmi
+ */
+class NbProjectInfoAction implements Serializable, BuildAction<NbProjectInfo>{
+
+ @Override
+ public NbProjectInfo execute(BuildController bc) {
+ return bc.getModel(NbProjectInfo.class);
+ }
+}
diff --git
a/extide/gradle/src/org/netbeans/modules/gradle/loaders/LegacyProjectLoader.java
b/extide/gradle/src/org/netbeans/modules/gradle/loaders/LegacyProjectLoader.java
index 518aab7bd6b..7fdfb72b129 100644
---
a/extide/gradle/src/org/netbeans/modules/gradle/loaders/LegacyProjectLoader.java
+++
b/extide/gradle/src/org/netbeans/modules/gradle/loaders/LegacyProjectLoader.java
@@ -481,7 +481,7 @@ public class LegacyProjectLoader extends
AbstractProjectLoader {
}
private static BuildActionExecuter<NbProjectInfo>
createInfoAction(ProjectConnection pconn, GradleCommandLine cmd,
CancellationToken token, ProgressListener pl) {
- BuildActionExecuter<NbProjectInfo> ret = pconn.action(new
NbProjectInfoAction());
+ BuildActionExecuter<NbProjectInfo> ret =
pconn.action(NbProjectInfo.createAction());
cmd.configure(ret);
if (DEBUG_GRADLE_INFO_ACTION) {
// This would start the Gradle Daemon in Debug Mode, so the
Tooling API can be debugged as well
@@ -652,14 +652,6 @@ public class LegacyProjectLoader extends
AbstractProjectLoader {
}
}
- private static class NbProjectInfoAction implements Serializable,
BuildAction<NbProjectInfo> {
-
- @Override
- public NbProjectInfo execute(BuildController bc) {
- return bc.getModel(NbProjectInfo.class);
- }
- }
-
private static class ProjectLoaderTask implements Callable<GradleProject>,
Cancellable {
private final ReloadContext ctx;
diff --git
a/extide/gradle/src/org/netbeans/modules/gradle/newproject/GradleInitPanelVisual.java
b/extide/gradle/src/org/netbeans/modules/gradle/newproject/GradleInitPanelVisual.java
index 61e9a964a11..af9a859de85 100644
---
a/extide/gradle/src/org/netbeans/modules/gradle/newproject/GradleInitPanelVisual.java
+++
b/extide/gradle/src/org/netbeans/modules/gradle/newproject/GradleInitPanelVisual.java
@@ -228,7 +228,7 @@ public class GradleInitPanelVisual extends
javax.swing.JPanel {
if (settings.getProperty(PROP_JAVA_VERSIONS) != null) {
List<Integer> javaVersions = (List<Integer>)
settings.getProperty(PROP_JAVA_VERSIONS);
- DefaultComboBoxModel<Integer> versionModel = new
DefaultComboBoxModel<>(javaVersions.toArray(new Integer[0]));
+ DefaultComboBoxModel<Integer> versionModel = new
DefaultComboBoxModel<>(javaVersions.toArray(Integer[]::new));
cbJavaVersion.setModel(versionModel);
if (settings.getProperty(PROP_JAVA_VERSION) != null) {
@@ -241,7 +241,7 @@ public class GradleInitPanelVisual extends
javax.swing.JPanel {
if (settings.getProperty(PROP_TEST_FRAMEWORKS) != null) {
List<TestFramework> testframeworks = (List<TestFramework>)
settings.getProperty(PROP_TEST_FRAMEWORKS);
- DefaultComboBoxModel<TestFramework> frameworkModel = new
DefaultComboBoxModel<>(testframeworks.toArray(new TestFramework[0]));
+ DefaultComboBoxModel<TestFramework> frameworkModel = new
DefaultComboBoxModel<>(testframeworks.toArray(TestFramework[]::new));
cbTestFramework.setModel(frameworkModel);
if (settings.getProperty(PROP_TEST_FRAMEWORK) != null) {
cbTestFramework.setSelectedItem(settings.getProperty(PROP_TEST_FRAMEWORK));
diff --git
a/extide/gradle/src/org/netbeans/modules/gradle/output/GradleProcessorFactory.java
b/extide/gradle/src/org/netbeans/modules/gradle/output/GradleProcessorFactory.java
index fd528f433bb..d61325d77c4 100644
---
a/extide/gradle/src/org/netbeans/modules/gradle/output/GradleProcessorFactory.java
+++
b/extide/gradle/src/org/netbeans/modules/gradle/output/GradleProcessorFactory.java
@@ -59,12 +59,12 @@ public class GradleProcessorFactory implements
OutputProcessorFactory {
@Override
public Set<? extends OutputProcessor> createOutputProcessors(RunConfig
cfg) {
- return Collections.unmodifiableSet(new HashSet<>(Arrays.asList(
+ return Set.of(
GRADLE_PROCESSOR,
JAVAC_PROCESSOR,
GROOVYC_PROCESSOR,
new WarningModeAllProcessor(cfg)
- )));
+ );
}
private static final Pattern GRADLE_ERROR = Pattern.compile("(Build
file|Script) '(.*)\\.gradle' line: ([0-9]+)");
diff --git
a/extide/gradle/src/org/netbeans/modules/gradle/spi/newproject/GradleInitWizard.java
b/extide/gradle/src/org/netbeans/modules/gradle/spi/newproject/GradleInitWizard.java
index 56fdfe17e45..15b861ecbbf 100644
---
a/extide/gradle/src/org/netbeans/modules/gradle/spi/newproject/GradleInitWizard.java
+++
b/extide/gradle/src/org/netbeans/modules/gradle/spi/newproject/GradleInitWizard.java
@@ -19,10 +19,8 @@
package org.netbeans.modules.gradle.spi.newproject;
import java.io.File;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
-import java.util.stream.Collectors;
import org.netbeans.modules.gradle.newproject.GradleInitPanel;
import org.netbeans.spi.project.ui.support.CommonProjectActions;
import org.openide.WizardDescriptor;
@@ -51,11 +49,10 @@ public final class GradleInitWizard {
@Override
public String toString() {
- switch(this) {
- case GROOVY: return Bundle.LBL_DSL_GROOVY();
- case KOTLIN: return Bundle.LBL_DSL_KOTLIN();
- default: throw new IllegalStateException("update switch");
- }
+ return switch(this) {
+ case GROOVY -> Bundle.LBL_DSL_GROOVY();
+ case KOTLIN -> Bundle.LBL_DSL_KOTLIN();
+ };
}
}
@@ -91,17 +88,16 @@ public final class GradleInitWizard {
@Override
public String toString() {
- switch(this) {
- case CPP_TEST: return Bundle.LBL_TFW_CPP_TEST();
- case JUNIT: return Bundle.LBL_TFW_JUNIT();
- case JUNIT_5: return Bundle.LBL_TFW_JUNIT_5();
- case KOTLIN_TEST: return Bundle.LBL_TFW_KOTLIN_TEST();
- case SCALA_TEST: return Bundle.LBL_TFW_SCALA_TEST();
- case SPOCK: return Bundle.LBL_TFW_SPOCK();
- case TESTNG: return Bundle.LBL_TFW_TESTNG();
- case XCTEST: return Bundle.LBL_TFW_XCTEST();
- default: throw new IllegalStateException("update switch");
- }
+ return switch(this) {
+ case CPP_TEST -> Bundle.LBL_TFW_CPP_TEST();
+ case JUNIT -> Bundle.LBL_TFW_JUNIT();
+ case JUNIT_5 -> Bundle.LBL_TFW_JUNIT_5();
+ case KOTLIN_TEST -> Bundle.LBL_TFW_KOTLIN_TEST();
+ case SCALA_TEST -> Bundle.LBL_TFW_SCALA_TEST();
+ case SPOCK -> Bundle.LBL_TFW_SPOCK();
+ case TESTNG -> Bundle.LBL_TFW_TESTNG();
+ case XCTEST-> Bundle.LBL_TFW_XCTEST();
+ };
}
}
@@ -112,7 +108,7 @@ public final class GradleInitWizard {
private TestFramework preferredTestFramework;
private List<Integer> javaVersions;
private List<TestFramework> testFrameworks;
- private List<String> important = Collections.emptyList();
+ private List<String> important = List.of();
private GradleInitWizard(String type, String title) {
this.type = type;
@@ -215,14 +211,14 @@ public final class GradleInitWizard {
List<String> open = important.stream()
.map((s) -> packageBase != null ? s.replace("${package}",
packageBase.replace('.', '/')) : s) //NOI18N
.map((s) -> s.replace("${projectName}", name)) //NOI18N
- .collect(Collectors.toList());
+ .toList();
ops.addProjectPreload(root, open);
}
@Override
protected List<? extends WizardDescriptor.Panel<WizardDescriptor>>
createPanels() {
- return Collections.singletonList(new GradleInitPanel());
+ return List.of(new GradleInitPanel());
}
@Override
diff --git
a/extide/gradle/src/org/netbeans/modules/gradle/spi/newproject/TemplateOperation.java
b/extide/gradle/src/org/netbeans/modules/gradle/spi/newproject/TemplateOperation.java
index 8eeadadc712..32832f8f5fc 100644
---
a/extide/gradle/src/org/netbeans/modules/gradle/spi/newproject/TemplateOperation.java
+++
b/extide/gradle/src/org/netbeans/modules/gradle/spi/newproject/TemplateOperation.java
@@ -479,7 +479,7 @@ public final class TemplateOperation implements Runnable {
} catch (IOException ex) {
}
}
- return Collections.<FileObject>emptySet();
+ return Set.of();
}
}
@@ -489,7 +489,7 @@ public final class TemplateOperation implements Runnable {
final List<String> importantFiles;
public PreloadProject(File dir) {
- this(dir, Collections.emptyList());
+ this(dir, List.of());
}
public PreloadProject(File dir, List<String> importantFiles) {
@@ -643,7 +643,7 @@ public final class TemplateOperation implements Runnable {
} catch (IOException | ScriptException ex) {
throw new IOException(ex.getMessage(), ex);
}
- return important ? Collections.singleton(fo) : null;
+ return important ? Set.of(fo) : null;
} catch (IOException ex) {}
} catch (IOException ex) {}
return null;
@@ -680,7 +680,7 @@ public final class TemplateOperation implements Runnable {
DataFolder targetFolder =
DataFolder.findFolder(targetParent);
DataObject o = DataObject.find(template);
DataObject newData = o.createFromTemplate(targetFolder,
targetName, tokens);
- return important ?
Collections.singleton(newData.getPrimaryFile()) : null;
+ return important ? Set.of(newData.getPrimaryFile()) : null;
} catch (IOException ex) {
}
---------------------------------------------------------------------
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