diff --git a/.github/workflows/mvn-build.yml b/.github/workflows/mvn-build.yml index 80c0405c7..9611c4071 100644 --- a/.github/workflows/mvn-build.yml +++ b/.github/workflows/mvn-build.yml @@ -11,10 +11,10 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v2 with: - java-version: '11' + java-version: '17' distribution: 'adopt' cache: 'maven' - name: Build with Maven diff --git a/applications/rest-service/pom.xml b/applications/rest-service/pom.xml index 0e9357109..e83e496f8 100644 --- a/applications/rest-service/pom.xml +++ b/applications/rest-service/pom.xml @@ -64,28 +64,6 @@ sbm-support-weblogic 0.11.2-SNAPSHOT - - - - com.fasterxml.jackson.core - jackson-core - ${jackson.version} - - - com.fasterxml.jackson.core - jackson-databind - ${jackson-databind.version} - - - com.fasterxml.jackson.core - jackson-annotations - ${jackson.version} - - - com.fasterxml.jackson.datatype - jackson-datatype-jdk8 - ${jackson.version} - org.springframework.sbm openrewrite-spring-recipes @@ -94,12 +72,6 @@ org.springframework.boot spring-boot-starter-web - - - com.fasterxml.jackson.core - jackson-dataformat-yaml - - org.springframework.boot diff --git a/applications/spring-shell/pom.xml b/applications/spring-shell/pom.xml index 4cd683eaf..fab7ac2bc 100644 --- a/applications/spring-shell/pom.xml +++ b/applications/spring-shell/pom.xml @@ -66,12 +66,6 @@ org.springframework.shell spring-shell-starter - - - net.java.dev.jna - jna - - org.springframework.boot @@ -109,32 +103,6 @@ - - - com.fasterxml.jackson.core - jackson-core - ${jackson.version} - - - com.fasterxml.jackson.core - jackson-databind - ${jackson-databind.version} - - - com.fasterxml.jackson.core - jackson-annotations - ${jackson.version} - - - com.fasterxml.jackson.datatype - jackson-datatype-jdk8 - ${jackson.version} - - - com.fasterxml.jackson.dataformat - jackson-dataformat-yaml - ${jackson.version} - org.springframework.sbm openrewrite-spring-recipes diff --git a/applications/spring-shell/src/main/java/org/springframework/sbm/shell/ApplyShellCommand.java b/applications/spring-shell/src/main/java/org/springframework/sbm/shell/ApplyShellCommand.java index dae167ced..fb8aeda60 100644 --- a/applications/spring-shell/src/main/java/org/springframework/sbm/shell/ApplyShellCommand.java +++ b/applications/spring-shell/src/main/java/org/springframework/sbm/shell/ApplyShellCommand.java @@ -1,3 +1,4 @@ + /* * Copyright 2021 - 2022 the original author or authors. * diff --git a/applications/spring-shell/src/test/java/org/springframework/sbm/IntegrationTestBaseClass.java b/applications/spring-shell/src/test/java/org/springframework/sbm/IntegrationTestBaseClass.java index 9ca1f983e..d631b7ac0 100644 --- a/applications/spring-shell/src/test/java/org/springframework/sbm/IntegrationTestBaseClass.java +++ b/applications/spring-shell/src/test/java/org/springframework/sbm/IntegrationTestBaseClass.java @@ -35,8 +35,6 @@ import org.springframework.sbm.project.resource.ResourceHelper; import org.springframework.sbm.shell.ApplyShellCommand; import org.springframework.sbm.shell.ScanShellCommand; -import org.springframework.shell.jline.InteractiveShellApplicationRunner; -import org.springframework.shell.jline.ScriptShellApplicationRunner; import org.springframework.test.annotation.DirtiesContext; import org.springframework.util.SocketUtils; import org.testcontainers.containers.GenericContainer; @@ -61,6 +59,7 @@ import static java.nio.file.StandardCopyOption.REPLACE_EXISTING; import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.Assert.fail; /** * Base class to be extended by integrationTests. @@ -74,8 +73,11 @@ * See also: {@link #intializeTestProject()}, {@link #writeFile} and * {@link #writeJavaFile(String)} */ -@SpringBootTest(properties = {InteractiveShellApplicationRunner.SPRING_SHELL_INTERACTIVE_ENABLED + "=false", - ScriptShellApplicationRunner.SPRING_SHELL_SCRIPT_ENABLED + "=false", "sbm.gitSupportEnabled=false"}) +@SpringBootTest(properties = { + "spring.shell.interactive.enabled=false", + "spring.shell.script.enabled=false", + "sbm.gitSupportEnabled=false" +}) @DirtiesContext // paralel runs public abstract class IntegrationTestBaseClass { @@ -216,6 +218,7 @@ protected void scanProject() { protected void executeMavenGoals(Path executionDir, String... goals) { Invoker invoker = new DefaultInvoker(); InvocationRequest request = new DefaultInvocationRequest(); + request.setErrorHandler(new SystemOutHandler()); request.setInputStream(InputStream.nullInputStream()); File pomXml = executionDir.resolve("pom.xml").toFile(); request.setPomFile(pomXml); @@ -226,18 +229,20 @@ protected void executeMavenGoals(Path executionDir, String... goals) { CommandLineException executionException = invocationResult.getExecutionException(); int exitCode = invocationResult.getExitCode(); if (executionException != null) { - Assert.fail("Maven build 'mvn " + Arrays.asList(goals).stream().collect(Collectors.joining(" ")) + Assert.fail("Maven build 'mvn " + g + + " " + pomXml + " " + "' failed with Exception: " + executionException.getMessage()); } - if (exitCode == 1) { - Assert.fail("Maven build 'mvn " + Arrays.asList(goals).stream().collect(Collectors.joining(" ")) + if (exitCode != 0) { + Assert.fail("Maven build 'mvn " + g + "' failed with exitCode: " + exitCode); } } catch (MavenInvocationException e) { - Assert.fail("Maven build 'mvn " + Arrays.asList(goals).stream().collect(Collectors.joining(" ")) + Assert.fail("Maven build 'mvn " + g + + " " + pomXml + " " + "' failed with Exception: " + e.getMessage()); e.printStackTrace(); - throw new RuntimeException(e); + fail("Maven build 'mvn " + g + "' failed"); } }); } diff --git a/applications/spring-shell/src/test/resources/testcode/jpa-hibernate/src/test/java/org/superbiz/injection/h3jpa/MoviesTest.java b/applications/spring-shell/src/test/resources/testcode/jpa-hibernate/src/test/java/org/superbiz/injection/h3jpa/MoviesTest.java deleted file mode 100644 index 66e7be8fc..000000000 --- a/applications/spring-shell/src/test/resources/testcode/jpa-hibernate/src/test/java/org/superbiz/injection/h3jpa/MoviesTest.java +++ /dev/null @@ -1,57 +0,0 @@ -/** - * 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.superbiz.injection.h3jpa; - -import junit.framework.TestCase; - -import javax.ejb.embeddable.EJBContainer; -import javax.naming.Context; -import java.util.List; -import java.util.Properties; - -/** - * @version $Revision: 607077 $ $Date: 2007-12-27 06:55:23 -0800 (Thu, 27 Dec 2007) $ - */ -public class MoviesTest extends TestCase { - - public void test() throws Exception { - System.setProperty("hsqldb.reconfig_logging", "false"); - System.setProperty("tomee.jpa.factory.lazy", "true"); - - final Properties p = new Properties(); - p.put("movieDatabase", "new://Resource?type=DataSource"); - p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver"); - p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb"); - - final Context context = EJBContainer.createEJBContainer(p).getContext(); - context.getEnvironment().entrySet().stream().forEach(es -> System.out.println(es.getValue())); - Movies movies = (Movies) context.lookup("java:global/jpa-hibernate/Movies"); - - movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992)); - movies.addMovie(new Movie("Joel Coen", "Fargo", 1996)); - movies.addMovie(new Movie("Joel Coen", "The Big Lebowski", 1998)); - - List list = movies.getMovies(); - assertEquals("List.size()", 3, list.size()); - - for (Movie movie : list) { - movies.deleteMovie(movie); - } - - assertEquals("Movies.getMovies()", 0, movies.getMovies().size()); - } -} diff --git a/components/openrewrite-spring-recipes/pom.xml b/components/openrewrite-spring-recipes/pom.xml index ef2df6158..f397e8483 100644 --- a/components/openrewrite-spring-recipes/pom.xml +++ b/components/openrewrite-spring-recipes/pom.xml @@ -71,32 +71,5 @@ spring-boot-starter-test test - - - - com.fasterxml.jackson.core - jackson-core - ${jackson.version} - - - com.fasterxml.jackson.core - jackson-databind - ${jackson-databind.version} - - - com.fasterxml.jackson.core - jackson-annotations - ${jackson.version} - - - com.fasterxml.jackson.datatype - jackson-datatype-jdk8 - ${jackson.version} - - - com.fasterxml.jackson.dataformat - jackson-dataformat-yaml - ${jackson.version} - diff --git a/components/sbm-core/pom.xml b/components/sbm-core/pom.xml index a2591f3b4..2f76c7817 100644 --- a/components/sbm-core/pom.xml +++ b/components/sbm-core/pom.xml @@ -26,11 +26,6 @@ sbm-core - - 11 - 11 - - org.springframework.sbm diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/engine/precondition/JavaVersionPreconditionCheck.java b/components/sbm-core/src/main/java/org/springframework/sbm/engine/precondition/JavaVersionPreconditionCheck.java index 600130fdc..02f7e72a5 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/engine/precondition/JavaVersionPreconditionCheck.java +++ b/components/sbm-core/src/main/java/org/springframework/sbm/engine/precondition/JavaVersionPreconditionCheck.java @@ -26,8 +26,8 @@ class JavaVersionPreconditionCheck extends PreconditionCheck { @Override public PreconditionCheckResult verify(Path projectRoot, List projectResources) { String javaVersion = System.getProperty("java.specification.version"); - if(! "11".equals(javaVersion)) { - return new PreconditionCheckResult(ResultState.WARN, String.format("Java 11 is required. Check found Java %s.", javaVersion)); + if(! ("11".equals(javaVersion) || "17".equals(javaVersion))) { + return new PreconditionCheckResult(ResultState.WARN, String.format("Java 11 or 17 is required. Check found Java %s.", javaVersion)); } return new PreconditionCheckResult(ResultState.PASSED, String.format("Required Java version (%s) was found.", javaVersion)); } diff --git a/components/sbm-core/src/test/java/org/springframework/sbm/engine/precondition/JavaVersionPreconditionCheckTest.java b/components/sbm-core/src/test/java/org/springframework/sbm/engine/precondition/JavaVersionPreconditionCheckTest.java index 754eaab2d..d75ca00dd 100644 --- a/components/sbm-core/src/test/java/org/springframework/sbm/engine/precondition/JavaVersionPreconditionCheckTest.java +++ b/components/sbm-core/src/test/java/org/springframework/sbm/engine/precondition/JavaVersionPreconditionCheckTest.java @@ -35,11 +35,11 @@ void unsupportedJavaVersionShouldTriggerWarning() { PreconditionCheckResult checkResult = sut.verify(projectRoot, resources); assertThat(checkResult.getState()).isEqualTo(PreconditionCheck.ResultState.WARN); - assertThat(checkResult.getMessage()).isEqualTo("Java 11 is required. Check found Java 10."); + assertThat(checkResult.getMessage()).isEqualTo("Java 11 or 17 is required. Check found Java 10."); } @Test - void supportedJavaVersionShouldPass() { + void supportedJavaVersionShouldPassWithJava11() { JavaVersionPreconditionCheck sut = new JavaVersionPreconditionCheck(); Path projectRoot = Path.of("./test-dummy").toAbsolutePath().normalize(); List resources = List.of(); @@ -51,4 +51,17 @@ void supportedJavaVersionShouldPass() { assertThat(checkResult.getMessage()).isEqualTo("Required Java version (11) was found."); } + @Test + void supportedJavaVersionShouldPassWithJava17() { + JavaVersionPreconditionCheck sut = new JavaVersionPreconditionCheck(); + Path projectRoot = Path.of("./test-dummy").toAbsolutePath().normalize(); + List resources = List.of(); + + System.setProperty("java.specification.version", "17"); + + PreconditionCheckResult checkResult = sut.verify(projectRoot, resources); + assertThat(checkResult.getState()).isEqualTo(PreconditionCheck.ResultState.PASSED); + assertThat(checkResult.getMessage()).isEqualTo("Required Java version (17) was found."); + } + } \ No newline at end of file diff --git a/components/sbm-core/src/test/java/org/springframework/sbm/engine/precondition/PreconditionVerifierIntegrationTest.java b/components/sbm-core/src/test/java/org/springframework/sbm/engine/precondition/PreconditionVerifierIntegrationTest.java index b5cc0a8d9..9ee1bd6f7 100644 --- a/components/sbm-core/src/test/java/org/springframework/sbm/engine/precondition/PreconditionVerifierIntegrationTest.java +++ b/components/sbm-core/src/test/java/org/springframework/sbm/engine/precondition/PreconditionVerifierIntegrationTest.java @@ -87,7 +87,7 @@ void allChecksFailed() { assertThat(preconditionVerificationResult.getResults().get(2).getState()).isEqualTo(PreconditionCheck.ResultState.FAILED); assertThat(preconditionVerificationResult.getResults().get(2).getMessage()).isEqualTo("PreconditionCheck check could not find a 'src/main/java' dir. This dir is required."); assertThat(preconditionVerificationResult.getResults().get(3).getState()).isEqualTo(PreconditionCheck.ResultState.WARN); - assertThat(preconditionVerificationResult.getResults().get(3).getMessage()).isEqualTo("Java 11 is required. Check found Java 9."); + assertThat(preconditionVerificationResult.getResults().get(3).getMessage()).isEqualTo("Java 11 or 17 is required. Check found Java 9."); } @Test diff --git a/components/sbm-core/src/test/java/org/springframework/sbm/java/impl/OpenRewriteMethodTest.java b/components/sbm-core/src/test/java/org/springframework/sbm/java/impl/OpenRewriteMethodTest.java index 878b39c16..f11e9a87f 100644 --- a/components/sbm-core/src/test/java/org/springframework/sbm/java/impl/OpenRewriteMethodTest.java +++ b/components/sbm-core/src/test/java/org/springframework/sbm/java/impl/OpenRewriteMethodTest.java @@ -142,7 +142,6 @@ void testRemoveAnnotation() { } @Test - @Disabled("FIXME: https://github.com/spring-projects-experimental/spring-boot-migrator/issues/200") void removeMethodAnnotationsFromDependency() { String given = "import javax.ejb.*;\n" + diff --git a/components/sbm-core/src/test/java/org/springframework/sbm/project/parser/JavaProvenanceMarkerFactoryTest.java b/components/sbm-core/src/test/java/org/springframework/sbm/project/parser/JavaProvenanceMarkerFactoryTest.java index b51120233..0bf095bcd 100644 --- a/components/sbm-core/src/test/java/org/springframework/sbm/project/parser/JavaProvenanceMarkerFactoryTest.java +++ b/components/sbm-core/src/test/java/org/springframework/sbm/project/parser/JavaProvenanceMarkerFactoryTest.java @@ -47,7 +47,7 @@ void test() { " 4.0.0\n" + " project-name" + " \n" + - " 11\n" + + " 17\n" + " 11\n" + " \n" + "\n" + @@ -70,7 +70,10 @@ void test() { assertThat(javaProvenanceMarkers).hasSize(3); Marker javaVersionMarker = extractMarker(javaProvenanceMarkers, JavaVersion.class); - ResourceVerifierTestHelper.javaVersionMarker(11, "11", "11").assertMarker(maven, javaVersionMarker); + + String property = System.getProperty("java.version"); + int javaVersion = Integer.valueOf(property.contains(".") ? property.substring(0, property.indexOf(".")) : property); + ResourceVerifierTestHelper.javaVersionMarker(javaVersion, "17", "11").assertMarker(maven, javaVersionMarker); Marker buildToolMarker = extractMarker(javaProvenanceMarkers, BuildTool.class); ResourceVerifierTestHelper.buildToolMarker("Maven", "3.6").assertMarker(maven, buildToolMarker); diff --git a/components/sbm-core/src/test/java/org/springframework/sbm/project/parser/ProjectContextInitializerTest.java b/components/sbm-core/src/test/java/org/springframework/sbm/project/parser/ProjectContextInitializerTest.java index db2fc1a02..1a2b59680 100644 --- a/components/sbm-core/src/test/java/org/springframework/sbm/project/parser/ProjectContextInitializerTest.java +++ b/components/sbm-core/src/test/java/org/springframework/sbm/project/parser/ProjectContextInitializerTest.java @@ -15,7 +15,6 @@ */ package org.springframework.sbm.project.parser; -import org.jboss.shrinkwrap.resolver.api.maven.Maven; import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; diff --git a/components/sbm-core/testcode/path-scanner/pom.xml b/components/sbm-core/testcode/path-scanner/pom.xml index c123bbb78..a6aa74b15 100644 --- a/components/sbm-core/testcode/path-scanner/pom.xml +++ b/components/sbm-core/testcode/path-scanner/pom.xml @@ -25,7 +25,7 @@ pom - 11 + 17 11 diff --git a/components/sbm-openrewrite/pom.xml b/components/sbm-openrewrite/pom.xml index 1f302eef9..d52916dfd 100644 --- a/components/sbm-openrewrite/pom.xml +++ b/components/sbm-openrewrite/pom.xml @@ -100,12 +100,6 @@ spring-boot-starter-test test - - com.tngtech.archunit - archunit - 0.21.0 - test - diff --git a/components/sbm-openrewrite/src/test/java/org/springframework/sbm/java/OpenRewriteTestSupport.java b/components/sbm-openrewrite/src/test/java/org/springframework/sbm/java/OpenRewriteTestSupport.java index df366676b..e9ee44689 100644 --- a/components/sbm-openrewrite/src/test/java/org/springframework/sbm/java/OpenRewriteTestSupport.java +++ b/components/sbm-openrewrite/src/test/java/org/springframework/sbm/java/OpenRewriteTestSupport.java @@ -15,10 +15,10 @@ */ package org.springframework.sbm.java; +import org.jboss.shrinkwrap.resolver.api.maven.Maven; import org.springframework.sbm.java.util.JavaSourceUtil; import org.springframework.sbm.testhelper.common.utils.TestDiff; import org.assertj.core.api.Assertions; -import org.jboss.shrinkwrap.resolver.api.maven.Maven; import org.openrewrite.ExecutionContext; import org.openrewrite.Recipe; import org.openrewrite.Result; diff --git a/components/sbm-openrewrite/src/test/java/org/springframework/sbm/openrewrite/java/RetrieveAnnotationTypeTest.java b/components/sbm-openrewrite/src/test/java/org/springframework/sbm/openrewrite/java/RetrieveAnnotationTypeTest.java index 59d11e5d8..59658c68a 100644 --- a/components/sbm-openrewrite/src/test/java/org/springframework/sbm/openrewrite/java/RetrieveAnnotationTypeTest.java +++ b/components/sbm-openrewrite/src/test/java/org/springframework/sbm/openrewrite/java/RetrieveAnnotationTypeTest.java @@ -15,11 +15,11 @@ */ package org.springframework.sbm.openrewrite.java; -import org.jboss.shrinkwrap.resolver.api.maven.Maven; import org.junit.jupiter.api.Test; import org.openrewrite.java.JavaParser; import org.openrewrite.java.tree.J; import org.openrewrite.java.tree.JavaType; +import org.springframework.sbm.java.OpenRewriteTestSupport; import java.io.File; import java.nio.file.Path; @@ -42,7 +42,7 @@ void retrieveAnnotation() { // List paths = JavaParser.dependenciesFromClasspath("ejb-api"); // List paths = JavaParser.dependenciesFromClasspath("javax/ejb/javax.ejb-api/3.2/javax.ejb-api-3.2.jar"); - List classpathFiles = getClasspathFiles("javax.ejb:javax.ejb-api:3.2"); + List classpathFiles = OpenRewriteTestSupport.getClasspathFiles("javax.ejb:javax.ejb-api:3.2"); JavaParser javaParser = JavaParser .fromJavaVersion() @@ -54,11 +54,4 @@ void retrieveAnnotation() { assertThat(type.getFullyQualifiedName()).isEqualTo("javax.ejb.Stateless"); } - public static List getClasspathFiles(String... classpath) { - if (classpath.length == 0) return List.of(); - File[] as = Maven.resolver().resolve(classpath).withTransitivity().as(File.class); - return Arrays.stream(as) - .map(File::toPath) - .collect(Collectors.toList()); - } } diff --git a/components/sbm-openrewrite/src/test/java/org/springframework/sbm/openrewrite/maven/BumpParentVersionTest.java b/components/sbm-openrewrite/src/test/java/org/springframework/sbm/openrewrite/maven/BumpParentVersionTest.java index 7a51bebab..e597e58f0 100644 --- a/components/sbm-openrewrite/src/test/java/org/springframework/sbm/openrewrite/maven/BumpParentVersionTest.java +++ b/components/sbm-openrewrite/src/test/java/org/springframework/sbm/openrewrite/maven/BumpParentVersionTest.java @@ -15,7 +15,6 @@ */ package org.springframework.sbm.openrewrite.maven; -import org.jboss.shrinkwrap.resolver.impl.maven.format.MavenCoordinateProcessor; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.openrewrite.Result; diff --git a/components/sbm-openrewrite/src/test/java/org/springframework/sbm/support/openrewrite/ArchUnitTest.java b/components/sbm-openrewrite/src/test/java/org/springframework/sbm/support/openrewrite/ArchUnitTest.java deleted file mode 100644 index 25ef8fba7..000000000 --- a/components/sbm-openrewrite/src/test/java/org/springframework/sbm/support/openrewrite/ArchUnitTest.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2021 - 2022 the original author or authors. - * - * Licensed 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 - * - * https://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.springframework.sbm.support.openrewrite; - -import com.tngtech.archunit.core.domain.JavaClasses; -import com.tngtech.archunit.core.importer.ClassFileImporter; -import com.tngtech.archunit.lang.ArchRule; -import org.junit.jupiter.api.Test; - -import static com.tngtech.archunit.lang.syntax.ArchRuleDefinition.classes; - -public class ArchUnitTest { - - @Test - public void some_architecture_rule() { - JavaClasses importedClasses = new ClassFileImporter().importPackages("org.springframework.sbm", "org.openrewrite.ext"); - - ArchRule rule = classes().that() - .resideInAPackage("org.openrewrite.ext.maven") - .should() - .onlyDependOnClassesThat() - .resideOutsideOfPackage("com.vmware.*") - .because("These classes can be contributed to OpenRewrite without modification."); - - rule.check(importedClasses); - } -} diff --git a/components/sbm-openrewrite/src/test/java/org/springframework/sbm/support/openrewrite/recipes/ChangeTypeTest.java b/components/sbm-openrewrite/src/test/java/org/springframework/sbm/support/openrewrite/recipes/ChangeTypeTest.java index 1b514e65d..0bd4fe528 100644 --- a/components/sbm-openrewrite/src/test/java/org/springframework/sbm/support/openrewrite/recipes/ChangeTypeTest.java +++ b/components/sbm-openrewrite/src/test/java/org/springframework/sbm/support/openrewrite/recipes/ChangeTypeTest.java @@ -46,7 +46,7 @@ void testReplaceTypeWithInnerClass() { ChangeType changeType = new ChangeType("javax.ws.rs.core.Response$Status$Family", "org.springframework.http.HttpStatus$Series", false); - J.CompilationUnit compilationUnit = OpenRewriteTestSupport.createCompilationUnit(javaSource, "javax:javaee-api:8.0", "org.springframework:spring-web:5.3.7"); + J.CompilationUnit compilationUnit = OpenRewriteTestSupport.createCompilationUnit(javaSource, "javax:javaee-api:8.0", "org.springframework:spring-web:5.3.7", "com.google.code.findbugs:jsr305:3.0.2"); List results = changeType.run(List.of(compilationUnit)); assertThat(results.get(0).getAfter().printAll()).isEqualTo( diff --git a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/actions/Boot_24_25_UpgradeReportAction.java b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/actions/Boot_24_25_UpgradeReportAction.java index b9b5416d5..dddbc88d9 100644 --- a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/actions/Boot_24_25_UpgradeReportAction.java +++ b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/actions/Boot_24_25_UpgradeReportAction.java @@ -15,6 +15,8 @@ */ package org.springframework.sbm.boot.upgrade_24_25.actions; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; import org.springframework.sbm.engine.recipe.AbstractAction; import org.springframework.sbm.boot.UpgradeSectionBuilder; import org.springframework.sbm.boot.asciidoctor.Section; @@ -40,19 +42,16 @@ public class Boot_24_25_UpgradeReportAction extends AbstractAction { @Autowired + @JsonIgnore private Configuration configuration; + @Autowired + @JsonIgnore + private List upgradeSectionBuilders = new ArrayList<>(); + @Override public void apply(ProjectContext projectContext) { - List upgradeSectionBuilders = new ArrayList<>(); - - upgradeSectionBuilders.add(new Boot_24_25_UpdateDependencies()); - upgradeSectionBuilders.add(new Boot_24_25_SqlScriptDataSourceInitialization()); - upgradeSectionBuilders.add(new Boot_24_25_SchemaSqlAndDataSqlFiles()); - upgradeSectionBuilders.add(new Boot_24_25_SeparateCredentials()); - upgradeSectionBuilders.add(new Boot_24_25_SpringDataJpa()); - final List
sections = new ArrayList<>(); upgradeSectionBuilders.forEach(b -> { diff --git a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_SchemaSqlAndDataSqlFiles.java b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_SchemaSqlAndDataSqlFiles.java index db5a7332a..ae377d605 100644 --- a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_SchemaSqlAndDataSqlFiles.java +++ b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_SchemaSqlAndDataSqlFiles.java @@ -15,6 +15,7 @@ */ package org.springframework.sbm.boot.upgrade_24_25.report; +import org.springframework.core.annotation.Order; import org.springframework.sbm.boot.UpgradeSectionBuilder; import org.springframework.sbm.boot.asciidoctor.RelevantChangeSection; import org.springframework.sbm.boot.asciidoctor.Section; @@ -22,18 +23,20 @@ import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.project.resource.ProjectResource; import org.springframework.sbm.common.filter.PathPatternMatchingProjectResourceFinder; +import org.springframework.stereotype.Component; import java.nio.file.Path; import java.util.List; import java.util.stream.Collectors; +@Component +@Order(25_003) public class Boot_24_25_SchemaSqlAndDataSqlFiles implements UpgradeSectionBuilder { private List dbInitFiles; @Override public boolean isApplicable(ProjectContext projectContext) { - // TODO: relative path for PathMatcher better?! dbInitFiles = projectContext.search(new PathPatternMatchingProjectResourceFinder(List.of("/**/resources/**/schema.sql", "/**/resources/**/data.sql"))); return !dbInitFiles.isEmpty(); } diff --git a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_SeparateCredentials.java b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_SeparateCredentials.java index e2f2e6095..2bbb8a8ef 100644 --- a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_SeparateCredentials.java +++ b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_SeparateCredentials.java @@ -15,6 +15,7 @@ */ package org.springframework.sbm.boot.upgrade_24_25.report; +import org.springframework.core.annotation.Order; import org.springframework.sbm.boot.UpgradeSectionBuilder; import org.springframework.sbm.boot.asciidoctor.Paragraph; import org.springframework.sbm.boot.asciidoctor.RelevantChangeSection; @@ -22,7 +23,10 @@ import org.springframework.sbm.boot.asciidoctor.TodoList; import org.springframework.sbm.boot.upgrade_24_25.conditions.Boot_24_25_CreateDatasourceInitializerCondition; import org.springframework.sbm.engine.context.ProjectContext; +import org.springframework.stereotype.Component; +@Component +@Order(25_004) public class Boot_24_25_SeparateCredentials implements UpgradeSectionBuilder { @Override diff --git a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_SpringDataJpa.java b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_SpringDataJpa.java index ff56ea1e7..d5af6b5c8 100644 --- a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_SpringDataJpa.java +++ b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_SpringDataJpa.java @@ -15,6 +15,7 @@ */ package org.springframework.sbm.boot.upgrade_24_25.report; +import org.springframework.core.annotation.Order; import org.springframework.sbm.boot.UpgradeSectionBuilder; import org.springframework.sbm.boot.asciidoctor.RelevantChangeSection; import org.springframework.sbm.boot.asciidoctor.Section; @@ -24,10 +25,13 @@ import org.springframework.sbm.boot.upgrade_24_25.filter.SpringDataJpaAnalyzer; import org.springframework.sbm.java.api.MethodCall; import org.springframework.sbm.engine.context.ProjectContext; +import org.springframework.stereotype.Component; import java.nio.file.Path; import java.util.List; +@Component +@Order(25_005) public class Boot_24_25_SpringDataJpa implements UpgradeSectionBuilder { diff --git a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_SqlScriptDataSourceInitialization.java b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_SqlScriptDataSourceInitialization.java index 578a94a1b..e210880c9 100644 --- a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_SqlScriptDataSourceInitialization.java +++ b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_SqlScriptDataSourceInitialization.java @@ -15,6 +15,7 @@ */ package org.springframework.sbm.boot.upgrade_24_25.report; +import org.springframework.core.annotation.Order; import org.springframework.sbm.boot.UpgradeSectionBuilder; import org.springframework.sbm.boot.asciidoctor.RelevantChangeSection; import org.springframework.sbm.boot.asciidoctor.Section; @@ -25,10 +26,13 @@ import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.boot.properties.api.SpringBootApplicationProperties; import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFilter; +import org.springframework.stereotype.Component; import java.util.Comparator; import java.util.List; +@Component +@Order(25_002) public class Boot_24_25_SqlScriptDataSourceInitialization implements UpgradeSectionBuilder { diff --git a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_UpdateDependencies.java b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_UpdateDependencies.java index 3c3d174e5..d6866d7bd 100644 --- a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_UpdateDependencies.java +++ b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_UpdateDependencies.java @@ -15,6 +15,7 @@ */ package org.springframework.sbm.boot.upgrade_24_25.report; +import org.springframework.core.annotation.Order; import org.springframework.sbm.boot.UpgradeSectionBuilder; import org.springframework.sbm.boot.asciidoctor.RelevantChangeSection; import org.springframework.sbm.boot.asciidoctor.Section; @@ -22,9 +23,12 @@ import org.springframework.sbm.boot.upgrade_24_25.conditions.HasSpringBootParentOfVersion; import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.build.impl.OpenRewriteMavenBuildFile; +import org.springframework.stereotype.Component; import java.nio.file.Path; +@Component +@Order(25_001) public class Boot_24_25_UpdateDependencies implements UpgradeSectionBuilder { @Override public boolean isApplicable(ProjectContext projectContext) { diff --git a/components/sbm-recipes-boot-upgrade/src/test/resources/expected-report.html b/components/sbm-recipes-boot-upgrade/src/test/resources/expected-report.html index 22b63417e..d019371ed 100644 --- a/components/sbm-recipes-boot-upgrade/src/test/resources/expected-report.html +++ b/components/sbm-recipes-boot-upgrade/src/test/resources/expected-report.html @@ -481,7 +481,7 @@

1. Introduction

Revision

-

a7b54e8c94d20fde93f458f4fcdd78d702d45f79

+

7e236bf958da0972f96a9c07e52a889ef7d99d9b

Project name

diff --git a/components/test-helper/pom.xml b/components/test-helper/pom.xml index f418c5ab7..6f6ea3de1 100644 --- a/components/test-helper/pom.xml +++ b/components/test-helper/pom.xml @@ -20,17 +20,12 @@ spring-boot-migrator org.springframework.sbm 0.11.2-SNAPSHOT - ../.. + ../../pom.xml 4.0.0 test-helper - - 11 - 11 - - diff --git a/pom.xml b/pom.xml index 7ca9faf75..1e938531b 100644 --- a/pom.xml +++ b/pom.xml @@ -26,21 +26,20 @@ spring-boot-migrator 2.5.0 - 11 - 11 + 17 + 17 + 17 + 2.1.0-RC1 7.26.0 4.23.0 - 2.5.12 + 2.7.1 0.9.0 9baedef17589ff70f7a585c809e0b1beb27eff62 3.2.0 - 2.0.1.RELEASE 3.1.4 - 1.18.20 + 1.18.24 UTF-8 UTF-8 - 2.12.6 - 2.12.6.1 src/generated/java @@ -81,6 +80,11 @@ jitpack.io https://jitpack.io + + repository.spring.milestone + Spring Milestone Repository + https://repo.spring.io/milestone + @@ -139,10 +143,11 @@ org.springframework.shell - spring-shell-starter - ${spring-shell-starter.version} - - + spring-shell-dependencies + ${spring-shell.version} + pom + import + me.tongfei progressbar ${progressbar.version} @@ -174,6 +179,11 @@ rewrite-java-11 ${openrewrite.version} + + org.openrewrite + rewrite-java-17 + ${openrewrite.version} + org.openrewrite rewrite-maven @@ -262,6 +272,7 @@ 2.3.3 + @@ -370,8 +382,12 @@ + org.apache.maven.plugins maven-compiler-plugin + 3.8.1 + 17 + 17 true diff --git a/spring-boot-upgrade-30/pom.xml b/spring-boot-upgrade-30/pom.xml index b6529dee0..07f2a8df2 100644 --- a/spring-boot-upgrade-30/pom.xml +++ b/spring-boot-upgrade-30/pom.xml @@ -25,9 +25,9 @@ jar - 11 - 11 - 7.25.0 + 17 + 17 + 7.26.0