This is an automated email from the ASF dual-hosted git repository.
matthiasblaesing 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 7e5e8f3484 Improve stability of gradle build info extraction
new e2d8fdf156 Merge pull request #4222 from
matthiasblaesing/gradle_improvements
7e5e8f3484 is described below
commit 7e5e8f34848c0b5fcffe2b2db883566f28c573a9
Author: Matthias Bläsing <[email protected]>
AuthorDate: Sun Jun 12 21:02:17 2022 +0200
Improve stability of gradle build info extraction
While trying to work with the gradle projects from liferay-portal it
was observed, that loading failed with an exception. There are two
problems:
1. The liferay build provides incomplete implementation of JavaExec,
which do not support setting the standard input
2. The generated UnsupportedOperation exception carries a null message,
rendering the @NonNull annotation in GradleReport invalid and
causing NullPointerExceptions in use sites.
Fixes:
1. Setting stdin is changed to be a best-effort operation. It is
assumed that, if the setter fails, the access to stdin is not
expected and thus does not need to be wired.
2. If a null message is passed into GradleReport, it is replaced with
an empty string.
---
.../modules/gradle/tooling/NetBeansRunSinglePlugin.java | 16 +++++++++++++---
.../src/org/netbeans/modules/gradle/GradleReport.java | 2 +-
2 files changed, 14 insertions(+), 4 deletions(-)
diff --git
a/extide/gradle/netbeans-gradle-tooling/src/main/java/org/netbeans/modules/gradle/tooling/NetBeansRunSinglePlugin.java
b/extide/gradle/netbeans-gradle-tooling/src/main/java/org/netbeans/modules/gradle/tooling/NetBeansRunSinglePlugin.java
index b3041bfb52..2ca9b4335d 100644
---
a/extide/gradle/netbeans-gradle-tooling/src/main/java/org/netbeans/modules/gradle/tooling/NetBeansRunSinglePlugin.java
+++
b/extide/gradle/netbeans-gradle-tooling/src/main/java/org/netbeans/modules/gradle/tooling/NetBeansRunSinglePlugin.java
@@ -19,19 +19,21 @@
package org.netbeans.modules.gradle.tooling;
-import java.util.ArrayList;
import static java.util.Arrays.asList;
+import org.gradle.api.logging.Logger;
+import org.gradle.api.logging.Logging;
+import org.gradle.api.logging.LogLevel;
import org.gradle.api.Plugin;
import org.gradle.api.Project;
import org.gradle.api.tasks.JavaExec;
import org.gradle.api.tasks.SourceSetContainer;
import org.gradle.process.CommandLineArgumentProvider;
-
/**
*
* @author Laszlo Kishalmi
*/
class NetBeansRunSinglePlugin implements Plugin<Project> {
+ private static final Logger LOG =
Logging.getLogger(NetBeansRunSinglePlugin.class);
private static final String RUN_SINGLE_TASK = "runSingle";
private static final String RUN_SINGLE_MAIN = "runClassName";
@@ -59,7 +61,15 @@ class NetBeansRunSinglePlugin implements Plugin<Project> {
}
});
}
- je.setStandardInput(System.in);
+ try {
+ je.setStandardInput(System.in);
+ } catch (RuntimeException ex) {
+ if(LOG.isEnabled(LogLevel.DEBUG)) {
+ LOG.debug("Failed to set STDIN for Plugin: " +
je.toString(), ex);
+ } else {
+ LOG.info("Failed to set STDIN for Plugin: " +
je.toString());
+ }
+ }
if (project.hasProperty(RUN_SINGLE_CWD)) {
je.setWorkingDir(project.property(RUN_SINGLE_CWD).toString());
}
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/GradleReport.java
b/extide/gradle/src/org/netbeans/modules/gradle/GradleReport.java
index 18a646c31b..f6aabe0db0 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/GradleReport.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/GradleReport.java
@@ -46,7 +46,7 @@ public final class GradleReport {
this.errorClass = errorClass;
this.location = location;
this.line = line;
- this.message = message;
+ this.message = message == null ? "" : message;
this.causedBy = causedBy;
}
---------------------------------------------------------------------
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