From b6f117c9cdc9b2350d992cb7186cd10754e24b8a Mon Sep 17 00:00:00 2001 From: Manu Sridharan Date: Tue, 21 Jul 2026 10:24:07 -0700 Subject: [PATCH] Adapt function types in ClassPath to avoid nullability warning See gh-51091 Signed-off-by: Manu Sridharan --- .../java/org/springframework/boot/maven/ClassPath.java | 8 ++++---- .../org/springframework/boot/maven/ClassPathTests.java | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) 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 0b65402e850..c300656cbcb 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 @@ -29,7 +29,7 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Locale; -import java.util.function.UnaryOperator; +import java.util.function.Function; import java.util.stream.Collector; import java.util.stream.Collectors; @@ -123,16 +123,16 @@ final class ClassPath { /** * Factory method to create a {@link ClassPath} of the given URLs. - * @param getSystemProperty {@link UnaryOperator} allowing access to system properties + * @param getSystemProperty {@link Function} allowing access to system properties * @param urls the class path URLs * @return a new {@link ClassPath} instance */ - static ClassPath of(UnaryOperator<@Nullable String> getSystemProperty, List urls) { + static ClassPath of(Function 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<@Nullable String> getSystemProperty) { + private static boolean isWindows(Function 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/test/java/org/springframework/boot/maven/ClassPathTests.java b/build-plugin/spring-boot-maven-plugin/src/test/java/org/springframework/boot/maven/ClassPathTests.java index aed122f6dc9..fce733c5788 100644 --- a/build-plugin/spring-boot-maven-plugin/src/test/java/org/springframework/boot/maven/ClassPathTests.java +++ b/build-plugin/spring-boot-maven-plugin/src/test/java/org/springframework/boot/maven/ClassPathTests.java @@ -22,7 +22,7 @@ import java.nio.file.Paths; import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.function.UnaryOperator; +import java.util.function.Function; import org.jspecify.annotations.Nullable; import org.junit.jupiter.api.Test; @@ -94,11 +94,11 @@ class ClassPathTests { assertThat(classPath.toString()).isEqualTo(path1 + File.pathSeparator + path2); } - private UnaryOperator<@Nullable String> onWindows() { + private Function onWindows() { return Map.of("os.name", "windows")::get; } - private UnaryOperator<@Nullable String> onLinux() { + private Function onLinux() { return Map.of("os.name", "linux")::get; }