diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 2c3521197d..a4b76b9530 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 68e8816d71..2b189974c2 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=d725d707bfabd4dfdc958c624003b3c80accc03f7037b5122c4b1d0ef15cecab -distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip +distributionSha256Sum=5b9c5eb3f9fc2c94abaea57d90bd78747ca117ddbbf96c859d3741181a12bf2a +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/src/main/java/org/openrewrite/java/migrate/search/FindJavaVersion.java b/src/main/java/org/openrewrite/java/migrate/search/FindJavaVersion.java index a0b6e47e6b..6dfd29e9b2 100644 --- a/src/main/java/org/openrewrite/java/migrate/search/FindJavaVersion.java +++ b/src/main/java/org/openrewrite/java/migrate/search/FindJavaVersion.java @@ -26,7 +26,6 @@ import org.openrewrite.java.tree.J; import java.util.HashSet; -import java.util.Optional; import java.util.Set; @Value @@ -34,7 +33,8 @@ public class FindJavaVersion extends Recipe { transient JavaVersionTable table = new JavaVersionTable(this); - private static Set seen = new HashSet<>(); + transient Set seen = new HashSet<>(); + @Override public String getDisplayName() { return "Find Java versions in use"; @@ -50,15 +50,10 @@ public TreeVisitor getVisitor() { return new JavaVisitor() { @Override public J visitCompilationUnit(J.CompilationUnit cu, ExecutionContext ctx) { - Optional maybeJv = cu.getMarkers().findFirst(JavaVersion.class); - if(!maybeJv.isPresent()) { - return cu; - } - JavaVersion jv = maybeJv.get(); - if(!seen.add(jv)) { - return cu; - } - table.insertRow(ctx, new JavaVersionTable.Row(jv.getSourceCompatibility(), jv.getTargetCompatibility())); + cu.getMarkers().findFirst(JavaVersion.class) + .filter(seen::add) + .map(jv -> new JavaVersionTable.Row(jv.getSourceCompatibility(), jv.getTargetCompatibility())) + .ifPresent(row -> table.insertRow(ctx, row)); return cu; } }; diff --git a/src/main/resources/META-INF/rewrite/java-version-17.yml b/src/main/resources/META-INF/rewrite/java-version-17.yml index 2cb31619f8..a0566af354 100644 --- a/src/main/resources/META-INF/rewrite/java-version-17.yml +++ b/src/main/resources/META-INF/rewrite/java-version-17.yml @@ -33,7 +33,8 @@ recipeList: - org.openrewrite.java.migrate.RemovedRuntimeTraceMethods - org.openrewrite.java.migrate.RemovedToolProviderConstructor - org.openrewrite.java.migrate.RemovedModifierAndConstantBootstrapsConstructors - - org.openrewrite.java.migrate.lang.UseTextBlocks + - org.openrewrite.java.migrate.lang.UseTextBlocks: + convertStringsWithoutNewlines: false - org.openrewrite.java.migrate.DeprecatedJavaxSecurityCert - org.openrewrite.java.migrate.DeprecatedLogRecordThreadID - org.openrewrite.java.migrate.RemovedLegacySunJSSEProviderName diff --git a/src/test/java/org/openrewrite/java/migrate/search/FindJavaVersionTest.java b/src/test/java/org/openrewrite/java/migrate/search/FindJavaVersionTest.java index 1fd86e2f08..e81250c83f 100644 --- a/src/test/java/org/openrewrite/java/migrate/search/FindJavaVersionTest.java +++ b/src/test/java/org/openrewrite/java/migrate/search/FindJavaVersionTest.java @@ -16,6 +16,7 @@ package org.openrewrite.java.migrate.search; import org.junit.jupiter.api.Test; +import org.openrewrite.DocumentExample; import org.openrewrite.java.marker.JavaVersion; import org.openrewrite.java.migrate.table.JavaVersionTable; import org.openrewrite.test.RecipeSpec; @@ -33,7 +34,8 @@ public void defaults(RecipeSpec spec) { } @Test - void test() { + @DocumentExample + void twoClassesWithSameMarkerLeadToOneRow() { JavaVersion jv = new JavaVersion(randomId(), "Sam", "Shelter", "17", "8"); rewriteRun( spec -> spec.dataTable(JavaVersionTable.Row.class, rows -> {