From 2d0ebe937978afd9fef446a1f9a36190f6bb7e3f Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Thu, 12 Jun 2025 09:19:22 +0100 Subject: [PATCH 01/16] Upgrade to AWS Advanced JDBC Wrapper 2.6.0 Closes gh-45895 --- spring-boot-project/spring-boot-parent/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-parent/build.gradle b/spring-boot-project/spring-boot-parent/build.gradle index dacd61c03a..6af9f8c5a2 100644 --- a/spring-boot-project/spring-boot-parent/build.gradle +++ b/spring-boot-project/spring-boot-parent/build.gradle @@ -25,7 +25,7 @@ bom { ] } } - library("AWS Advanced JDBC Wrapper", "2.5.4") { + library("AWS Advanced JDBC Wrapper", "2.6.0") { group("software.amazon.jdbc") { modules = [ "aws-advanced-jdbc-wrapper" From 4b78861ca01ca02442077c5e3fb1a3a2df661a9b Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Thu, 12 Jun 2025 09:19:26 +0100 Subject: [PATCH 02/16] Upgrade to C3P0 0.11.1 Closes gh-45896 --- spring-boot-project/spring-boot-parent/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-parent/build.gradle b/spring-boot-project/spring-boot-parent/build.gradle index 6af9f8c5a2..ccd57e1e30 100644 --- a/spring-boot-project/spring-boot-parent/build.gradle +++ b/spring-boot-project/spring-boot-parent/build.gradle @@ -32,7 +32,7 @@ bom { ] } } - library("C3P0", "0.9.5.5") { + library("C3P0", "0.11.1") { group("com.mchange") { modules = [ "c3p0" From 27bf83fa6d33c8bb4382058ed2a1049a1ce2a4ea Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Thu, 12 Jun 2025 09:19:30 +0100 Subject: [PATCH 03/16] Upgrade to ClickHouse 0.9.0 Closes gh-45897 --- spring-boot-project/spring-boot-parent/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-parent/build.gradle b/spring-boot-project/spring-boot-parent/build.gradle index ccd57e1e30..66bcecfd7f 100644 --- a/spring-boot-project/spring-boot-parent/build.gradle +++ b/spring-boot-project/spring-boot-parent/build.gradle @@ -39,7 +39,7 @@ bom { ] } } - library("ClickHouse", "0.6.5") { + library("ClickHouse", "0.9.0") { group("com.clickhouse") { modules = [ "clickhouse-jdbc", From c6748144fba1a0dcd0837ee37c3c19ddfb636105 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Thu, 12 Jun 2025 09:19:34 +0100 Subject: [PATCH 04/16] Upgrade to Commons Compress 1.27.1 Closes gh-45898 --- spring-boot-project/spring-boot-parent/build.gradle | 2 +- .../boot/buildpack/platform/io/ZipFileTarArchive.java | 4 ++-- .../bundling/AbstractBootArchiveIntegrationTests.java | 8 ++++++-- .../gradle/tasks/bundling/AbstractBootArchiveTests.java | 4 ++-- .../boot/gradle/testkit/PluginClasspathGradleBuild.java | 1 + .../boot/loader/tools/RepackagerTests.java | 6 +++--- 6 files changed, 15 insertions(+), 10 deletions(-) diff --git a/spring-boot-project/spring-boot-parent/build.gradle b/spring-boot-project/spring-boot-parent/build.gradle index 66bcecfd7f..62a46fb129 100644 --- a/spring-boot-project/spring-boot-parent/build.gradle +++ b/spring-boot-project/spring-boot-parent/build.gradle @@ -47,7 +47,7 @@ bom { ] } } - library("Commons Compress", "1.25.0") { + library("Commons Compress", "1.27.1") { group("org.apache.commons") { modules = [ "commons-compress" diff --git a/spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/main/java/org/springframework/boot/buildpack/platform/io/ZipFileTarArchive.java b/spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/main/java/org/springframework/boot/buildpack/platform/io/ZipFileTarArchive.java index c1d3b10021..5ea6a459a8 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/main/java/org/springframework/boot/buildpack/platform/io/ZipFileTarArchive.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/main/java/org/springframework/boot/buildpack/platform/io/ZipFileTarArchive.java @@ -64,7 +64,7 @@ public class ZipFileTarArchive implements TarArchive { public void writeTo(OutputStream outputStream) throws IOException { TarArchiveOutputStream tar = new TarArchiveOutputStream(outputStream); tar.setLongFileMode(TarArchiveOutputStream.LONGFILE_POSIX); - try (ZipFile zipFile = new ZipFile(this.zip)) { + try (ZipFile zipFile = ZipFile.builder().setFile(this.zip).get()) { Enumeration entries = zipFile.getEntries(); while (entries.hasMoreElements()) { ZipArchiveEntry zipEntry = entries.nextElement(); @@ -75,7 +75,7 @@ public class ZipFileTarArchive implements TarArchive { } private void assertArchiveHasEntries(File file) { - try (ZipFile zipFile = new ZipFile(file)) { + try (ZipFile zipFile = ZipFile.builder().setFile(file).get()) { Assert.state(zipFile.getEntries().hasMoreElements(), () -> "Archive file '" + file + "' is not valid"); } catch (IOException ex) { diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/tasks/bundling/AbstractBootArchiveIntegrationTests.java b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/tasks/bundling/AbstractBootArchiveIntegrationTests.java index 202172abf4..d2050ddc8f 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/tasks/bundling/AbstractBootArchiveIntegrationTests.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/tasks/bundling/AbstractBootArchiveIntegrationTests.java @@ -579,7 +579,9 @@ abstract class AbstractBootArchiveIntegrationTests { void defaultDirAndFileModesAreUsed() throws IOException { BuildResult result = this.gradleBuild.build(this.taskName); assertThat(result.task(":" + this.taskName).getOutcome()).isEqualTo(TaskOutcome.SUCCESS); - try (ZipFile jarFile = new ZipFile(new File(this.gradleBuild.getProjectDir(), "build/libs").listFiles()[0])) { + try (ZipFile jarFile = ZipFile.builder() + .setFile(new File(this.gradleBuild.getProjectDir(), "build/libs").listFiles()[0]) + .get()) { Enumeration entries = jarFile.getEntries(); while (entries.hasMoreElements()) { ZipArchiveEntry entry = entries.nextElement(); @@ -605,7 +607,9 @@ abstract class AbstractBootArchiveIntegrationTests { "upgrading_version_8.html#unix_file_permissions_deprecated") .build(this.taskName); assertThat(result.task(":" + this.taskName).getOutcome()).isEqualTo(TaskOutcome.SUCCESS); - try (ZipFile jarFile = new ZipFile(new File(this.gradleBuild.getProjectDir(), "build/libs").listFiles()[0])) { + try (ZipFile jarFile = ZipFile.builder() + .setFile(new File(this.gradleBuild.getProjectDir(), "build/libs").listFiles()[0]) + .get()) { Enumeration entries = jarFile.getEntries(); while (entries.hasMoreElements()) { ZipArchiveEntry entry = entries.nextElement(); diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/tasks/bundling/AbstractBootArchiveTests.java b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/tasks/bundling/AbstractBootArchiveTests.java index 2c9c2213b5..eb800b7bce 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/tasks/bundling/AbstractBootArchiveTests.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/tasks/bundling/AbstractBootArchiveTests.java @@ -330,7 +330,7 @@ abstract class AbstractBootArchiveTests { File archiveFile = this.task.getArchiveFile().get().getAsFile(); assertThat(Files.readAllBytes(archiveFile.toPath())) .startsWith(new DefaultLaunchScript(null, properties).toByteArray()); - try (ZipFile zipFile = new ZipFile(archiveFile)) { + try (ZipFile zipFile = ZipFile.builder().setFile(archiveFile).get()) { assertThat(zipFile.getEntries().hasMoreElements()).isTrue(); } try { @@ -460,7 +460,7 @@ abstract class AbstractBootArchiveTests { this.task.classpath(classpathDirectory); executeTask(); File archivePath = this.task.getArchiveFile().get().getAsFile(); - try (ZipFile zip = new ZipFile(archivePath)) { + try (ZipFile zip = ZipFile.builder().setFile(archivePath).get()) { Enumeration entries = zip.getEntries(); while (entries.hasMoreElements()) { ZipArchiveEntry entry = entries.nextElement(); diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/testkit/PluginClasspathGradleBuild.java b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/testkit/PluginClasspathGradleBuild.java index 14d1700b43..c1d90b5205 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/testkit/PluginClasspathGradleBuild.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/testkit/PluginClasspathGradleBuild.java @@ -80,6 +80,7 @@ public class PluginClasspathGradleBuild extends GradleBuild { new File(pathOfJarContaining("org.jetbrains.kotlin.daemon.client.KotlinCompilerClient")), new File(pathOfJarContaining(KotlinCompilerPluginSupportPlugin.class)), new File(pathOfJarContaining(LanguageSettings.class)), + new File(pathOfJarContaining("org.apache.commons.io.Charsets")), new File(pathOfJarContaining(ArchiveEntry.class)), new File(pathOfJarContaining(BuildRequest.class)), new File(pathOfJarContaining(HttpClientConnectionManager.class)), new File(pathOfJarContaining(HttpRequest.class)), diff --git a/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/test/java/org/springframework/boot/loader/tools/RepackagerTests.java b/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/test/java/org/springframework/boot/loader/tools/RepackagerTests.java index 239c0cc381..660958ab6e 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/test/java/org/springframework/boot/loader/tools/RepackagerTests.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/test/java/org/springframework/boot/loader/tools/RepackagerTests.java @@ -162,7 +162,7 @@ class RepackagerTests extends AbstractPackagerTests { assertThat(new String(bytes)).startsWith("ABC"); assertThat(hasLauncherClasses(source)).isFalse(); assertThat(hasLauncherClasses(this.destination)).isTrue(); - try (ZipFile zipFile = new ZipFile(this.destination)) { + try (ZipFile zipFile = ZipFile.builder().setFile(this.destination).get()) { assertThat(zipFile.getEntries().hasMoreElements()).isTrue(); } try { @@ -267,7 +267,7 @@ class RepackagerTests extends AbstractPackagerTests { @Override protected Collection getAllPackagedEntries() throws IOException { List result = new ArrayList<>(); - try (ZipFile zip = new ZipFile(this.destination)) { + try (ZipFile zip = ZipFile.builder().setFile(this.destination).get()) { Enumeration entries = zip.getEntries(); while (entries.hasMoreElements()) { result.add(entries.nextElement()); @@ -285,7 +285,7 @@ class RepackagerTests extends AbstractPackagerTests { @Override protected String getPackagedEntryContent(String name) throws IOException { - try (ZipFile zip = new ZipFile(this.destination)) { + try (ZipFile zip = ZipFile.builder().setFile(this.destination).get()) { ZipArchiveEntry entry = zip.getEntry(name); if (entry == null) { return null; From f282af424ad95fa9781f6687cc9636a131c939f7 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Thu, 12 Jun 2025 09:19:39 +0100 Subject: [PATCH 05/16] Upgrade to Commons FileUpload 1.6.0 Closes gh-45899 --- spring-boot-project/spring-boot-parent/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-parent/build.gradle b/spring-boot-project/spring-boot-parent/build.gradle index 62a46fb129..d33e80c612 100644 --- a/spring-boot-project/spring-boot-parent/build.gradle +++ b/spring-boot-project/spring-boot-parent/build.gradle @@ -54,7 +54,7 @@ bom { ] } } - library("Commons FileUpload", "1.5") { + library("Commons FileUpload", "1.6.0") { group("commons-fileupload") { modules = [ "commons-fileupload" From 5b4b7f5ea9cdabb0bd160a2433e10bf4d75f8cf2 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Thu, 12 Jun 2025 09:19:43 +0100 Subject: [PATCH 06/16] Upgrade to Janino 3.1.12 Closes gh-45900 --- spring-boot-project/spring-boot-parent/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-parent/build.gradle b/spring-boot-project/spring-boot-parent/build.gradle index d33e80c612..62ba8945c3 100644 --- a/spring-boot-project/spring-boot-parent/build.gradle +++ b/spring-boot-project/spring-boot-parent/build.gradle @@ -68,7 +68,7 @@ bom { ] } } - library("Janino", "3.1.10") { + library("Janino", "3.1.12") { group("org.codehaus.janino") { bom("janino") { permit("junit:junit") From b6b378390f27416ae0c661216bb7f0f690a2b37f Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Thu, 12 Jun 2025 09:19:47 +0100 Subject: [PATCH 07/16] Upgrade to JNA 5.17.0 Closes gh-45901 --- spring-boot-project/spring-boot-parent/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-parent/build.gradle b/spring-boot-project/spring-boot-parent/build.gradle index 62ba8945c3..06db2b9daf 100644 --- a/spring-boot-project/spring-boot-parent/build.gradle +++ b/spring-boot-project/spring-boot-parent/build.gradle @@ -86,7 +86,7 @@ bom { ] } } - library("JNA", "5.13.0") { + library("JNA", "5.17.0") { group("net.java.dev.jna") { modules = [ "jna-platform" From e0b9b44814b2e339a141ef18f920c3d79cac6060 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Thu, 12 Jun 2025 09:19:51 +0100 Subject: [PATCH 08/16] Upgrade to Maven 3.9.10 Closes gh-45902 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 64dfa3089b..a6366f09c4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,7 +15,7 @@ jacksonVersion=2.19.0 javaFormatVersion=0.0.43 junitJupiterVersion=5.12.2 kotlinVersion=1.9.25 -mavenVersion=3.9.4 +mavenVersion=3.9.10 mockitoVersion=5.17.0 nativeBuildToolsVersion=0.10.6 snakeYamlVersion=2.4 From 8c7275fdb105fcd311b34674a97bb29b1878d598 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Thu, 12 Jun 2025 09:19:55 +0100 Subject: [PATCH 09/16] Upgrade to Maven Common Artifact Filters 3.4.0 Closes gh-45903 --- spring-boot-project/spring-boot-parent/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-parent/build.gradle b/spring-boot-project/spring-boot-parent/build.gradle index 06db2b9daf..3276eb6326 100644 --- a/spring-boot-project/spring-boot-parent/build.gradle +++ b/spring-boot-project/spring-boot-parent/build.gradle @@ -110,7 +110,7 @@ bom { ] } } - library("Maven Common Artifact Filters", "3.3.2") { + library("Maven Common Artifact Filters", "3.4.0") { group("org.apache.maven.shared") { modules = [ "maven-common-artifact-filters" From 4996c70f48fc0e00936052c21cb8a368f0f47e49 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Thu, 12 Jun 2025 09:19:59 +0100 Subject: [PATCH 10/16] Upgrade to Maven Invoker 3.3.0 Closes gh-45904 --- spring-boot-project/spring-boot-parent/build.gradle | 2 +- .../intTest/java/org/springframework/boot/maven/MavenBuild.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/spring-boot-project/spring-boot-parent/build.gradle b/spring-boot-project/spring-boot-parent/build.gradle index 3276eb6326..573bd1f6b9 100644 --- a/spring-boot-project/spring-boot-parent/build.gradle +++ b/spring-boot-project/spring-boot-parent/build.gradle @@ -117,7 +117,7 @@ bom { ] } } - library("Maven Invoker", "3.2.0") { + library("Maven Invoker", "3.3.0") { group("org.apache.maven.shared") { modules = [ "maven-invoker" diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/intTest/java/org/springframework/boot/maven/MavenBuild.java b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/intTest/java/org/springframework/boot/maven/MavenBuild.java index 7393ef9233..9804b8e5fe 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/intTest/java/org/springframework/boot/maven/MavenBuild.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/intTest/java/org/springframework/boot/maven/MavenBuild.java @@ -167,7 +167,7 @@ class MavenBuild { request.setBaseDirectory(this.temp); request.setJavaHome(new File(System.getProperty("java.home"))); request.setProperties(this.properties); - request.setGoals(this.goals.isEmpty() ? Collections.singletonList("package") : this.goals); + request.addArgs(this.goals.isEmpty() ? Collections.singletonList("package") : this.goals); request.setUserSettingsFile(new File(this.temp, "settings.xml")); request.setUpdateSnapshots(true); request.setBatchMode(true); From 2c234171ef50de7aa4998eb8f7aa56482c4ae22f Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Thu, 12 Jun 2025 09:20:03 +0100 Subject: [PATCH 11/16] Upgrade to Maven Plugin Tools 3.15.1 Closes gh-45905 --- .../spring-boot-parent/build.gradle | 2 +- .../spring-boot-maven-plugin/build.gradle | 6 ++++-- .../boot/maven/AbstractAotMojo.java | 8 +++++--- .../boot/maven/AbstractPackagerMojo.java | 8 +++++--- .../boot/maven/AbstractRunMojo.java | 8 +++++--- .../boot/maven/BuildImageForkMojo.java | 10 +++++++++- .../boot/maven/BuildImageMojo.java | 5 +++++ .../boot/maven/BuildImageNoForkMojo.java | 10 +++++++++- .../boot/maven/BuildInfoMojo.java | 13 +++++++++---- .../boot/maven/ProcessAotMojo.java | 10 +++++++++- .../boot/maven/ProcessTestAotMojo.java | 17 ++++++++++------- .../boot/maven/RepackageMojo.java | 10 +++++++++- .../org/springframework/boot/maven/RunMojo.java | 10 +++++++++- .../springframework/boot/maven/StartMojo.java | 9 ++++++++- .../springframework/boot/maven/TestRunMojo.java | 10 +++++++++- 15 files changed, 106 insertions(+), 30 deletions(-) diff --git a/spring-boot-project/spring-boot-parent/build.gradle b/spring-boot-project/spring-boot-parent/build.gradle index 573bd1f6b9..ac31b31667 100644 --- a/spring-boot-project/spring-boot-parent/build.gradle +++ b/spring-boot-project/spring-boot-parent/build.gradle @@ -124,7 +124,7 @@ bom { ] } } - library("Maven Plugin Tools", "3.9.0") { + library("Maven Plugin Tools", "3.15.1") { group("org.apache.maven.plugin-tools") { modules = [ "maven-plugin-annotations" diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/build.gradle b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/build.gradle index beb84b6367..65dcca7ef2 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/build.gradle +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/build.gradle @@ -15,12 +15,10 @@ dependencies { compileOnly("org.apache.maven.plugin-tools:maven-plugin-annotations") compileOnly("org.apache.maven:maven-core") { exclude(group: "javax.annotation", module: "javax.annotation-api") - exclude(group: "javax.inject", module: "javax.inject") } compileOnly("org.apache.maven:maven-plugin-api") { exclude(group: "javax.annotation", module: "javax.annotation-api") exclude(group: "javax.enterprise", module: "cdi-api") - exclude(group: "javax.inject", module: "javax.inject") } dockerTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support-docker")) @@ -90,6 +88,10 @@ ext { xsdVersion = versionElements[0] + "." + versionElements[1] } +tasks.named("checkCompileClasspathForProhibitedDependencies") { + permittedGroups = ["javax.inject"] +} + tasks.register("copySettingsXml", Copy) { from file("src/intTest/projects/settings.xml") into layout.buildDirectory.dir("generated-resources/settings") diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/AbstractAotMojo.java b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/AbstractAotMojo.java index aae376b296..8bbdca59a9 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/AbstractAotMojo.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/AbstractAotMojo.java @@ -41,7 +41,6 @@ import javax.tools.ToolProvider; import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; -import org.apache.maven.plugins.annotations.Component; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.shared.artifact.filter.collection.ArtifactsFilter; import org.apache.maven.toolchain.ToolchainManager; @@ -65,8 +64,7 @@ public abstract class AbstractAotMojo extends AbstractDependencyFilterMojo { /** * The toolchain manager to use to locate a custom JDK. */ - @Component - private ToolchainManager toolchainManager; + private final ToolchainManager toolchainManager; /** * Skip the execution. @@ -94,6 +92,10 @@ public abstract class AbstractAotMojo extends AbstractDependencyFilterMojo { @Parameter(property = "spring-boot.aot.compilerArguments") private String compilerArguments; + protected AbstractAotMojo(ToolchainManager toolchainManager) { + this.toolchainManager = toolchainManager; + } + /** * Return Maven execution session. * @return session diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/AbstractPackagerMojo.java b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/AbstractPackagerMojo.java index ffc0848a1e..dc4ace6687 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/AbstractPackagerMojo.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/AbstractPackagerMojo.java @@ -31,7 +31,6 @@ import org.apache.maven.artifact.Artifact; import org.apache.maven.execution.MavenSession; import org.apache.maven.model.Dependency; import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugins.annotations.Component; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.project.MavenProject; import org.apache.maven.project.MavenProjectHelper; @@ -81,8 +80,7 @@ public abstract class AbstractPackagerMojo extends AbstractDependencyFilterMojo * Maven project helper utils. * @since 1.0.0 */ - @Component - protected MavenProjectHelper projectHelper; + protected final MavenProjectHelper projectHelper; /** * The name of the main class. If not specified the first compiled class found that @@ -128,6 +126,10 @@ public abstract class AbstractPackagerMojo extends AbstractDependencyFilterMojo @Parameter private Layers layers = new Layers(); + protected AbstractPackagerMojo(MavenProjectHelper projectHelper) { + this.projectHelper = projectHelper; + } + /** * Return the type of archive that should be packaged by this MOJO. * @return {@code null}, indicating a layout type will be chosen based on the original diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/AbstractRunMojo.java b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/AbstractRunMojo.java index 0862960283..0595d130c4 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/AbstractRunMojo.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/AbstractRunMojo.java @@ -33,7 +33,6 @@ import org.apache.maven.execution.MavenSession; import org.apache.maven.model.Resource; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; -import org.apache.maven.plugins.annotations.Component; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.project.MavenProject; import org.apache.maven.toolchain.ToolchainManager; @@ -76,8 +75,7 @@ public abstract class AbstractRunMojo extends AbstractDependencyFilterMojo { * * @since 2.3.0 */ - @Component - private ToolchainManager toolchainManager; + private final ToolchainManager toolchainManager; /** * Add maven resources to the classpath directly, this allows live in-place editing of @@ -205,6 +203,10 @@ public abstract class AbstractRunMojo extends AbstractDependencyFilterMojo { @Parameter(property = "spring-boot.run.skip", defaultValue = "false") private boolean skip; + protected AbstractRunMojo(ToolchainManager toolchainManager) { + this.toolchainManager = toolchainManager; + } + @Override public void execute() throws MojoExecutionException, MojoFailureException { if (this.skip) { diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildImageForkMojo.java b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildImageForkMojo.java index 9ade9bc377..23a6da6bb9 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildImageForkMojo.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildImageForkMojo.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,10 +16,13 @@ package org.springframework.boot.maven; +import javax.inject.Inject; + import org.apache.maven.plugins.annotations.Execute; import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.ResolutionScope; +import org.apache.maven.project.MavenProjectHelper; /** * Package an application into an OCI image using a buildpack, forking the lifecycle to @@ -36,4 +39,9 @@ import org.apache.maven.plugins.annotations.ResolutionScope; @Execute(phase = LifecyclePhase.PACKAGE) public class BuildImageForkMojo extends BuildImageMojo { + @Inject + public BuildImageForkMojo(MavenProjectHelper projectHelper) { + super(projectHelper); + } + } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildImageMojo.java b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildImageMojo.java index 503b23e747..16e8115fa9 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildImageMojo.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildImageMojo.java @@ -33,6 +33,7 @@ import org.apache.maven.artifact.Artifact; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.logging.Log; import org.apache.maven.plugins.annotations.Parameter; +import org.apache.maven.project.MavenProjectHelper; import org.springframework.boot.buildpack.platform.build.AbstractBuildLog; import org.springframework.boot.buildpack.platform.build.BuildLog; @@ -219,6 +220,10 @@ public abstract class BuildImageMojo extends AbstractPackagerMojo { @Parameter private LayoutFactory layoutFactory; + protected BuildImageMojo(MavenProjectHelper projectHelper) { + super(projectHelper); + } + /** * Return the type of archive that should be used when building the image. * @return the value of the {@code layout} parameter, or {@code null} if the parameter diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildImageNoForkMojo.java b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildImageNoForkMojo.java index 495c523476..548aa1217c 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildImageNoForkMojo.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildImageNoForkMojo.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,9 +16,12 @@ package org.springframework.boot.maven; +import javax.inject.Inject; + import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.ResolutionScope; +import org.apache.maven.project.MavenProjectHelper; /** * Package an application into an OCI image using a buildpack, but without forking the @@ -33,4 +36,9 @@ import org.apache.maven.plugins.annotations.ResolutionScope; requiresDependencyCollection = ResolutionScope.COMPILE_PLUS_RUNTIME) public class BuildImageNoForkMojo extends BuildImageMojo { + @Inject + public BuildImageNoForkMojo(MavenProjectHelper projectHelper) { + super(projectHelper); + } + } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildInfoMojo.java b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildInfoMojo.java index 9d8319a702..4ff0414bcc 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildInfoMojo.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/BuildInfoMojo.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2024 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,11 +23,12 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import javax.inject.Inject; + import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; -import org.apache.maven.plugins.annotations.Component; import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; @@ -49,8 +50,7 @@ import org.springframework.boot.loader.tools.BuildPropertiesWriter.ProjectDetail @Mojo(name = "build-info", defaultPhase = LifecyclePhase.GENERATE_RESOURCES, threadSafe = true) public class BuildInfoMojo extends AbstractMojo { - @Component - private BuildContext buildContext; + private final BuildContext buildContext; /** * The Maven session. @@ -104,6 +104,11 @@ public class BuildInfoMojo extends AbstractMojo { @Parameter(property = "spring-boot.build-info.skip", defaultValue = "false") private boolean skip; + @Inject + public BuildInfoMojo(BuildContext buildContext) { + this.buildContext = buildContext; + } + @Override public void execute() throws MojoExecutionException, MojoFailureException { if (this.skip) { diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/ProcessAotMojo.java b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/ProcessAotMojo.java index ef16eea0ae..ff4affa46a 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/ProcessAotMojo.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/ProcessAotMojo.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2024 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,10 +21,13 @@ import java.net.URL; import java.util.ArrayList; import java.util.List; +import javax.inject.Inject; + import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.annotations.ResolutionScope; +import org.apache.maven.toolchain.ToolchainManager; import org.springframework.util.ObjectUtils; @@ -86,6 +89,11 @@ public class ProcessAotMojo extends AbstractAotMojo { @Parameter private String[] profiles; + @Inject + public ProcessAotMojo(ToolchainManager toolchainManager) { + super(toolchainManager); + } + @Override protected void executeAot() throws Exception { if (this.project.getPackaging().equals("pom")) { diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/ProcessTestAotMojo.java b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/ProcessTestAotMojo.java index efc0ba4f92..b0872da0e5 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/ProcessTestAotMojo.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/ProcessTestAotMojo.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2024 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -28,17 +28,18 @@ import java.util.List; import java.util.Set; import java.util.stream.Collectors; +import javax.inject.Inject; + import org.apache.maven.RepositoryUtils; import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.DefaultArtifact; import org.apache.maven.artifact.handler.DefaultArtifactHandler; -import org.apache.maven.artifact.resolver.ResolutionErrorHandler; import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugins.annotations.Component; import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.annotations.ResolutionScope; +import org.apache.maven.toolchain.ToolchainManager; import org.eclipse.aether.RepositorySystem; import org.eclipse.aether.collection.CollectRequest; import org.eclipse.aether.resolution.ArtifactResult; @@ -103,11 +104,13 @@ public class ProcessTestAotMojo extends AbstractAotMojo { @Parameter(defaultValue = "${project.build.directory}/spring-aot/main/classes", required = true) private File generatedClasses; - @Component - private RepositorySystem repositorySystem; + private final RepositorySystem repositorySystem; - @Component - private ResolutionErrorHandler resolutionErrorHandler; + @Inject + public ProcessTestAotMojo(ToolchainManager toolchainManager, RepositorySystem repositorySystem) { + super(toolchainManager); + this.repositorySystem = repositorySystem; + } @Override protected void executeAot() throws Exception { diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/RepackageMojo.java b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/RepackageMojo.java index 1808a6380d..588df73e9a 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/RepackageMojo.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/RepackageMojo.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2024 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,6 +23,8 @@ import java.util.List; import java.util.Properties; import java.util.regex.Pattern; +import javax.inject.Inject; + import org.apache.maven.artifact.Artifact; import org.apache.maven.model.Dependency; import org.apache.maven.plugin.MojoExecutionException; @@ -31,6 +33,7 @@ import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.annotations.ResolutionScope; +import org.apache.maven.project.MavenProjectHelper; import org.springframework.boot.loader.tools.DefaultLaunchScript; import org.springframework.boot.loader.tools.LaunchScript; @@ -179,6 +182,11 @@ public class RepackageMojo extends AbstractPackagerMojo { @Parameter private LayoutFactory layoutFactory; + @Inject + public RepackageMojo(MavenProjectHelper projectHelper) { + super(projectHelper); + } + /** * Return the type of archive that should be packaged by this MOJO. * @return the value of the {@code layout} parameter, or {@code null} if the parameter diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/RunMojo.java b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/RunMojo.java index fc9b9c4403..8b3eab4c03 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/RunMojo.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/RunMojo.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,6 +20,8 @@ import java.io.File; import java.util.List; import java.util.Map; +import javax.inject.Inject; + import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Execute; @@ -27,6 +29,7 @@ import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.annotations.ResolutionScope; +import org.apache.maven.toolchain.ToolchainManager; import org.springframework.boot.loader.tools.RunProcess; @@ -58,6 +61,11 @@ public class RunMojo extends AbstractRunMojo { @Parameter(property = "spring-boot.run.useTestClasspath", defaultValue = "false") private Boolean useTestClasspath; + @Inject + public RunMojo(ToolchainManager toolchainManager) { + super(toolchainManager); + } + @Override protected RunArguments resolveJvmArguments() { RunArguments jvmArguments = super.resolveJvmArguments(); diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/StartMojo.java b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/StartMojo.java index d7fda1688c..85406da402 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/StartMojo.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/StartMojo.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +24,7 @@ import java.util.List; import java.util.Map; import java.util.concurrent.Callable; +import javax.inject.Inject; import javax.management.MBeanServerConnection; import javax.management.ReflectionException; import javax.management.remote.JMXConnector; @@ -34,6 +35,7 @@ import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.annotations.ResolutionScope; +import org.apache.maven.toolchain.ToolchainManager; import org.springframework.boot.loader.tools.RunProcess; @@ -91,6 +93,11 @@ public class StartMojo extends AbstractRunMojo { @Parameter(property = "spring-boot.run.useTestClasspath", defaultValue = "false") private Boolean useTestClasspath; + @Inject + public StartMojo(ToolchainManager toolchainManager) { + super(toolchainManager); + } + @Override protected void run(JavaProcessExecutor processExecutor, File workingDirectory, List args, Map environmentVariables) throws MojoExecutionException, MojoFailureException { diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/TestRunMojo.java b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/TestRunMojo.java index 5c41d9a3b7..3c129dcd50 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/TestRunMojo.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/TestRunMojo.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,6 +21,8 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import javax.inject.Inject; + import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.Execute; @@ -28,6 +30,7 @@ import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.annotations.ResolutionScope; +import org.apache.maven.toolchain.ToolchainManager; import org.springframework.boot.loader.tools.RunProcess; @@ -61,6 +64,11 @@ public class TestRunMojo extends AbstractRunMojo { @Parameter(defaultValue = "${project.build.testOutputDirectory}", required = true) private File testClassesDirectory; + @Inject + public TestRunMojo(ToolchainManager toolchainManager) { + super(toolchainManager); + } + @Override protected List getClassesDirectories() { ArrayList classesDirectories = new ArrayList<>(super.getClassesDirectories()); From 963ca3215f6b4001f48f1ea0e49c82b19067f8f0 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Thu, 12 Jun 2025 09:20:08 +0100 Subject: [PATCH 12/16] Upgrade to Maven Resolver 1.9.23 Closes gh-45906 --- spring-boot-project/spring-boot-parent/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-parent/build.gradle b/spring-boot-project/spring-boot-parent/build.gradle index ac31b31667..10ecfbc8fd 100644 --- a/spring-boot-project/spring-boot-parent/build.gradle +++ b/spring-boot-project/spring-boot-parent/build.gradle @@ -131,7 +131,7 @@ bom { ] } } - library("Maven Resolver", "1.9.14") { + library("Maven Resolver", "1.9.23") { group("org.apache.maven.resolver") { modules = [ "maven-resolver-api", From af8e998786d8f9edfd6cb125e29eaca8e2becbcc Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Thu, 12 Jun 2025 09:20:12 +0100 Subject: [PATCH 13/16] Upgrade to Maven Shade Plugin 3.6.0 Closes gh-45907 --- spring-boot-project/spring-boot-parent/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-parent/build.gradle b/spring-boot-project/spring-boot-parent/build.gradle index 10ecfbc8fd..5fddb0e683 100644 --- a/spring-boot-project/spring-boot-parent/build.gradle +++ b/spring-boot-project/spring-boot-parent/build.gradle @@ -144,7 +144,7 @@ bom { ] } } - library("Maven Shade Plugin", "3.5.0") { + library("Maven Shade Plugin", "3.6.0") { group("org.apache.maven.plugins") { modules = [ "maven-shade-plugin" From 092e9e7f88916060f3c3bea9e8a1b777a0721d61 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Thu, 12 Jun 2025 09:20:16 +0100 Subject: [PATCH 14/16] Upgrade to MockK 1.14.2 Closes gh-45908 --- spring-boot-project/spring-boot-parent/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-parent/build.gradle b/spring-boot-project/spring-boot-parent/build.gradle index 5fddb0e683..c9bf9f691f 100644 --- a/spring-boot-project/spring-boot-parent/build.gradle +++ b/spring-boot-project/spring-boot-parent/build.gradle @@ -151,7 +151,7 @@ bom { ] } } - library("MockK", "1.13.5") { + library("MockK", "1.14.2") { group("io.mockk") { modules = [ "mockk" From 9e62b8792735912c1db42262833242a96d66d848 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Thu, 12 Jun 2025 09:20:20 +0100 Subject: [PATCH 15/16] Upgrade to OpenTelemetry Logback Appender 2.16.0-alpha Closes gh-45909 --- spring-boot-project/spring-boot-parent/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-parent/build.gradle b/spring-boot-project/spring-boot-parent/build.gradle index c9bf9f691f..6545484121 100644 --- a/spring-boot-project/spring-boot-parent/build.gradle +++ b/spring-boot-project/spring-boot-parent/build.gradle @@ -172,7 +172,7 @@ bom { ] } } - library("OpenTelemetry Logback Appender", "2.7.0-alpha") { + library("OpenTelemetry Logback Appender", "2.16.0-alpha") { group("io.opentelemetry.instrumentation") { modules = [ "opentelemetry-logback-appender-1.0" From 7b28021f4226f9d539b2c3d7c8b3c8e60cc178de Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Thu, 12 Jun 2025 09:20:25 +0100 Subject: [PATCH 16/16] Upgrade to Simple JNDI 0.25.0 Closes gh-45910 --- spring-boot-project/spring-boot-parent/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-parent/build.gradle b/spring-boot-project/spring-boot-parent/build.gradle index 6545484121..c2cc4f0139 100644 --- a/spring-boot-project/spring-boot-parent/build.gradle +++ b/spring-boot-project/spring-boot-parent/build.gradle @@ -193,7 +193,7 @@ bom { ] } } - library("Simple JNDI", "0.23.0") { + library("Simple JNDI", "0.25.0") { group("com.github.h-thurow") { modules = [ "simple-jndi"