From 8e16f2c17b8c44d8922b2e235272b27896f249b9 Mon Sep 17 00:00:00 2001 From: Tim te Beek Date: Fri, 14 Nov 2025 11:49:35 +0100 Subject: [PATCH] Also change Gradle classifier for Apache Shiro --- .../META-INF/rewrite/jakarta-ee-10.yml | 4 + .../UpdateApacheShiroDependenciesTest.java | 92 +++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 src/test/java/org/openrewrite/java/migrate/jakarta/UpdateApacheShiroDependenciesTest.java diff --git a/src/main/resources/META-INF/rewrite/jakarta-ee-10.yml b/src/main/resources/META-INF/rewrite/jakarta-ee-10.yml index 8b9ce71b06..6e813ac854 100644 --- a/src/main/resources/META-INF/rewrite/jakarta-ee-10.yml +++ b/src/main/resources/META-INF/rewrite/jakarta-ee-10.yml @@ -504,6 +504,10 @@ recipeList: groupId: org.apache.shiro artifactId: "*" newClassifier: jakarta + - org.openrewrite.gradle.ChangeDependencyClassifier: + groupId: org.apache.shiro + artifactId: "*" + newClassifier: jakarta - org.openrewrite.java.dependencies.UpgradeDependencyVersion: groupId: org.apache.shiro artifactId: "*" diff --git a/src/test/java/org/openrewrite/java/migrate/jakarta/UpdateApacheShiroDependenciesTest.java b/src/test/java/org/openrewrite/java/migrate/jakarta/UpdateApacheShiroDependenciesTest.java new file mode 100644 index 0000000000..bee3f00081 --- /dev/null +++ b/src/test/java/org/openrewrite/java/migrate/jakarta/UpdateApacheShiroDependenciesTest.java @@ -0,0 +1,92 @@ +/* + * Copyright 2024 the original author or authors. + *

+ * Licensed under the Moderne Source Available License (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * https://docs.moderne.io/licensing/moderne-source-available-license + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.openrewrite.java.migrate.jakarta; + +import org.junit.jupiter.api.Test; +import org.openrewrite.DocumentExample; +import org.openrewrite.test.RecipeSpec; +import org.openrewrite.test.RewriteTest; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.openrewrite.gradle.Assertions.buildGradle; +import static org.openrewrite.gradle.toolingapi.Assertions.withToolingApi; +import static org.openrewrite.maven.Assertions.pomXml; + +class UpdateApacheShiroDependenciesTest implements RewriteTest { + + @Override + public void defaults(RecipeSpec spec) { + spec.recipeFromResources("org.openrewrite.java.migrate.jakarta.UpdateApacheShiroDependencies"); + } + + @DocumentExample + @Test + void migrateShiroDependenciesMaven() { + rewriteRun( + //language=xml + pomXml( + """ + + com.example.shiro + shiro-legacy + 1.0.0 + + + org.apache.shiro + shiro-core + 1.13.0 + + + org.apache.shiro + shiro-web + 1.13.0 + + + + """, + spec -> spec.after(pom -> assertThat(pom) + .containsPattern("2.0.\\d+") + .contains("jakarta") + .actual()) + ) + ); + } + + @Test + void migrateShiroDependenciesGradle() { + rewriteRun( + spec -> spec.beforeRecipe(withToolingApi()), + buildGradle( + //language=groovy + """ + plugins { + id("java-library") + } + repositories { + mavenCentral() + } + dependencies { + implementation 'org.apache.shiro:shiro-core:1.13.0' + implementation 'org.apache.shiro:shiro-web:1.13.0' + } + """, + spec -> spec.after(gradle -> assertThat(gradle) + .containsPattern("2.0.\\d+:jakarta") + .actual()) + ) + ); + } +}