From 5b1458fbde16df5b186ea87f451dcbc97257f572 Mon Sep 17 00:00:00 2001 From: Tim te Beek Date: Sat, 25 Nov 2023 01:00:16 +0100 Subject: [PATCH] Fix mysql dependency in 2.5 already (#451) --- src/main/resources/META-INF/rewrite/spring-boot-25.yml | 9 +++++++++ src/main/resources/META-INF/rewrite/spring-boot-26.yml | 8 -------- .../spring/boot2/UpdateMysqlDriverArtifactIdTest.java | 9 ++++----- 3 files changed, 13 insertions(+), 13 deletions(-) rename src/{testWithSpringBoot_2_7 => testWithSpringBoot_2_5}/java/org/openrewrite/java/spring/boot2/UpdateMysqlDriverArtifactIdTest.java (97%) diff --git a/src/main/resources/META-INF/rewrite/spring-boot-25.yml b/src/main/resources/META-INF/rewrite/spring-boot-25.yml index 69e4a8fb..c314c32e 100644 --- a/src/main/resources/META-INF/rewrite/spring-boot-25.yml +++ b/src/main/resources/META-INF/rewrite/spring-boot-25.yml @@ -44,6 +44,15 @@ recipeList: addIfMissing: false - org.openrewrite.java.spring.boot2.MigrateDatabaseCredentials + # Spring Boot 2.5 mismanages a pom-only redirect pom of mysql:mysql-connector-java:8.0.33 + # From 2.6 onwards the managed dependency is com.mysql:mysql-connector-j:8.0.33 + - org.openrewrite.java.dependencies.ChangeDependency: + oldGroupId: mysql + newGroupId: com.mysql + oldArtifactId: mysql-connector-java + newArtifactId: mysql-connector-j + newVersion: 8.0.x + # Use recommended replacements for deprecated APIs - org.openrewrite.java.spring.boot2.MigrateActuatorMediaTypeToApiVersion - org.openrewrite.java.ChangeType: diff --git a/src/main/resources/META-INF/rewrite/spring-boot-26.yml b/src/main/resources/META-INF/rewrite/spring-boot-26.yml index 5ac80a1a..4d78e5d6 100644 --- a/src/main/resources/META-INF/rewrite/spring-boot-26.yml +++ b/src/main/resources/META-INF/rewrite/spring-boot-26.yml @@ -43,14 +43,6 @@ recipeList: pluginIdPattern: org.springframework.boot newVersion: 2.6.x - # From 2.6 onwards the managed dependency is com.mysql:mysql-connector-j:8.0.33 - - org.openrewrite.java.dependencies.ChangeDependency: - oldGroupId: mysql - newGroupId: com.mysql - oldArtifactId: mysql-connector-java - newArtifactId: mysql-connector-j - newVersion: 8.0.x - # Update properties - org.openrewrite.java.spring.boot2.SpringBootProperties_2_6 diff --git a/src/testWithSpringBoot_2_7/java/org/openrewrite/java/spring/boot2/UpdateMysqlDriverArtifactIdTest.java b/src/testWithSpringBoot_2_5/java/org/openrewrite/java/spring/boot2/UpdateMysqlDriverArtifactIdTest.java similarity index 97% rename from src/testWithSpringBoot_2_7/java/org/openrewrite/java/spring/boot2/UpdateMysqlDriverArtifactIdTest.java rename to src/testWithSpringBoot_2_5/java/org/openrewrite/java/spring/boot2/UpdateMysqlDriverArtifactIdTest.java index b8387dd0..80ade10b 100644 --- a/src/testWithSpringBoot_2_7/java/org/openrewrite/java/spring/boot2/UpdateMysqlDriverArtifactIdTest.java +++ b/src/testWithSpringBoot_2_5/java/org/openrewrite/java/spring/boot2/UpdateMysqlDriverArtifactIdTest.java @@ -33,13 +33,12 @@ @Issue("https://github.com/openrewrite/rewrite-spring/issues/274") class UpdateMysqlDriverArtifactIdTest implements RewriteTest { - @Override public void defaults(RecipeSpec spec) { spec.recipe(Environment.builder() .scanRuntimeClasspath("org.openrewrite.java.spring") .build() - .activateRecipes("org.openrewrite.java.spring.boot2.UpgradeSpringBoot_2_7")); + .activateRecipes("org.openrewrite.java.spring.boot2.UpgradeSpringBoot_2_5")); } @Nested @@ -189,7 +188,7 @@ void doNotPinWhenNotVersioned() { """ plugins { id 'java' - id 'org.springframework.boot' version '2.6.1' + id 'org.springframework.boot' version '2.5.14' id 'io.spring.dependency-management' version '1.0.11.RELEASE' } @@ -201,8 +200,8 @@ void doNotPinWhenNotVersioned() { runtimeOnly 'mysql:mysql-connector-java' } """, spec -> spec.after(gradle -> { - Matcher version = Pattern.compile("2\\.7\\.\\d+").matcher(gradle); - assertThat(version.find()).describedAs("Expected 2.7.x in %s", gradle).isTrue(); + Matcher version = Pattern.compile("2\\.5\\.\\d+").matcher(gradle); + assertThat(version.find()).describedAs("Expected 2.5.x in %s", gradle).isTrue(); //language=gradle return """ plugins {