diff --git a/pom.xml b/pom.xml index f3af8db..6a3b8aa 100644 --- a/pom.xml +++ b/pom.xml @@ -30,10 +30,10 @@ 3.1.3 - 8.5.1 - 1.8.2 - 1.8.9 - 5.3.2 + 8.12.0 + 1.8.4 + 1.8.11 + 5.17.1 2.3.1 diff --git a/spring-rewrite-commons-launcher/src/main/java/org/springframework/rewrite/parsers/RewriteParserConfiguration.java b/spring-rewrite-commons-launcher/src/main/java/org/springframework/rewrite/parsers/RewriteParserConfiguration.java index 90cbc46..88f388f 100644 --- a/spring-rewrite-commons-launcher/src/main/java/org/springframework/rewrite/parsers/RewriteParserConfiguration.java +++ b/spring-rewrite-commons-launcher/src/main/java/org/springframework/rewrite/parsers/RewriteParserConfiguration.java @@ -35,7 +35,6 @@ import org.springframework.core.io.ResourceLoader; import org.springframework.rewrite.boot.autoconfigure.ScopeConfiguration; import org.springframework.rewrite.parsers.events.RewriteParsingEventListenerAdapter; import org.springframework.rewrite.parsers.maven.*; -import org.springframework.rewrite.project.resource.SbmApplicationProperties; import org.springframework.rewrite.scopes.annotations.ScanScope; import java.io.PrintWriter; @@ -49,7 +48,7 @@ import java.util.function.Consumer; * @author Fabian Krüger */ @AutoConfiguration(after = { ScopeConfiguration.class }) -@EnableConfigurationProperties({ SpringRewriteProperties.class, SbmApplicationProperties.class }) +@EnableConfigurationProperties({ SpringRewriteProperties.class }) @Import({ org.springframework.rewrite.scopes.ScanScope.class, ScopeConfiguration.class, RewriteParserMavenConfiguration.class }) public class RewriteParserConfiguration { diff --git a/spring-rewrite-commons-launcher/src/main/java/org/springframework/rewrite/parsers/SpringRewriteProperties.java b/spring-rewrite-commons-launcher/src/main/java/org/springframework/rewrite/parsers/SpringRewriteProperties.java index 6f4bb4d..57ef90b 100644 --- a/spring-rewrite-commons-launcher/src/main/java/org/springframework/rewrite/parsers/SpringRewriteProperties.java +++ b/spring-rewrite-commons-launcher/src/main/java/org/springframework/rewrite/parsers/SpringRewriteProperties.java @@ -87,6 +87,11 @@ public class SpringRewriteProperties { */ private boolean failOnInvalidActiveRecipes = true; + /** + * Whether resources outside 'src/main/resoources' should be parsed. + */ + private boolean parseAdditionalResources = true; + public boolean isSkipMavenParsing() { return skipMavenParsing; } @@ -159,4 +164,12 @@ public class SpringRewriteProperties { this.failOnInvalidActiveRecipes = failOnInvalidActiveRecipes; } + public boolean isParseAdditionalResources() { + return parseAdditionalResources; + } + + public void setParseAdditionalResources(boolean parseAdditionalResources) { + this.parseAdditionalResources = parseAdditionalResources; + } + } diff --git a/spring-rewrite-commons-launcher/src/main/java/org/springframework/rewrite/project/resource/SbmApplicationProperties.java b/spring-rewrite-commons-launcher/src/main/java/org/springframework/rewrite/project/resource/SbmApplicationProperties.java deleted file mode 100644 index 7ab2672..0000000 --- a/spring-rewrite-commons-launcher/src/main/java/org/springframework/rewrite/project/resource/SbmApplicationProperties.java +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright 2021 - 2023 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.rewrite.project.resource; - -import org.springframework.boot.context.properties.ConfigurationProperties; - -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; - -@ConfigurationProperties(prefix = "sbm") -public class SbmApplicationProperties { - - private boolean gitSupportEnabled; - - private boolean muleTriggerMeshTransformEnabled; - - private String defaultBasePackage; - - private boolean writeInMavenLocal; - - private boolean javaParserLoggingCompilationWarningsAndErrors; - - private List ignoredPathsPatterns = new ArrayList<>(); - - public void setIgnoredPathsPatterns(List patterns) { - List absolutePatterns = patterns.stream() - .filter(pattern -> pattern.startsWith("/")) - .collect(Collectors.toList()); - - if (!absolutePatterns.isEmpty()) { - throw new IllegalArgumentException( - "Found absolute ignore paths patterns defined in sbm.ignoredPathsPatterns. Patterns must be relative and not start with '/'. Invalid patterns found: ['" - + String.join("', '", absolutePatterns) + "']."); - } - - this.ignoredPathsPatterns = patterns; - } - - public boolean isGitSupportEnabled() { - return gitSupportEnabled; - } - - public void setGitSupportEnabled(boolean gitSupportEnabled) { - this.gitSupportEnabled = gitSupportEnabled; - } - - public boolean isMuleTriggerMeshTransformEnabled() { - return muleTriggerMeshTransformEnabled; - } - - public void setMuleTriggerMeshTransformEnabled(boolean muleTriggerMeshTransformEnabled) { - this.muleTriggerMeshTransformEnabled = muleTriggerMeshTransformEnabled; - } - - public String getDefaultBasePackage() { - return defaultBasePackage; - } - - public void setDefaultBasePackage(String defaultBasePackage) { - this.defaultBasePackage = defaultBasePackage; - } - - public boolean isWriteInMavenLocal() { - return writeInMavenLocal; - } - - public void setWriteInMavenLocal(boolean writeInMavenLocal) { - this.writeInMavenLocal = writeInMavenLocal; - } - - public boolean isJavaParserLoggingCompilationWarningsAndErrors() { - return javaParserLoggingCompilationWarningsAndErrors; - } - - public void setJavaParserLoggingCompilationWarningsAndErrors( - boolean javaParserLoggingCompilationWarningsAndErrors) { - this.javaParserLoggingCompilationWarningsAndErrors = javaParserLoggingCompilationWarningsAndErrors; - } - - public List getIgnoredPathsPatterns() { - return ignoredPathsPatterns; - } - -} diff --git a/spring-rewrite-commons-launcher/src/test/java/org/openrewrite/maven/MavenParserTest.java b/spring-rewrite-commons-launcher/src/test/java/org/openrewrite/maven/MavenParserTest.java index e064774..eb2aea1 100644 --- a/spring-rewrite-commons-launcher/src/test/java/org/openrewrite/maven/MavenParserTest.java +++ b/spring-rewrite-commons-launcher/src/test/java/org/openrewrite/maven/MavenParserTest.java @@ -26,8 +26,8 @@ import java.util.List; import java.util.regex.Pattern; import java.util.stream.Stream; -import static com.ibm.icu.impl.Assert.fail; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Fail.fail; /** * @author Fabian Krüger diff --git a/spring-rewrite-commons-launcher/src/test/java/org/springframework/rewrite/parsers/CompareParserRecipeRunTest.java b/spring-rewrite-commons-launcher/src/test/java/org/springframework/rewrite/parsers/CompareParserRecipeRunTest.java index 1c073ee..bbe4e0d 100644 --- a/spring-rewrite-commons-launcher/src/test/java/org/springframework/rewrite/parsers/CompareParserRecipeRunTest.java +++ b/spring-rewrite-commons-launcher/src/test/java/org/springframework/rewrite/parsers/CompareParserRecipeRunTest.java @@ -101,14 +101,14 @@ public class CompareParserRecipeRunTest { // Run the Comparing Parser reusing OpenRewrite code RecipeRun compRecipeRun = recipe.run(new InMemoryLargeSourceSet(compParsingResult.sourceFiles()), executionContext); - assertThat(counter.get()).isEqualTo(2); + assertThat(counter.get()).isEqualTo(1); assertThat(compRecipeRun.getChangeset().getAllResults()).hasSize(1); // Run Parser independent from Maven counter.setRelease(0); RecipeRun sutRecipeRun = recipe.run(new InMemoryLargeSourceSet(sutParsingResult.sourceFiles()), executionContext); - assertThat(counter.get()).isEqualTo(2); // differs, should be 2 + assertThat(counter.get()).isEqualTo(1); assertThat(sutRecipeRun.getChangeset().getAllResults()).hasSize(1); // is 0 } diff --git a/spring-rewrite-commons-launcher/src/test/java/org/springframework/rewrite/parsers/maven/MavenMojoProjectParserFactory.java b/spring-rewrite-commons-launcher/src/test/java/org/springframework/rewrite/parsers/maven/MavenMojoProjectParserFactory.java index 16d1ccf..07b72ab 100644 --- a/spring-rewrite-commons-launcher/src/test/java/org/springframework/rewrite/parsers/maven/MavenMojoProjectParserFactory.java +++ b/spring-rewrite-commons-launcher/src/test/java/org/springframework/rewrite/parsers/maven/MavenMojoProjectParserFactory.java @@ -47,26 +47,23 @@ public class MavenMojoProjectParserFactory { public MavenMojoProjectParser create(Path baseDir, List mavenProjects, PlexusContainer plexusContainer, MavenSession session) { - return buildMavenMojoProjectParser(baseDir, mavenProjects, springRewriteProperties.isPomCacheEnabled(), - springRewriteProperties.getPomCacheDirectory(), springRewriteProperties.isSkipMavenParsing(), - springRewriteProperties.getIgnoredPathPatterns(), springRewriteProperties.getPlainTextMasks(), - springRewriteProperties.getSizeThresholdMb(), springRewriteProperties.isRunPerSubmodule(), - plexusContainer, session); + return buildMavenMojoProjectParser(baseDir, plexusContainer, session); } @NotNull - private MavenMojoProjectParser buildMavenMojoProjectParser(Path baseDir, List mavenProjects, - boolean pomCacheEnabled, String pomCacheDirectory, boolean skipMavenParsing, Collection exclusions, - Collection plainTextMasks, int sizeThresholdMb, boolean runPerSubmodule, - PlexusContainer plexusContainer, MavenSession session) { + private MavenMojoProjectParser buildMavenMojoProjectParser(Path baseDir, PlexusContainer plexusContainer, + MavenSession session) { try { Log logger = new Slf4jToMavenLoggerAdapter(LoggerFactory.getLogger(MavenMojoProjectParser.class)); RuntimeInformation runtimeInformation = plexusContainer.lookup(RuntimeInformation.class); SettingsDecrypter decrypter = plexusContainer.lookup(SettingsDecrypter.class); - MavenMojoProjectParser sut = new MavenMojoProjectParser(logger, baseDir, pomCacheEnabled, pomCacheDirectory, - runtimeInformation, skipMavenParsing, exclusions, plainTextMasks, sizeThresholdMb, session, - decrypter, runPerSubmodule); + MavenMojoProjectParser sut = new MavenMojoProjectParser(logger, baseDir, + springRewriteProperties.isPomCacheEnabled(), springRewriteProperties.getPomCacheDirectory(), + runtimeInformation, springRewriteProperties.isSkipMavenParsing(), + springRewriteProperties.getIgnoredPathPatterns(), springRewriteProperties.getPlainTextMasks(), + springRewriteProperties.getSizeThresholdMb(), session, decrypter, + springRewriteProperties.isRunPerSubmodule(), springRewriteProperties.isParseAdditionalResources()); return sut; } diff --git a/spring-rewrite-commons-launcher/src/test/java/org/springframework/rewrite/parsers/maven/ProvenanceMarkerFactoryTest.java b/spring-rewrite-commons-launcher/src/test/java/org/springframework/rewrite/parsers/maven/ProvenanceMarkerFactoryTest.java index 2be8ca9..4f8ef26 100644 --- a/spring-rewrite-commons-launcher/src/test/java/org/springframework/rewrite/parsers/maven/ProvenanceMarkerFactoryTest.java +++ b/spring-rewrite-commons-launcher/src/test/java/org/springframework/rewrite/parsers/maven/ProvenanceMarkerFactoryTest.java @@ -129,7 +129,7 @@ class ProvenanceMarkerFactoryTest { GitProvenance expectedGitProvenance = GitProvenance.fromProjectDirectory(baseDir, BuildEnvironment.build(System::getenv)); GitProvenance gitProvenance = findMarker(markers, GitProvenance.class); - assertThat(countGetters(gitProvenance)).isEqualTo(9); + assertThat(countGetters(gitProvenance)).isEqualTo(10); assertThat(gitProvenance.getId()).isInstanceOf(UUID.class); assertThat(gitProvenance.getBranch()).isEqualTo(branch); assertThat(gitProvenance.getEol()).isEqualTo(GitProvenance.EOL.Native); @@ -139,6 +139,8 @@ class ProvenanceMarkerFactoryTest { assertThat(gitProvenance.getChange()).isEqualTo(gitHash); assertThat(gitProvenance.getOrganizationName()).isEqualTo("spring-projects"); assertThat(gitProvenance.getOrganizationName("https://github.com")).isEqualTo("spring-projects"); + assertThat(gitProvenance.getCommitters()).isNotNull(); // notEmpty failed + // in GH OperatingSystemProvenance operatingSystemProvenance = findMarker(markers, OperatingSystemProvenance.class);