Skip to content

Commit 926ea39

Browse files
authored
Cap Java version at 24 for Kotlin <2.3 in UpgradeToJava25 (#1035)
* Cap Java version at 24 for Kotlin <2.3 in UpgradeToJava25 (#2126) Kotlin versions before 2.3 only support up to Java 24. When running UpgradeToJava25 on projects with kotlin-stdlib <2.3, the Java version is now set to 24 instead of 25. * Use ModuleHasDependency invertMarking instead of custom ScanningRecipe Replace HasNoOldKotlinDependency with ModuleHasDependency's invertMarking option for detecting projects without Kotlin <2.3. * Inline Kotlin version check recipes into UpgradeToJava25 Remove the intermediate UpgradeBuildToJava25 wrapper and reference UpgradeBuildToJava24ForOldKotlin and UpgradeBuildToJava25Default directly from UpgradeToJava25. * Rename UpgradeBuildToJava25Default to UpgradeBuildToJava25 * Rename UpgradeBuildToJava24ForOldKotlin to UpgradeBuildToJava24
1 parent d4107b9 commit 926ea39

4 files changed

Lines changed: 245 additions & 115 deletions

File tree

src/main/resources/META-INF/rewrite/java-version-25.yml

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ preconditions:
2828
- org.openrewrite.Singleton
2929
recipeList:
3030
- org.openrewrite.java.migrate.UpgradeToJava21
31-
- org.openrewrite.java.migrate.UpgradeJavaVersion:
32-
version: 25
31+
- org.openrewrite.java.migrate.UpgradeBuildToJava24
32+
- org.openrewrite.java.migrate.UpgradeBuildToJava25
3333
- org.openrewrite.java.migrate.UpgradePluginsForJava25
3434
- org.openrewrite.java.migrate.io.ReplaceSystemOutWithIOPrint
3535
- org.openrewrite.java.migrate.lang.MigrateMainMethodToInstanceMain
@@ -217,3 +217,34 @@ recipeList:
217217
groupId: net.bytebuddy
218218
artifactId: byte-buddy*
219219
newVersion: 1.17.x
220+
221+
---
222+
type: specs.openrewrite.org/v1beta/recipe
223+
name: org.openrewrite.java.migrate.UpgradeBuildToJava24
224+
displayName: Upgrade build to Java 24 for Kotlin <2.3
225+
description: >-
226+
Kotlin versions before 2.3 only support up to Java 24.
227+
preconditions:
228+
- org.openrewrite.java.dependencies.search.ModuleHasDependency:
229+
groupIdPattern: org.jetbrains.kotlin
230+
artifactIdPattern: kotlin-stdlib*
231+
version: "[0,2.3)"
232+
recipeList:
233+
- org.openrewrite.java.migrate.UpgradeJavaVersion:
234+
version: 24
235+
236+
---
237+
type: specs.openrewrite.org/v1beta/recipe
238+
name: org.openrewrite.java.migrate.UpgradeBuildToJava25
239+
displayName: Upgrade build to Java 25 (default)
240+
description: >-
241+
Upgrades build files to Java 25 for projects without Kotlin <2.3.
242+
preconditions:
243+
- org.openrewrite.java.dependencies.search.ModuleHasDependency:
244+
groupIdPattern: org.jetbrains.kotlin
245+
artifactIdPattern: kotlin-stdlib*
246+
version: "[0,2.3)"
247+
invertMarking: true
248+
recipeList:
249+
- org.openrewrite.java.migrate.UpgradeJavaVersion:
250+
version: 25

0 commit comments

Comments
 (0)