diff --git a/wicket-migration/src/main/resources/META-INF/rewrite/wicket.yml b/wicket-migration/src/main/resources/META-INF/rewrite/wicket.yml index 73aea2ac7e3..1571984622b 100644 --- a/wicket-migration/src/main/resources/META-INF/rewrite/wicket.yml +++ b/wicket-migration/src/main/resources/META-INF/rewrite/wicket.yml @@ -35,7 +35,6 @@ recipeList: groupId: org.apache.wicket artifactId: "*" newVersion: 10.x - versionPattern: -SNAPSHOT - org.openrewrite.maven.UpgradeDependencyVersion: groupId: org.apache.wicket.experimental.wicket9 artifactId: "*" @@ -139,5 +138,4 @@ recipeList: groupId: org.apache.wicket artifactId: "*" newVersion: 11.x - versionPattern: -SNAPSHOT --- diff --git a/wicket-migration/src/test/java/org/apache/wicket/migration/MigrateToWicket10Test.java b/wicket-migration/src/test/java/org/apache/wicket/migration/MigrateToWicket10Test.java index 6bce2f1c571..91fb6007a33 100644 --- a/wicket-migration/src/test/java/org/apache/wicket/migration/MigrateToWicket10Test.java +++ b/wicket-migration/src/test/java/org/apache/wicket/migration/MigrateToWicket10Test.java @@ -16,7 +16,6 @@ package org.apache.wicket.migration; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.openrewrite.config.Environment; import org.openrewrite.java.JavaParser; @@ -78,7 +77,6 @@ class ATest { } @Test - @Disabled("Requires first release of 10.x before we can update the version") void migrateDependencies() { //language=xml rewriteRun( @@ -104,7 +102,7 @@ void migrateDependencies() { """, spec -> spec.after(pom -> { - Matcher version = Pattern.compile("10\\..+").matcher(pom); + Matcher version = Pattern.compile("(10\\.[^<]+)").matcher(pom); assertThat(version.find()).describedAs("Expected 10.x in %s", pom).isTrue(); return String.format(""" @@ -112,6 +110,9 @@ void migrateDependencies() { com.example wicket 1.0.0 + + 17 + org.apache.wicket @@ -120,7 +121,7 @@ void migrateDependencies() { - """, version.group(0)); + """, version.group(1)); }) ) ) diff --git a/wicket-migration/src/test/java/org/apache/wicket/migration/MigrateToWicket11Test.java b/wicket-migration/src/test/java/org/apache/wicket/migration/MigrateToWicket11Test.java new file mode 100644 index 00000000000..d4f446f63c8 --- /dev/null +++ b/wicket-migration/src/test/java/org/apache/wicket/migration/MigrateToWicket11Test.java @@ -0,0 +1,126 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * 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.apache.wicket.migration; + +import org.junit.jupiter.api.Test; +import org.openrewrite.ExecutionContext; +import org.openrewrite.InMemoryExecutionContext; +import org.openrewrite.config.Environment; +import org.openrewrite.maven.MavenExecutionContextView; +import org.openrewrite.maven.tree.MavenRepository; +import org.openrewrite.test.RecipeSpec; +import org.openrewrite.test.RewriteTest; + +import java.net.URISyntaxException; +import java.util.List; + +import static org.openrewrite.java.Assertions.mavenProject; +import static org.openrewrite.maven.Assertions.pomXml; + +/** + * Resolves the Wicket artifacts from the {@code maven-repository} fixture next to this class + * only, so the outcome does not depend on what Maven Central or the local repository contain. + */ +class MigrateToWicket11Test implements RewriteTest { + + @Override + public void defaults(RecipeSpec spec) { + spec + .executionContext(fixtureRepositoryOnly()) + .recipe(Environment.builder() + .scanRuntimeClasspath() + .build() + .activateRecipes("org.apache.wicket.MigrateToWicket11")); + } + + private static ExecutionContext fixtureRepositoryOnly() { + String uri; + try { + uri = MigrateToWicket11Test.class.getResource("maven-repository").toURI().toString(); + } catch (URISyntaxException e) { + throw new IllegalStateException(e); + } + + ExecutionContext ctx = new InMemoryExecutionContext(t -> { + throw new AssertionError(t); + }); + MavenExecutionContextView.view(ctx) + .setAddCentralRepository(false) + .setAddLocalRepository(false) + .setRepositories(List.of(MavenRepository.builder() + .id("fixture") + .uri(uri) + .knownToExist(true) + .build())); + return ctx; + } + + @Test + void migrateDependencies() { + //language=xml + rewriteRun( + mavenProject("any-project", + pomXml(""" + + 4.0.0 + com.example + wicket + 1.0.0 + + + org.apache.wicket + wicket-core + 10.12.0 + + + org.apache.wicket.experimental.wicket10 + wicket-metrics + 10.12.0 + + + + """, + """ + + 4.0.0 + com.example + wicket + 1.0.0 + + 21 + + + + org.apache.wicket + wicket-core + 11.0.0 + + + org.apache.wicket.experimental.wicket11 + wicket-metrics + 11.0.0 + + + + """ + ) + ) + ); + } + +} diff --git a/wicket-migration/src/test/java/org/apache/wicket/migration/maven-repository/org/apache/wicket/experimental/wicket10/wicket-metrics/10.12.0/wicket-metrics-10.12.0.pom b/wicket-migration/src/test/java/org/apache/wicket/migration/maven-repository/org/apache/wicket/experimental/wicket10/wicket-metrics/10.12.0/wicket-metrics-10.12.0.pom new file mode 100644 index 00000000000..7c70cc11779 --- /dev/null +++ b/wicket-migration/src/test/java/org/apache/wicket/migration/maven-repository/org/apache/wicket/experimental/wicket10/wicket-metrics/10.12.0/wicket-metrics-10.12.0.pom @@ -0,0 +1,24 @@ + + + + 4.0.0 + org.apache.wicket.experimental.wicket10 + wicket-metrics + 10.12.0 + pom + diff --git a/wicket-migration/src/test/java/org/apache/wicket/migration/maven-repository/org/apache/wicket/experimental/wicket10/wicket-metrics/maven-metadata-local.xml b/wicket-migration/src/test/java/org/apache/wicket/migration/maven-repository/org/apache/wicket/experimental/wicket10/wicket-metrics/maven-metadata-local.xml new file mode 100644 index 00000000000..55a899cb7a5 --- /dev/null +++ b/wicket-migration/src/test/java/org/apache/wicket/migration/maven-repository/org/apache/wicket/experimental/wicket10/wicket-metrics/maven-metadata-local.xml @@ -0,0 +1,28 @@ + + + + org.apache.wicket.experimental.wicket10 + wicket-metrics + + 10.12.0 + 10.12.0 + + 10.12.0 + + + diff --git a/wicket-migration/src/test/java/org/apache/wicket/migration/maven-repository/org/apache/wicket/experimental/wicket11/wicket-metrics/11.0.0/wicket-metrics-11.0.0.pom b/wicket-migration/src/test/java/org/apache/wicket/migration/maven-repository/org/apache/wicket/experimental/wicket11/wicket-metrics/11.0.0/wicket-metrics-11.0.0.pom new file mode 100644 index 00000000000..ee7b0d77ec5 --- /dev/null +++ b/wicket-migration/src/test/java/org/apache/wicket/migration/maven-repository/org/apache/wicket/experimental/wicket11/wicket-metrics/11.0.0/wicket-metrics-11.0.0.pom @@ -0,0 +1,24 @@ + + + + 4.0.0 + org.apache.wicket.experimental.wicket11 + wicket-metrics + 11.0.0 + pom + diff --git a/wicket-migration/src/test/java/org/apache/wicket/migration/maven-repository/org/apache/wicket/experimental/wicket11/wicket-metrics/maven-metadata-local.xml b/wicket-migration/src/test/java/org/apache/wicket/migration/maven-repository/org/apache/wicket/experimental/wicket11/wicket-metrics/maven-metadata-local.xml new file mode 100644 index 00000000000..1e91150a116 --- /dev/null +++ b/wicket-migration/src/test/java/org/apache/wicket/migration/maven-repository/org/apache/wicket/experimental/wicket11/wicket-metrics/maven-metadata-local.xml @@ -0,0 +1,28 @@ + + + + org.apache.wicket.experimental.wicket11 + wicket-metrics + + 11.0.0 + 11.0.0 + + 11.0.0 + + + diff --git a/wicket-migration/src/test/java/org/apache/wicket/migration/maven-repository/org/apache/wicket/wicket-core/10.12.0/wicket-core-10.12.0.pom b/wicket-migration/src/test/java/org/apache/wicket/migration/maven-repository/org/apache/wicket/wicket-core/10.12.0/wicket-core-10.12.0.pom new file mode 100644 index 00000000000..3fc2b9af40f --- /dev/null +++ b/wicket-migration/src/test/java/org/apache/wicket/migration/maven-repository/org/apache/wicket/wicket-core/10.12.0/wicket-core-10.12.0.pom @@ -0,0 +1,24 @@ + + + + 4.0.0 + org.apache.wicket + wicket-core + 10.12.0 + pom + diff --git a/wicket-migration/src/test/java/org/apache/wicket/migration/maven-repository/org/apache/wicket/wicket-core/11.0.0/wicket-core-11.0.0.pom b/wicket-migration/src/test/java/org/apache/wicket/migration/maven-repository/org/apache/wicket/wicket-core/11.0.0/wicket-core-11.0.0.pom new file mode 100644 index 00000000000..fff5758cdc8 --- /dev/null +++ b/wicket-migration/src/test/java/org/apache/wicket/migration/maven-repository/org/apache/wicket/wicket-core/11.0.0/wicket-core-11.0.0.pom @@ -0,0 +1,24 @@ + + + + 4.0.0 + org.apache.wicket + wicket-core + 11.0.0 + pom + diff --git a/wicket-migration/src/test/java/org/apache/wicket/migration/maven-repository/org/apache/wicket/wicket-core/maven-metadata-local.xml b/wicket-migration/src/test/java/org/apache/wicket/migration/maven-repository/org/apache/wicket/wicket-core/maven-metadata-local.xml new file mode 100644 index 00000000000..4767e9af19e --- /dev/null +++ b/wicket-migration/src/test/java/org/apache/wicket/migration/maven-repository/org/apache/wicket/wicket-core/maven-metadata-local.xml @@ -0,0 +1,29 @@ + + + + org.apache.wicket + wicket-core + + 11.0.0 + 11.0.0 + + 10.12.0 + 11.0.0 + + +