From 7d371d82105979829e55d83106f00760efb29fb4 Mon Sep 17 00:00:00 2001 From: ATX Bot Date: Mon, 11 May 2026 06:56:43 +0000 Subject: [PATCH 01/12] Step 1: Establish Baseline and Update Maven Compiler Plugin. Build status: Success --- pom.xml | 2 +- rewrite.yml | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 170 insertions(+), 1 deletion(-) create mode 100644 rewrite.yml diff --git a/pom.xml b/pom.xml index 95eaeb5..ed1d400 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.0 + 3.13.0 1.8 1.8 diff --git a/rewrite.yml b/rewrite.yml new file mode 100644 index 0000000..2a68ca4 --- /dev/null +++ b/rewrite.yml @@ -0,0 +1,169 @@ +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.amazonaws.java.migrate.UpgradeToJava17 +displayName: Migrate to Java 17 +description: This recipe will apply changes commonly needed when migrating to Java 17. Specifically, for those applications that are built on Java 8, this recipe will update and add dependencies on J2EE libraries that are no longer directly bundled with the JDK. This recipe will also replace deprecated API with equivalents when there is a clear migration strategy. Build files will also be updated to use Java 17 as the target/source and plugins will be also be upgraded to versions that are compatible with Java 17. +tags: + - java17 +recipeList: + - org.openrewrite.java.migrate.Java8toJava11 + - org.openrewrite.java.migrate.UpgradeBuildToJava17 + - org.openrewrite.staticanalysis.InstanceOfPatternMatch + - org.openrewrite.staticanalysis.AddSerialAnnotationToSerialVersionUID + - org.openrewrite.java.migrate.RemovedRuntimeTraceMethods + - org.openrewrite.java.migrate.RemovedToolProviderConstructor + - org.openrewrite.java.migrate.RemovedModifierAndConstantBootstrapsConstructors + - org.openrewrite.java.migrate.lang.ExplicitRecordImport + - org.openrewrite.java.migrate.lang.UseTextBlocks: + convertStringsWithoutNewlines: false + - org.openrewrite.java.migrate.lang.StringFormatted: + addParentheses: false + - org.openrewrite.java.migrate.DeprecatedLogRecordThreadID + - org.openrewrite.java.migrate.RemovedLegacySunJSSEProviderName + - org.openrewrite.java.migrate.Jre17AgentMainPreMainPublic + - org.openrewrite.java.migrate.DeprecatedCountStackFramesMethod + - org.openrewrite.java.migrate.RemovedZipFinalizeMethods + - org.openrewrite.java.migrate.RemovedSSLSessionGetPeerCertificateChainMethodImpl + - org.openrewrite.java.migrate.SunNetSslPackageUnavailable + - org.openrewrite.java.migrate.RemovedRMIConnectorServerCredentialTypesConstant + - org.openrewrite.java.migrate.RemovedFileIOFinalizeMethods + - org.openrewrite.java.migrate.UpgradePluginsForJava17 + - org.openrewrite.java.dependencies.UpgradeDependencyVersion: + groupId: com.google.inject + artifactId: guice + newVersion: 5.x + - org.openrewrite.java.dependencies.UpgradeDependencyVersion: + groupId: commons-codec + artifactId: commons-codec + newVersion: 1.17.x + # As it's a Maven plugin, we should only need Maven versions of these upgrades + - org.openrewrite.maven.UpgradeDependencyVersion: + groupId: com.github.spotbugs + artifactId: spotbugs-maven-plugin + newVersion: 4.9.x + - org.openrewrite.maven.UpgradePluginVersion: + groupId: com.github.spotbugs + artifactId: spotbugs-maven-plugin + newVersion: 4.9.x + - org.openrewrite.java.dependencies.UpgradeDependencyVersion: + groupId: org.mapstruct + artifactId: mapstruct* + newVersion: 1.6.x + - org.openrewrite.java.migrate.AddLombokMapstructBinding + - org.openrewrite.java.migrate.EnableLombokAnnotationProcessor +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.amazonaws.java.migrate.UpgradeToJava21 +displayName: Migrate to Java 21 +description: This recipe will apply changes commonly needed when migrating to Java 21. This recipe will also replace deprecated API with equivalents when there is a clear migration strategy. Build files will also be updated to use Java 21 as the target/source and plugins will be also be upgraded to versions that are compatible with Java 21. +tags: + - java21 +recipeList: + - com.amazonaws.java.migrate.UpgradeToJava17 + - org.openrewrite.java.migrate.UpgradeBuildToJava21 + - org.openrewrite.staticanalysis.RemoveExtraSemicolons + - org.openrewrite.java.migrate.RemoveIllegalSemicolons + - org.openrewrite.java.migrate.lang.ThreadStopUnsupported + - org.openrewrite.java.migrate.net.URLConstructorToURICreate + - org.openrewrite.java.migrate.util.SequencedCollection + - org.openrewrite.java.migrate.util.UseLocaleOf + - org.openrewrite.staticanalysis.ReplaceDeprecatedRuntimeExecMethods + - org.openrewrite.github.SetupJavaUpgradeJavaVersion + - org.openrewrite.java.migrate.UpgradePluginsForJava21 + - org.openrewrite.java.migrate.DeleteDeprecatedFinalize + - org.openrewrite.java.migrate.RemovedSubjectMethods + - org.openrewrite.java.migrate.lang.IfElseIfConstructToSwitch + - org.openrewrite.java.migrate.lang.NullCheckAsSwitchCase + - org.openrewrite.java.migrate.lang.SwitchCaseAssignmentsToSwitchExpression + - org.openrewrite.java.migrate.lang.SwitchCaseReturnsToSwitchExpression + - org.openrewrite.java.migrate.lang.SwitchExpressionYieldToArrow + - org.openrewrite.java.migrate.SwitchPatternMatching +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.amazonaws.java.migrate.UpgradeToJava25 +displayName: Migrate to Java 25 +description: This recipe will apply changes commonly needed when migrating to Java 25. This recipe will also replace deprecated API with equivalents when there is a clear migration strategy. Build files will also be updated to use Java 25 as the target/source and plugins will be also be upgraded to versions that are compatible with Java 25. +tags: + - java25 +recipeList: + - com.amazonaws.java.migrate.UpgradeToJava21 + - org.openrewrite.java.migrate.UpgradeJavaVersion: + version: 25 + - org.openrewrite.java.migrate.UpgradePluginsForJava25 + - org.openrewrite.java.migrate.io.ReplaceSystemOutWithIOPrint + - org.openrewrite.java.migrate.lang.MigrateMainMethodToInstanceMain + - org.openrewrite.java.migrate.lang.MigrateProcessWaitForDuration + - org.openrewrite.java.migrate.lang.ReplaceUnusedVariablesWithUnderscore + - org.openrewrite.java.migrate.util.MigrateInflaterDeflaterToClose + - org.openrewrite.java.migrate.util.MigrateStringReaderToReaderOf + - org.openrewrite.java.migrate.AccessController + - org.openrewrite.java.migrate.RemoveSecurityPolicy + - org.openrewrite.java.migrate.RemoveSecurityManager + - org.openrewrite.java.migrate.SystemGetSecurityManagerToNull + - org.openrewrite.java.migrate.MigrateZipErrorToZipException + - org.openrewrite.java.migrate.MigrateGraalVMResourceConfig +--- +type: specs.openrewrite.org/v1beta/recipe +name: com.amazonaws.java.spring.boot3.UpgradeSpringBoot_3_0 +displayName: Migrate to Spring Boot 3.0 +description: Migrate applications to the latest Spring Boot 3.0 release. This recipe will modify an application's build files, make changes to deprecated/preferred APIs, and migrate configuration settings that have changes between versions. This recipe will also chain additional framework migrations (Spring Framework, Spring Data, etc) that are required as part of the migration to Spring Boot 2.7. +tags: + - spring + - boot +recipeList: + - org.openrewrite.java.spring.boot2.UpgradeSpringBoot_2_7 + - org.openrewrite.java.spring.boot3.RemoveEnableBatchProcessing + - com.amazonaws.java.migrate.UpgradeToJava17 + - org.openrewrite.java.migrate.jakarta.UpdateJakartaAnnotations2 + - org.openrewrite.java.dependencies.UpgradeDependencyVersion: + groupId: org.springframework.boot + artifactId: '*' + newVersion: 3.0.x + overrideManagedVersion: false + retainVersions: + [ + org.thymeleaf:thymeleaf-spring5, + org.thymeleaf.extras:thymeleaf-extras-springsecurity5 + ] + - org.openrewrite.java.dependencies.UpgradeDependencyVersion: + groupId: org.springframework + artifactId: '*' + newVersion: 6.0.x + - org.openrewrite.maven.UpgradePluginVersion: + groupId: org.springframework.boot + artifactId: spring-boot-maven-plugin + newVersion: 3.0.x + - org.openrewrite.maven.UpgradeParentVersion: + groupId: org.springframework.boot + artifactId: spring-boot-starter-parent + newVersion: 3.0.x + - org.openrewrite.gradle.plugins.UpgradePluginVersion: + pluginIdPattern: org.springframework.boot + newVersion: 3.0.x + - org.openrewrite.gradle.plugins.UpgradePluginVersion: + pluginIdPattern: io.spring.dependency-management + newVersion: 1.1.x + - org.openrewrite.gradle.UpdateGradleWrapper: + version: ^7.4 + addIfMissing: false + - org.openrewrite.java.migrate.jakarta.JavaxMigrationToJakarta + - org.openrewrite.java.spring.boot3.RemoveConstructorBindingAnnotation + - org.openrewrite.java.spring.boot2.MoveAutoConfigurationToImportsFile + - org.openrewrite.java.spring.boot3.ActuatorEndpointSanitization + - org.openrewrite.java.spring.boot3.MigrateMaxHttpHeaderSize + - org.openrewrite.java.spring.boot3.DowngradeServletApiWhenUsingJetty + - org.openrewrite.java.spring.boot3.ConfigurationOverEnableSecurity: + forceAddConfiguration: false + - org.openrewrite.java.spring.boot3.SpringBootProperties_3_0 + - org.openrewrite.java.spring.boot3.MigrateThymeleafDependencies + - org.openrewrite.java.spring.boot3.MigrateDropWizardDependencies + - org.openrewrite.java.spring.boot3.RemoveSolrAutoConfigurationExclude + - org.openrewrite.java.spring.boot3.MigrateWebMvcTagsToObservationConvention + - org.openrewrite.java.spring.framework.BeanMethodReturnNull + - org.openrewrite.java.spring.batch.SpringBatch4To5Migration + - org.openrewrite.java.spring.framework.UpgradeSpringFramework_6_0 + - org.openrewrite.java.spring.kafka.UpgradeSpringKafka_3_0 + - org.openrewrite.java.spring.security6.UpgradeSpringSecurity_6_0 + - org.openrewrite.java.spring.cloud2022.UpgradeSpringCloud_2022 + - org.openrewrite.java.springdoc.UpgradeSpringDoc_2 + - org.openrewrite.hibernate.MigrateToHibernate61 From 34624ac00bdea1cb48e576f2853590ea84c9d649 Mon Sep 17 00:00:00 2001 From: ATX Bot Date: Mon, 11 May 2026 06:58:18 +0000 Subject: [PATCH 02/12] Step 2: Update Java Version to 25 in POM. Build status: Success --- pom.xml | 10 ++-------- .../java/com/nurkiewicz/download/MainApplication.java | 2 +- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/pom.xml b/pom.xml index ed1d400..a6426a8 100644 --- a/pom.xml +++ b/pom.xml @@ -8,12 +8,7 @@ UTF-8 4.1.1.RELEASE - - org.springframework.boot - spring-boot-starter-parent - 1.2.3.RELEASE - - + @@ -21,8 +16,7 @@ maven-compiler-plugin 3.13.0 - 1.8 - 1.8 + 25 diff --git a/src/main/java/com/nurkiewicz/download/MainApplication.java b/src/main/java/com/nurkiewicz/download/MainApplication.java index 3bccd44..fe10ce1 100644 --- a/src/main/java/com/nurkiewicz/download/MainApplication.java +++ b/src/main/java/com/nurkiewicz/download/MainApplication.java @@ -7,7 +7,7 @@ class MainApplication { public static void main(String[] args) { - Integer temp = new Integer("1234"); + Integer temp = Integer.valueOf("1234"); SpringApplication.run(MainApplication.class, args); } } From ce3e85dc4d8740bad8f3c290d5ff948d4c9251e4 Mon Sep 17 00:00:00 2001 From: ATX Bot Date: Mon, 11 May 2026 07:01:06 +0000 Subject: [PATCH 03/12] Step 3: Update Guava to Java 25 Compatible Version. Build status: Success --- pom.xml | 2 +- src/main/java/com/nurkiewicz/download/FileSystemPointer.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index a6426a8..3b437a9 100644 --- a/pom.xml +++ b/pom.xml @@ -88,7 +88,7 @@ com.google.guava guava - 18.0 + 33.4.0-jre cglib diff --git a/src/main/java/com/nurkiewicz/download/FileSystemPointer.java b/src/main/java/com/nurkiewicz/download/FileSystemPointer.java index 5b9dbc0..bf73a0a 100644 --- a/src/main/java/com/nurkiewicz/download/FileSystemPointer.java +++ b/src/main/java/com/nurkiewicz/download/FileSystemPointer.java @@ -19,7 +19,7 @@ public class FileSystemPointer implements FilePointer { public FileSystemPointer(File target) { try { this.target = target; - this.tag = Files.hash(target, Hashing.sha512()); + this.tag = Files.asByteSource(target).hash(Hashing.sha512()); final String contentType = java.nio.file.Files.probeContentType(target.toPath()); this.mediaTypeOrNull = contentType != null ? MediaType.parse(contentType) : From 7c247df2e5b47cff6688754398f00cc15bbcddab Mon Sep 17 00:00:00 2001 From: ATX Bot Date: Mon, 11 May 2026 07:02:23 +0000 Subject: [PATCH 04/12] Step 4: Update Apache Commons Libraries. Build status: Success --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 3b437a9..9ff5e93 100644 --- a/pom.xml +++ b/pom.xml @@ -50,12 +50,12 @@ commons-io commons-io - 2.4 + 2.17.0 commons-codec commons-codec - 1.10 + 1.17.1 org.springframework.boot From 0e8c42d15ae6360acd906f28691d6596099f7ff8 Mon Sep 17 00:00:00 2001 From: ATX Bot Date: Mon, 11 May 2026 07:03:21 +0000 Subject: [PATCH 05/12] Step 5: Update cglib-nodep. Build status: Success --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9ff5e93..ad54cd5 100644 --- a/pom.xml +++ b/pom.xml @@ -93,7 +93,7 @@ cglib cglib-nodep - 3.1 + 3.3.0 org.springframework From ffba473c30c51e077501f26fa2b83984771f0daa Mon Sep 17 00:00:00 2001 From: ATX Bot Date: Mon, 11 May 2026 07:04:57 +0000 Subject: [PATCH 06/12] Step 6: Upgrade Spring Boot to 3.2.12 and Spring Framework to 6.1.x. Build status: Success --- pom.xml | 76 +++++---------------------------------------------------- 1 file changed, 6 insertions(+), 70 deletions(-) diff --git a/pom.xml b/pom.xml index ad54cd5..36f80be 100644 --- a/pom.xml +++ b/pom.xml @@ -6,9 +6,13 @@ 0.0.1-SNAPSHOT UTF-8 - 4.1.1.RELEASE - + + org.springframework.boot + spring-boot-starter-parent + 3.2.12 + + @@ -21,20 +25,7 @@ - - - io.spring.repo.maven.milestone - http://repo.spring.io/milestone/ - false - - - - org.springframework - spring-test - 4.1.6.RELEASE - test - org.spockframework spock-spring @@ -60,23 +51,14 @@ org.springframework.boot spring-boot-starter-web - 1.2.3.RELEASE org.springframework.boot spring-boot-starter-actuator - 1.2.3.RELEASE org.springframework.boot spring-boot-starter-test - 1.2.3.RELEASE - - - org.springframework - spring-test - - test @@ -95,52 +77,6 @@ cglib-nodep 3.3.0 - - org.springframework - spring-beans - 4.1.6.RELEASE - - - org.springframework - spring-context - 4.1.6.RELEASE - - - org.springframework - spring-context-support - 4.1.6.RELEASE - - - org.springframework - spring-webmvc - 4.1.6.RELEASE - - - org.springframework - spring-web - 4.1.6.RELEASE - - - org.springframework - spring-aop - 4.1.6.RELEASE - - - org.springframework - spring-core - 4.1.6.RELEASE - - - org.springframework - spring-expression - 4.1.6.RELEASE - - - org.springframework - spring-test - 4.1.6.RELEASE - test - org.codehaus.groovy groovy-all From ea0b74c29ddcaf77cc4ef05d3ec476be5f85d3b1 Mon Sep 17 00:00:00 2001 From: ATX Bot Date: Mon, 11 May 2026 07:07:43 +0000 Subject: [PATCH 07/12] Step 7: Update Groovy and Spock Test Framework. Build status: Success --- pom.xml | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/pom.xml b/pom.xml index 36f80be..24e8e02 100644 --- a/pom.xml +++ b/pom.xml @@ -23,19 +23,26 @@ 25 + + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 + + + + addTestSources + compileTests + + + + org.spockframework spock-spring - 1.0-groovy-2.4 - - - org.codehaus.groovy - groovy-all - - + 2.4-M4-groovy-4.0 test @@ -64,7 +71,7 @@ org.spockframework spock-core - 1.0-groovy-2.4 + 2.4-M4-groovy-4.0 test @@ -78,9 +85,10 @@ 3.3.0 - org.codehaus.groovy + org.apache.groovy groovy-all - 2.4.3 + 4.0.24 + pom From eff7714b7a9e4c5fea260b171f4def8c7b2dbb73 Mon Sep 17 00:00:00 2001 From: ATX Bot Date: Mon, 11 May 2026 07:15:59 +0000 Subject: [PATCH 08/12] Step 8: Final Integration Verification and Cleanup. Build status: Success --- .../web/filter/Sha512ShallowEtagHeaderFilter.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/test/java/org/springframework/web/filter/Sha512ShallowEtagHeaderFilter.java b/src/test/java/org/springframework/web/filter/Sha512ShallowEtagHeaderFilter.java index 50b2c90..bb4d79d 100644 --- a/src/test/java/org/springframework/web/filter/Sha512ShallowEtagHeaderFilter.java +++ b/src/test/java/org/springframework/web/filter/Sha512ShallowEtagHeaderFilter.java @@ -3,10 +3,14 @@ import com.google.common.hash.HashCode; import com.google.common.hash.Hashing; +import java.io.IOException; +import java.io.InputStream; + public class Sha512ShallowEtagHeaderFilter extends ShallowEtagHeaderFilter { @Override - protected String generateETagHeaderValue(byte[] bytes) { + protected String generateETagHeaderValue(InputStream inputStream, boolean isWeak) throws IOException { + final byte[] bytes = inputStream.readAllBytes(); final HashCode hash = Hashing.sha512().hashBytes(bytes); return "\"" + hash + "\""; } From f1a41c102414130a42adf526722b284b0e43291b Mon Sep 17 00:00:00 2001 From: ATX Bot Date: Mon, 11 May 2026 07:29:55 +0000 Subject: [PATCH 09/12] Step 9: Fix Groovy/Spock test-compile failure - upgrade Groovy 4.0.24 to 5.0.6, Spock 2.4-M4-groovy-4.0 to 2.4-groovy-5.0, GMavenPlus 3.0.2 to 4.3.1, override groovy.version property to prevent Spring Boot BOM downgrade, and configure targetBytecode=25. Build status: Success --- pom.xml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 24e8e02..8df6117 100644 --- a/pom.xml +++ b/pom.xml @@ -6,6 +6,7 @@ 0.0.1-SNAPSHOT UTF-8 + 5.0.6 org.springframework.boot @@ -26,7 +27,10 @@ org.codehaus.gmavenplus gmavenplus-plugin - 3.0.2 + 4.3.1 + + 25 + @@ -42,7 +46,7 @@ org.spockframework spock-spring - 2.4-M4-groovy-4.0 + 2.4-groovy-5.0 test @@ -71,7 +75,7 @@ org.spockframework spock-core - 2.4-M4-groovy-4.0 + 2.4-groovy-5.0 test @@ -87,7 +91,7 @@ org.apache.groovy groovy-all - 4.0.24 + 5.0.6 pom From beec97cae98f1a127daaf2cfef03079c30a5c491 Mon Sep 17 00:00:00 2001 From: Version Upgrade Date: Mon, 11 May 2026 07:41:45 +0000 Subject: [PATCH 10/12] Upgrade to Java 25 on Iteration 2 --- rewrite.yml | 169 ---------------------------------------------------- 1 file changed, 169 deletions(-) delete mode 100644 rewrite.yml diff --git a/rewrite.yml b/rewrite.yml deleted file mode 100644 index 2a68ca4..0000000 --- a/rewrite.yml +++ /dev/null @@ -1,169 +0,0 @@ ---- -type: specs.openrewrite.org/v1beta/recipe -name: com.amazonaws.java.migrate.UpgradeToJava17 -displayName: Migrate to Java 17 -description: This recipe will apply changes commonly needed when migrating to Java 17. Specifically, for those applications that are built on Java 8, this recipe will update and add dependencies on J2EE libraries that are no longer directly bundled with the JDK. This recipe will also replace deprecated API with equivalents when there is a clear migration strategy. Build files will also be updated to use Java 17 as the target/source and plugins will be also be upgraded to versions that are compatible with Java 17. -tags: - - java17 -recipeList: - - org.openrewrite.java.migrate.Java8toJava11 - - org.openrewrite.java.migrate.UpgradeBuildToJava17 - - org.openrewrite.staticanalysis.InstanceOfPatternMatch - - org.openrewrite.staticanalysis.AddSerialAnnotationToSerialVersionUID - - org.openrewrite.java.migrate.RemovedRuntimeTraceMethods - - org.openrewrite.java.migrate.RemovedToolProviderConstructor - - org.openrewrite.java.migrate.RemovedModifierAndConstantBootstrapsConstructors - - org.openrewrite.java.migrate.lang.ExplicitRecordImport - - org.openrewrite.java.migrate.lang.UseTextBlocks: - convertStringsWithoutNewlines: false - - org.openrewrite.java.migrate.lang.StringFormatted: - addParentheses: false - - org.openrewrite.java.migrate.DeprecatedLogRecordThreadID - - org.openrewrite.java.migrate.RemovedLegacySunJSSEProviderName - - org.openrewrite.java.migrate.Jre17AgentMainPreMainPublic - - org.openrewrite.java.migrate.DeprecatedCountStackFramesMethod - - org.openrewrite.java.migrate.RemovedZipFinalizeMethods - - org.openrewrite.java.migrate.RemovedSSLSessionGetPeerCertificateChainMethodImpl - - org.openrewrite.java.migrate.SunNetSslPackageUnavailable - - org.openrewrite.java.migrate.RemovedRMIConnectorServerCredentialTypesConstant - - org.openrewrite.java.migrate.RemovedFileIOFinalizeMethods - - org.openrewrite.java.migrate.UpgradePluginsForJava17 - - org.openrewrite.java.dependencies.UpgradeDependencyVersion: - groupId: com.google.inject - artifactId: guice - newVersion: 5.x - - org.openrewrite.java.dependencies.UpgradeDependencyVersion: - groupId: commons-codec - artifactId: commons-codec - newVersion: 1.17.x - # As it's a Maven plugin, we should only need Maven versions of these upgrades - - org.openrewrite.maven.UpgradeDependencyVersion: - groupId: com.github.spotbugs - artifactId: spotbugs-maven-plugin - newVersion: 4.9.x - - org.openrewrite.maven.UpgradePluginVersion: - groupId: com.github.spotbugs - artifactId: spotbugs-maven-plugin - newVersion: 4.9.x - - org.openrewrite.java.dependencies.UpgradeDependencyVersion: - groupId: org.mapstruct - artifactId: mapstruct* - newVersion: 1.6.x - - org.openrewrite.java.migrate.AddLombokMapstructBinding - - org.openrewrite.java.migrate.EnableLombokAnnotationProcessor ---- -type: specs.openrewrite.org/v1beta/recipe -name: com.amazonaws.java.migrate.UpgradeToJava21 -displayName: Migrate to Java 21 -description: This recipe will apply changes commonly needed when migrating to Java 21. This recipe will also replace deprecated API with equivalents when there is a clear migration strategy. Build files will also be updated to use Java 21 as the target/source and plugins will be also be upgraded to versions that are compatible with Java 21. -tags: - - java21 -recipeList: - - com.amazonaws.java.migrate.UpgradeToJava17 - - org.openrewrite.java.migrate.UpgradeBuildToJava21 - - org.openrewrite.staticanalysis.RemoveExtraSemicolons - - org.openrewrite.java.migrate.RemoveIllegalSemicolons - - org.openrewrite.java.migrate.lang.ThreadStopUnsupported - - org.openrewrite.java.migrate.net.URLConstructorToURICreate - - org.openrewrite.java.migrate.util.SequencedCollection - - org.openrewrite.java.migrate.util.UseLocaleOf - - org.openrewrite.staticanalysis.ReplaceDeprecatedRuntimeExecMethods - - org.openrewrite.github.SetupJavaUpgradeJavaVersion - - org.openrewrite.java.migrate.UpgradePluginsForJava21 - - org.openrewrite.java.migrate.DeleteDeprecatedFinalize - - org.openrewrite.java.migrate.RemovedSubjectMethods - - org.openrewrite.java.migrate.lang.IfElseIfConstructToSwitch - - org.openrewrite.java.migrate.lang.NullCheckAsSwitchCase - - org.openrewrite.java.migrate.lang.SwitchCaseAssignmentsToSwitchExpression - - org.openrewrite.java.migrate.lang.SwitchCaseReturnsToSwitchExpression - - org.openrewrite.java.migrate.lang.SwitchExpressionYieldToArrow - - org.openrewrite.java.migrate.SwitchPatternMatching ---- -type: specs.openrewrite.org/v1beta/recipe -name: com.amazonaws.java.migrate.UpgradeToJava25 -displayName: Migrate to Java 25 -description: This recipe will apply changes commonly needed when migrating to Java 25. This recipe will also replace deprecated API with equivalents when there is a clear migration strategy. Build files will also be updated to use Java 25 as the target/source and plugins will be also be upgraded to versions that are compatible with Java 25. -tags: - - java25 -recipeList: - - com.amazonaws.java.migrate.UpgradeToJava21 - - org.openrewrite.java.migrate.UpgradeJavaVersion: - version: 25 - - org.openrewrite.java.migrate.UpgradePluginsForJava25 - - org.openrewrite.java.migrate.io.ReplaceSystemOutWithIOPrint - - org.openrewrite.java.migrate.lang.MigrateMainMethodToInstanceMain - - org.openrewrite.java.migrate.lang.MigrateProcessWaitForDuration - - org.openrewrite.java.migrate.lang.ReplaceUnusedVariablesWithUnderscore - - org.openrewrite.java.migrate.util.MigrateInflaterDeflaterToClose - - org.openrewrite.java.migrate.util.MigrateStringReaderToReaderOf - - org.openrewrite.java.migrate.AccessController - - org.openrewrite.java.migrate.RemoveSecurityPolicy - - org.openrewrite.java.migrate.RemoveSecurityManager - - org.openrewrite.java.migrate.SystemGetSecurityManagerToNull - - org.openrewrite.java.migrate.MigrateZipErrorToZipException - - org.openrewrite.java.migrate.MigrateGraalVMResourceConfig ---- -type: specs.openrewrite.org/v1beta/recipe -name: com.amazonaws.java.spring.boot3.UpgradeSpringBoot_3_0 -displayName: Migrate to Spring Boot 3.0 -description: Migrate applications to the latest Spring Boot 3.0 release. This recipe will modify an application's build files, make changes to deprecated/preferred APIs, and migrate configuration settings that have changes between versions. This recipe will also chain additional framework migrations (Spring Framework, Spring Data, etc) that are required as part of the migration to Spring Boot 2.7. -tags: - - spring - - boot -recipeList: - - org.openrewrite.java.spring.boot2.UpgradeSpringBoot_2_7 - - org.openrewrite.java.spring.boot3.RemoveEnableBatchProcessing - - com.amazonaws.java.migrate.UpgradeToJava17 - - org.openrewrite.java.migrate.jakarta.UpdateJakartaAnnotations2 - - org.openrewrite.java.dependencies.UpgradeDependencyVersion: - groupId: org.springframework.boot - artifactId: '*' - newVersion: 3.0.x - overrideManagedVersion: false - retainVersions: - [ - org.thymeleaf:thymeleaf-spring5, - org.thymeleaf.extras:thymeleaf-extras-springsecurity5 - ] - - org.openrewrite.java.dependencies.UpgradeDependencyVersion: - groupId: org.springframework - artifactId: '*' - newVersion: 6.0.x - - org.openrewrite.maven.UpgradePluginVersion: - groupId: org.springframework.boot - artifactId: spring-boot-maven-plugin - newVersion: 3.0.x - - org.openrewrite.maven.UpgradeParentVersion: - groupId: org.springframework.boot - artifactId: spring-boot-starter-parent - newVersion: 3.0.x - - org.openrewrite.gradle.plugins.UpgradePluginVersion: - pluginIdPattern: org.springframework.boot - newVersion: 3.0.x - - org.openrewrite.gradle.plugins.UpgradePluginVersion: - pluginIdPattern: io.spring.dependency-management - newVersion: 1.1.x - - org.openrewrite.gradle.UpdateGradleWrapper: - version: ^7.4 - addIfMissing: false - - org.openrewrite.java.migrate.jakarta.JavaxMigrationToJakarta - - org.openrewrite.java.spring.boot3.RemoveConstructorBindingAnnotation - - org.openrewrite.java.spring.boot2.MoveAutoConfigurationToImportsFile - - org.openrewrite.java.spring.boot3.ActuatorEndpointSanitization - - org.openrewrite.java.spring.boot3.MigrateMaxHttpHeaderSize - - org.openrewrite.java.spring.boot3.DowngradeServletApiWhenUsingJetty - - org.openrewrite.java.spring.boot3.ConfigurationOverEnableSecurity: - forceAddConfiguration: false - - org.openrewrite.java.spring.boot3.SpringBootProperties_3_0 - - org.openrewrite.java.spring.boot3.MigrateThymeleafDependencies - - org.openrewrite.java.spring.boot3.MigrateDropWizardDependencies - - org.openrewrite.java.spring.boot3.RemoveSolrAutoConfigurationExclude - - org.openrewrite.java.spring.boot3.MigrateWebMvcTagsToObservationConvention - - org.openrewrite.java.spring.framework.BeanMethodReturnNull - - org.openrewrite.java.spring.batch.SpringBatch4To5Migration - - org.openrewrite.java.spring.framework.UpgradeSpringFramework_6_0 - - org.openrewrite.java.spring.kafka.UpgradeSpringKafka_3_0 - - org.openrewrite.java.spring.security6.UpgradeSpringSecurity_6_0 - - org.openrewrite.java.spring.cloud2022.UpgradeSpringCloud_2022 - - org.openrewrite.java.springdoc.UpgradeSpringDoc_2 - - org.openrewrite.hibernate.MigrateToHibernate61 From c5eea5c79661383539851785534d057df8a4c531 Mon Sep 17 00:00:00 2001 From: Version Upgrade Date: Mon, 11 May 2026 07:51:47 +0000 Subject: [PATCH 11/12] Upgrade to Java 25 on Iteration 3 --- pom.xml | 13 ++++++++++--- .../com/nurkiewicz/download/DownloadController.java | 2 -- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index 8df6117..c8532a9 100644 --- a/pom.xml +++ b/pom.xml @@ -5,6 +5,7 @@ download-server 0.0.1-SNAPSHOT + 25 UTF-8 5.0.6 @@ -19,9 +20,9 @@ org.apache.maven.plugins maven-compiler-plugin - 3.13.0 + 3.15.0 - 25 + ${java.version} @@ -57,7 +58,7 @@ commons-codec commons-codec - 1.17.1 + 1.17.2 org.springframework.boot @@ -93,6 +94,12 @@ groovy-all 5.0.6 pom + + + junit + junit + + diff --git a/src/main/java/com/nurkiewicz/download/DownloadController.java b/src/main/java/com/nurkiewicz/download/DownloadController.java index e717026..7969b3b 100644 --- a/src/main/java/com/nurkiewicz/download/DownloadController.java +++ b/src/main/java/com/nurkiewicz/download/DownloadController.java @@ -1,6 +1,5 @@ package com.nurkiewicz.download; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.Resource; import org.springframework.http.HttpMethod; import org.springframework.http.ResponseEntity; @@ -25,7 +24,6 @@ public class DownloadController { private final FileStorage storage; - @Autowired public DownloadController(FileStorage storage) { this.storage = storage; } From c0fbf137cf1fc4d42bcf36ef6f50c8ad9e619f6f Mon Sep 17 00:00:00 2001 From: Version Upgrade Date: Mon, 11 May 2026 07:59:13 +0000 Subject: [PATCH 12/12] Upgrade to Java 25 on Iteration 4 --- pom.xml | 13 ++++++++++--- .../com/nurkiewicz/download/DownloadController.java | 2 -- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index 8df6117..c8532a9 100644 --- a/pom.xml +++ b/pom.xml @@ -5,6 +5,7 @@ download-server 0.0.1-SNAPSHOT + 25 UTF-8 5.0.6 @@ -19,9 +20,9 @@ org.apache.maven.plugins maven-compiler-plugin - 3.13.0 + 3.15.0 - 25 + ${java.version} @@ -57,7 +58,7 @@ commons-codec commons-codec - 1.17.1 + 1.17.2 org.springframework.boot @@ -93,6 +94,12 @@ groovy-all 5.0.6 pom + + + junit + junit + + diff --git a/src/main/java/com/nurkiewicz/download/DownloadController.java b/src/main/java/com/nurkiewicz/download/DownloadController.java index e717026..7969b3b 100644 --- a/src/main/java/com/nurkiewicz/download/DownloadController.java +++ b/src/main/java/com/nurkiewicz/download/DownloadController.java @@ -1,6 +1,5 @@ package com.nurkiewicz.download; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.Resource; import org.springframework.http.HttpMethod; import org.springframework.http.ResponseEntity; @@ -25,7 +24,6 @@ public class DownloadController { private final FileStorage storage; - @Autowired public DownloadController(FileStorage storage) { this.storage = storage; }