diff --git a/build-plugin/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/ArtifactsLibraries.java b/build-plugin/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/ArtifactsLibraries.java index 3db80473604..8ed3efb08b7 100644 --- a/build-plugin/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/ArtifactsLibraries.java +++ b/build-plugin/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/ArtifactsLibraries.java @@ -79,7 +79,7 @@ public class ArtifactsLibraries implements Libraries { * @since 2.4.0 */ public ArtifactsLibraries(Set artifacts, Collection localProjects, - Collection unpacks, Log log) { + @Nullable Collection unpacks, Log log) { this(artifacts, artifacts, localProjects, unpacks, log); } diff --git a/build-plugin/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/ClassPath.java b/build-plugin/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/ClassPath.java index d4d8a6098e8..0b65402e850 100644 --- a/build-plugin/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/ClassPath.java +++ b/build-plugin/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/ClassPath.java @@ -33,6 +33,8 @@ import java.util.function.UnaryOperator; import java.util.stream.Collector; import java.util.stream.Collectors; +import org.jspecify.annotations.Nullable; + import org.springframework.util.StringUtils; /** @@ -125,12 +127,12 @@ final class ClassPath { * @param urls the class path URLs * @return a new {@link ClassPath} instance */ - static ClassPath of(UnaryOperator getSystemProperty, List urls) { + static ClassPath of(UnaryOperator<@Nullable String> getSystemProperty, List urls) { boolean preferArgFile = urls.size() > 1 && isWindows(getSystemProperty); return new ClassPath(preferArgFile, urls.stream().map(ClassPath::toPathString).collect(JOIN_BY_PATH_SEPARATOR)); } - private static boolean isWindows(UnaryOperator getSystemProperty) { + private static boolean isWindows(UnaryOperator<@Nullable String> getSystemProperty) { String os = getSystemProperty.apply("os.name"); return StringUtils.hasText(os) && os.toLowerCase(Locale.ROOT).contains("win"); } diff --git a/build-plugin/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/CommandLineBuilder.java b/build-plugin/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/CommandLineBuilder.java index 70ddf60b5df..045a9aad877 100644 --- a/build-plugin/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/CommandLineBuilder.java +++ b/build-plugin/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/CommandLineBuilder.java @@ -51,7 +51,8 @@ final class CommandLineBuilder { return new CommandLineBuilder(mainClass); } - CommandLineBuilder withJvmArguments(String... jvmArguments) { + // Do not use String @Nullable ... jvmArguments, Maven can't deal with that + CommandLineBuilder withJvmArguments(@Nullable String... jvmArguments) { if (jvmArguments != null) { this.options.addAll(Arrays.stream(jvmArguments).filter(Objects::nonNull).toList()); } @@ -75,7 +76,8 @@ final class CommandLineBuilder { return this; } - CommandLineBuilder withArguments(String... arguments) { + // Do not use String @Nullable ... arguments, Maven can't deal with that + CommandLineBuilder withArguments(@Nullable String... arguments) { if (arguments != null) { this.arguments.addAll(Arrays.stream(arguments).filter(Objects::nonNull).toList()); } diff --git a/build-plugin/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/Docker.java b/build-plugin/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/Docker.java index e3403dbd038..5a95ddf613c 100644 --- a/build-plugin/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/Docker.java +++ b/build-plugin/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/Docker.java @@ -230,7 +230,8 @@ public class Docker { public DockerRegistry() { } - public DockerRegistry(String username, String password, String url, String email) { + public DockerRegistry(@Nullable String username, @Nullable String password, @Nullable String url, + @Nullable String email) { this.username = username; this.password = password; this.url = url;