From d74cfbad6e1ca48fc5794338ff5b29ee95107639 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Mon, 11 Aug 2025 13:12:30 +0200 Subject: [PATCH] Annotated the generated code by helpmojo with NullSafe suppressions See gh-46587 --- .../build/mavenplugin/MavenPluginPlugin.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/buildSrc/src/main/java/org/springframework/boot/build/mavenplugin/MavenPluginPlugin.java b/buildSrc/src/main/java/org/springframework/boot/build/mavenplugin/MavenPluginPlugin.java index a5b1f4ae255..91f9a05aaf9 100644 --- a/buildSrc/src/main/java/org/springframework/boot/build/mavenplugin/MavenPluginPlugin.java +++ b/buildSrc/src/main/java/org/springframework/boot/build/mavenplugin/MavenPluginPlugin.java @@ -97,6 +97,7 @@ import org.springframework.core.CollectionFactory; * * @author Andy Wilkinson * @author Phillip Webb + * @author Moritz Halbritter */ public class MavenPluginPlugin implements Plugin { @@ -377,13 +378,27 @@ public class MavenPluginPlugin implements Plugin { Path outputLocation = getOutputDir().getAsFile().get().toPath().resolve(relativePath); try { Files.createDirectories(outputLocation.getParent()); - Files.writeString(outputLocation, edit.getFormattedContent()); + String content = edit.getFormattedContent(); + content = addNullAwaySuppression(content); + Files.writeString(outputLocation, content); } catch (Exception ex) { throw new TaskExecutionException(this, ex); } } + private String addNullAwaySuppression(String content) { + String[] lines = content.split("\n"); + StringBuilder result = new StringBuilder(); + for (String line : lines) { + if (line.startsWith("public class ")) { + result.append("@SuppressWarnings(\"NullAway\")").append("\n"); + } + result.append(line).append("\n"); + } + return result.toString(); + } + } public static class MavenRepositoryComponentMetadataRule implements ComponentMetadataRule {