This is an automated email from the ASF dual-hosted git repository.
neilcsmith pushed a commit to branch delivery
in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/delivery by this push:
new 9a3513fc2e Run gradle wrapper init with version latest to skip using a
Gradle release candidate.
new 69b65896f4 Merge pull request #6333 from
neilcsmith-net/gradle-wrapper-latest
9a3513fc2e is described below
commit 9a3513fc2e1634cb4f28a6977a44b88161a41340
Author: Neil C Smith <[email protected]>
AuthorDate: Sat Aug 12 14:53:37 2023 +0100
Run gradle wrapper init with version latest to skip using a Gradle release
candidate.
Fix typo in Gradle project problems message.
Document the API changes.
---
extide/gradle/apichanges.xml | 15 ++++++++++
.../gradle/GradleJavaCompatProblemsProvider.java | 2 +-
.../gradle/spi/newproject/TemplateOperation.java | 35 ++++++++++++++++++++--
.../newproject/SimpleApplicationProjectWizard.java | 5 +++-
4 files changed, 52 insertions(+), 5 deletions(-)
diff --git a/extide/gradle/apichanges.xml b/extide/gradle/apichanges.xml
index 04f5dd0ce7..219ebd3c0b 100644
--- a/extide/gradle/apichanges.xml
+++ b/extide/gradle/apichanges.xml
@@ -83,6 +83,21 @@ is the proper place.
<!-- ACTUAL CHANGES BEGIN HERE: -->
<changes>
+ <change id="gradle-wrapper-version">
+ <api name="general"/>
+ <summary>Method to set the Gradle version when initalizing the
wrapper</summary>
+ <version major="2" minor="34"/>
+ <date day="14" month="8" year="2023"/>
+ <author login="neilcsmith"/>
+ <compatibility semantic="compatible" addition="yes"/>
+ <description>
+ <p>
+ Added additional <a
href="@TOP@/org/netbeans/modules/gradle/spi/newproject/TemplateOperation.html#addWrapperInit-java.io.File-java.lang.String-">addWrapperInit</a>
+ method allowing to request a specific version or version label
when initializing the Gradle wrapper.
+ </p>
+ </description>
+ <class package="org.netbeans.modules.gradle.spi.newproject"
name="TemplateOperation"/>
+ </change>
<change id="java-runtime-manager">
<api name="general"/>
<summary>Adding JavaRuntimeManager abstracting the Gradle Runtime
from Java Platform</summary>
diff --git
a/extide/gradle/src/org/netbeans/modules/gradle/GradleJavaCompatProblemsProvider.java
b/extide/gradle/src/org/netbeans/modules/gradle/GradleJavaCompatProblemsProvider.java
index b1108a875b..98fe3addd2 100644
---
a/extide/gradle/src/org/netbeans/modules/gradle/GradleJavaCompatProblemsProvider.java
+++
b/extide/gradle/src/org/netbeans/modules/gradle/GradleJavaCompatProblemsProvider.java
@@ -77,7 +77,7 @@ public final class GradleJavaCompatProblemsProvider
implements ProjectProblemsPr
"# {1} - Supported Java Version",
"# {2} - Required Gradle Version",
"# {3} - Forced Gradle Version",
- "TXT_JavaVersionMismatch=<html>The Java version: {0}, that is seletced
for the project "
+ "TXT_JavaVersionMismatch=<html>The Java version: {0}, that is selected
for the project "
+ "is not supported by Gradle {2}."
+ "The IDE will attempt to use Gradle {3} to gather the
project information.<p>"
+ "Possible solutions:"
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 7fdc1dd378..b8afbfbb41 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
@@ -149,8 +149,29 @@ public final class TemplateOperation implements Runnable {
steps.add(new ConfigureProjectStep(projectDir, configurator));
}
+ /**
+ * Initialize the Gradle wrapper in the target project. Equivalent to
+ * executing <code>gradle wrapper</code>.
+ *
+ * @param target project directory
+ */
public void addWrapperInit(File target) {
- steps.add(new InitGradleWrapper(target));
+ steps.add(new InitGradleWrapper(target, null));
+ }
+
+ /**
+ * Initialize the Gradle wrapper in the target project with the requested
+ * version of Gradle. Equivalent to executing
+ * <code>gradle wrapper --gradle-version $version</code>. The version may
be
+ * the specific Gradle version required, or one of the labels supported by
+ * the wrapper task, eg. <code>latest</code>.
+ *
+ * @param target project directory
+ * @param version Gradle version or version label
+ * @since 2.34
+ */
+ public void addWrapperInit(File target, String version) {
+ steps.add(new InitGradleWrapper(target, version));
}
/** * Begin creation of new project using Gradle's
@@ -443,9 +464,11 @@ public final class TemplateOperation implements Runnable {
private static final class InitGradleWrapper extends BaseOperationStep {
final File projectDir;
+ final String version;
- public InitGradleWrapper(File projectDir) {
+ public InitGradleWrapper(File projectDir, String version) {
this.projectDir = projectDir;
+ this.version = version;
}
@Override
@@ -458,7 +481,13 @@ public final class TemplateOperation implements Runnable {
public Set<FileObject> execute() {
GradleConnector gconn = GradleConnector.newConnector();
try (ProjectConnection pconn =
gconn.forProjectDirectory(projectDir).connect()) {
-
pconn.newBuild().withArguments("--offline").forTasks("wrapper").run(); //NOI18N
+ List<String> args = new ArrayList<>();
+ args.add("wrapper"); //NOI18N
+ if (version != null) {
+ args.add("--gradle-version"); //NOI18N
+ args.add(version);
+ }
+
pconn.newBuild().withArguments("--offline").forTasks(args.toArray(new
String[0])).run(); //NOI18N
} catch (GradleConnectionException | IllegalStateException ex) {
// Well for some reason we were not able to load Gradle.
// Ignoring that for now
diff --git
a/java/gradle.java/src/org/netbeans/modules/gradle/java/newproject/SimpleApplicationProjectWizard.java
b/java/gradle.java/src/org/netbeans/modules/gradle/java/newproject/SimpleApplicationProjectWizard.java
index f5ba6d5c55..33235fc27c 100644
---
a/java/gradle.java/src/org/netbeans/modules/gradle/java/newproject/SimpleApplicationProjectWizard.java
+++
b/java/gradle.java/src/org/netbeans/modules/gradle/java/newproject/SimpleApplicationProjectWizard.java
@@ -71,7 +71,10 @@ public class SimpleApplicationProjectWizard extends
BaseGradleWizardIterator {
Boolean initWrapper = (Boolean) params.get(PROP_INIT_WRAPPER);
if (initWrapper == null || initWrapper) {
- ops.addWrapperInit(root);
+ // @TODO allow configuration of wrapper version
+ ops.addWrapperInit(root, "latest"); // NOI18N
+ } else {
+ // @TODO delete wrapper added by init?
}
}
---------------------------------------------------------------------
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