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 a1abbda4f6 Fix GradleReport Notification and potential NPE on Gradle earlier, than 6.8 (#3994) a1abbda4f6 is described below commit a1abbda4f653c801d475b5fed987ba5df7e3a35e Author: Laszlo Kishalmi <laszlo.kisha...@gmail.com> AuthorDate: Sun Apr 17 20:49:37 2022 -0700 Fix GradleReport Notification and potential NPE on Gradle earlier, than 6.8 (#3994) * Add meaningful toString() method for GradleReport * Fix potential UnsupportedOperationException with project using Gradle earlier than version 6.8 --- .../netbeans/modules/gradle/tooling/NbProjectInfoBuilder.java | 9 +++++++-- .../gradle/src/org/netbeans/modules/gradle/GradleReport.java | 6 ++++++ .../netbeans/modules/gradle/loaders/LegacyProjectLoader.java | 10 ++++++---- 3 files changed, 19 insertions(+), 6 deletions(-) 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 802608855a..bc3c26203f 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 @@ -445,9 +445,14 @@ class NbProjectInfoBuilder { // do not bother with components that only select a variant, which is itself a component // TODO: represent as a special component type so the IDE shows it, but the IDE knows it is an abstract // intermediate with no artifact(s). - if (rdr.getResolvedVariant() == null || - !rdr.getResolvedVariant().getExternalVariant().isPresent()) { + if (rdr.getResolvedVariant() == null) { componentIds.add(rdr.getSelected().getId().toString()); + } else { + sinceGradle("6.8", () -> { + if (!rdr.getResolvedVariant().getExternalVariant().isPresent()) { + componentIds.add(rdr.getSelected().getId().toString()); + } + }); } } } diff --git a/extide/gradle/src/org/netbeans/modules/gradle/GradleReport.java b/extide/gradle/src/org/netbeans/modules/gradle/GradleReport.java index b26ffe4905..97eeb8d0c5 100644 --- a/extide/gradle/src/org/netbeans/modules/gradle/GradleReport.java +++ b/extide/gradle/src/org/netbeans/modules/gradle/GradleReport.java @@ -107,6 +107,11 @@ public final class GradleReport { return Objects.equals(this.location, other.location); } + @Override + public String toString() { + return formatReportForHintOrProblem(true, null); + } + @NbBundle.Messages({ "# {0} - previous part", "# {1} - appended part", @@ -119,6 +124,7 @@ public final class GradleReport { "# {1} - the file", "FMT_MessageWithLocationNoLine={0} ({1})" }) + /** * Formats the report for simple viewing. The function concatenates report messages, starting from * outer Report. If `includeLocation` is true, script name + line is printed at the end. 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 4496ab9e2c..b4c82ef7cc 100644 --- a/extide/gradle/src/org/netbeans/modules/gradle/loaders/LegacyProjectLoader.java +++ b/extide/gradle/src/org/netbeans/modules/gradle/loaders/LegacyProjectLoader.java @@ -175,7 +175,7 @@ public class LegacyProjectLoader extends AbstractProjectLoader { errors.openNotification( TIT_LOAD_ISSUES(base.getProjectDir().getName()), TIT_LOAD_ISSUES(base.getProjectDir().getName()), - GradleProjectErrorNotifications.bulletedList(info.getProblems())); + GradleProjectErrorNotifications.bulletedList(info.getProblems())); } if (!info.hasException()) { if (!info.getProblems().isEmpty() || !info.getReports().isEmpty()) { @@ -373,9 +373,11 @@ public class LegacyProjectLoader extends AbstractProjectLoader { if (e.getClass().getName().endsWith("LocationAwareException")) { // NOI18N String rawLoc = getLocation(e); - Matcher m = FILE_PATH_FROM_LOCATION.matcher(rawLoc); - loc = m.matches() ? m.group(1) : rawLoc; - line = getLineNumber(e); + if (rawLoc != null) { + Matcher m = FILE_PATH_FROM_LOCATION.matcher(rawLoc); + loc = m.matches() ? m.group(1) : rawLoc; + line = getLineNumber(e); + } reported = e.getCause(); } else { reported = e; --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists