From 678b64ae0212c187701b04b561fe8681fc073e61 Mon Sep 17 00:00:00 2001 From: Tim te Beek Date: Mon, 23 Mar 2026 11:05:28 +0000 Subject: [PATCH 1/2] Recipe testing best practices Use this link to re-run the recipe: https://app.moderne.io/builder/9uwIjLvVE?organizationId=QUxML01vZGVybmUvTW9kZXJuZSArIE9wZW5SZXdyaXRl Co-authored-by: Moderne --- .../org/openrewrite/AddToGitignoreTest.java | 10 +-- .../java/org/openrewrite/RecipeRunTest.java | 3 +- .../org/openrewrite/RecipeSchedulerTest.java | 18 ++-- .../test/java/org/openrewrite/TreeTest.java | 4 +- .../config/DeclarativeRecipeTest.java | 52 +++++------ .../org/openrewrite/rpc/RewriteRpcTest.java | 20 ++--- .../search/FindCommittersTest.java | 6 +- .../openrewrite/csharp/CSharpRecipeTest.java | 22 +++-- .../csharp/rpc/CSharpParseProjectTest.java | 2 +- .../openrewrite/csharp/rpc/CSharpRpcTest.java | 14 ++- .../openrewrite/gradle/AddDependencyTest.java | 22 ++--- .../gradle/ChangeDependencyTest.java | 8 +- .../openrewrite/gradle/GradleParserTest.java | 26 +++--- .../gradle/UpdateGradleWrapperTest.java | 2 +- .../gradle/UpgradeDependencyVersionTest.java | 2 +- ...pgradeTransitiveDependencyVersionTest.java | 8 +- .../plugins/RemoveSettingsPluginTest.java | 9 +- .../openrewrite/groovy/GroovyParserTest.java | 2 +- .../groovy/tree/CompilationUnitTest.java | 2 +- .../org/openrewrite/java/JavaTypeTest.java | 2 +- .../openrewrite/java/MethodMatcherTest.java | 52 +++++------ .../openrewrite/java/RenameVariableTest.java | 3 +- .../java/search/HasSourceSetTest.java | 4 +- .../java/AnnotationMatcherTest.java | 4 +- .../java/format/AutoFormatTest.java | 9 +- .../java/internal/parser/TypeTableTest.java | 24 ++--- .../internal/rpc/JavaSendReceiveTest.java | 12 +-- .../java/rpc/JavaRewriteRpcTest.java | 12 +-- .../java/style/ImportLayoutStyleTest.java | 26 +++--- .../rpc/JavaScriptRewriteRpcTest.java | 2 +- .../openrewrite/json/CreateJsonFileTest.java | 4 +- .../internal/rpc/JsonSendReceiveTest.java | 12 +-- .../org/openrewrite/kotlin/AddImportTest.java | 2 +- .../kotlin/AnnotationMatcherTest.java | 20 ++--- .../kotlin/KotlinTemplateTest.java | 2 +- .../kotlin/KotlinTypeMappingTest.java | 90 +++++++++---------- .../openrewrite/kotlin/tree/BinaryTest.java | 2 +- .../org/openrewrite/kotlin/tree/KTSTest.java | 2 +- .../kotlin/tree/MemberReferenceTest.java | 2 +- .../openrewrite/maven/AddDependencyTest.java | 6 +- .../maven/AddManagedDependencyTest.java | 6 +- .../openrewrite/maven/AddParentPomTest.java | 2 +- .../org/openrewrite/maven/AssertionsTest.java | 2 +- ...ngeDependencyGroupIdAndArtifactIdTest.java | 4 +- ...gedDependencyGroupIdAndArtifactIdTest.java | 2 +- .../maven/ChangeParentPomTest.java | 14 +-- .../openrewrite/maven/MavenParserTest.java | 4 +- .../maven/UpgradeDependencyVersionTest.java | 2 +- .../NoSystemScopeDependenciesTest.java | 15 ++-- .../internal/MavenPomDownloaderTest.java | 56 ++++++------ .../maven/tree/ResolvedPomTest.java | 2 +- .../openrewrite/python/AddDependencyTest.java | 4 +- .../test/internal/RewriteTestTest.java | 10 +-- .../xml/internal/rpc/XmlSendReceiveTest.java | 12 +-- .../openrewrite/yaml/CreateYamlFileTest.java | 4 +- .../org/openrewrite/yaml/MergeYamlTest.java | 4 +- .../openrewrite/yaml/tree/DirectiveTest.java | 10 +-- 57 files changed, 348 insertions(+), 329 deletions(-) diff --git a/rewrite-core/src/test/java/org/openrewrite/AddToGitignoreTest.java b/rewrite-core/src/test/java/org/openrewrite/AddToGitignoreTest.java index 054131cf50a..6f4b323350e 100644 --- a/rewrite-core/src/test/java/org/openrewrite/AddToGitignoreTest.java +++ b/rewrite-core/src/test/java/org/openrewrite/AddToGitignoreTest.java @@ -315,7 +315,7 @@ void doNotChangeWhenEntriesExistInDifferentOrder() { @Test void rootOnlyTargetingByDefault() { - AddToGitignore recipe = new AddToGitignore("*.log", null); + var recipe = new AddToGitignore("*.log", null); rewriteRun( spec -> spec.recipe(recipe), text( @@ -340,7 +340,7 @@ void rootOnlyTargetingByDefault() { @Test void targetSpecificSubdirectory() { - AddToGitignore recipe = new AddToGitignore("*.log", "src/.gitignore"); + var recipe = new AddToGitignore("*.log", "src/.gitignore"); rewriteRun( spec -> spec.recipe(recipe), text( @@ -365,7 +365,7 @@ void targetSpecificSubdirectory() { @Test void targetAllGitignoreFiles() { - AddToGitignore recipe = new AddToGitignore("*.log", "**/.gitignore"); + var recipe = new AddToGitignore("*.log", "**/.gitignore"); rewriteRun( spec -> spec.recipe(recipe), text( @@ -406,7 +406,7 @@ void targetAllGitignoreFiles() { @Test void createGitignoreInSpecificLocation() { - AddToGitignore recipe = new AddToGitignore("*.log", "src/.gitignore"); + var recipe = new AddToGitignore("*.log", "src/.gitignore"); rewriteRun( spec -> spec.recipe(recipe), text( @@ -421,7 +421,7 @@ void createGitignoreInSpecificLocation() { @Test void createRootGitignoreWhenPatternIsWildcard() { - AddToGitignore recipe = new AddToGitignore("*.log", "**/.gitignore"); + var recipe = new AddToGitignore("*.log", "**/.gitignore"); rewriteRun( spec -> spec.recipe(recipe), text( diff --git a/rewrite-core/src/test/java/org/openrewrite/RecipeRunTest.java b/rewrite-core/src/test/java/org/openrewrite/RecipeRunTest.java index f066d15d160..50188e5cbd0 100644 --- a/rewrite-core/src/test/java/org/openrewrite/RecipeRunTest.java +++ b/rewrite-core/src/test/java/org/openrewrite/RecipeRunTest.java @@ -25,7 +25,6 @@ import java.nio.file.Path; import java.util.List; -import java.util.stream.Collectors; import static org.assertj.core.api.Assertions.assertThat; import static org.openrewrite.test.SourceSpecs.text; @@ -81,7 +80,7 @@ void dataTableWithMultilineValue() { // Verify the row has multiline content List rows = store.getRows(parseFailuresDt.getName(), parseFailuresDt.getGroup()) - .collect(java.util.stream.Collectors.toList()); + .toList(); assertThat(rows).hasSize(1); }), text( diff --git a/rewrite-core/src/test/java/org/openrewrite/RecipeSchedulerTest.java b/rewrite-core/src/test/java/org/openrewrite/RecipeSchedulerTest.java index eef748b5524..ff13bafee82 100644 --- a/rewrite-core/src/test/java/org/openrewrite/RecipeSchedulerTest.java +++ b/rewrite-core/src/test/java/org/openrewrite/RecipeSchedulerTest.java @@ -111,9 +111,9 @@ void recipeRunExceptionDuringGenerate() { @Test void suppliedWorkingDirectoryRoot(@TempDir Path path) { - InMemoryExecutionContext ctx = new InMemoryExecutionContext(); + var ctx = new InMemoryExecutionContext(); WorkingDirectoryExecutionContextView.view(ctx).setRoot(path); - AtomicInteger cycle = new AtomicInteger(0); + var cycle = new AtomicInteger(0); rewriteRun( spec -> spec.executionContext(ctx).recipe(toRecipe(() -> new TreeVisitor<>() { @Override @@ -139,7 +139,7 @@ public Tree visit(@Nullable Tree tree, ExecutionContext ctx) { @Test void managedWorkingDirectoryWithRecipe(@TempDir Path path) { - InMemoryExecutionContext ctx = new InMemoryExecutionContext(); + var ctx = new InMemoryExecutionContext(); WorkingDirectoryExecutionContextView.view(ctx).setRoot(path); rewriteRun( spec -> spec.executionContext(ctx).recipe(new RecipeWritingToFile(0)), @@ -150,9 +150,9 @@ void managedWorkingDirectoryWithRecipe(@TempDir Path path) { @Test void managedWorkingDirectoryWithMultipleRecipes(@TempDir Path path) { - InMemoryExecutionContext ctx = new InMemoryExecutionContext(); + var ctx = new InMemoryExecutionContext(); WorkingDirectoryExecutionContextView.view(ctx).setRoot(path); - DeclarativeRecipe recipe = new DeclarativeRecipe( + var recipe = new DeclarativeRecipe( "root", "Root recipe", "Root recipe.", @@ -176,7 +176,7 @@ void managedWorkingDirectoryWithMultipleRecipes(@TempDir Path path) { void verifyCycleInvariantsDuringMultipleCycles() { List cyclesFromFactory = new java.util.ArrayList<>(); List cyclesFromContext = new java.util.ArrayList<>(); - AtomicInteger visitCount = new AtomicInteger(0); + var visitCount = new AtomicInteger(0); RecipeScheduler trackingScheduler = new RecipeScheduler() { @Override @@ -205,7 +205,7 @@ public PlainText visitText(PlainText text, ExecutionContext ctx) { } }).withCausesAnotherCycle(true); - InMemoryExecutionContext ctx = new InMemoryExecutionContext(); + var ctx = new InMemoryExecutionContext(); List sources = List.of(PlainText.builder().text("v").sourcePath(Path.of("test.txt")).build()); trackingScheduler.scheduleRun(multiCycleRecipe, new InMemoryLargeSourceSet(sources), ctx, 5, 1); @@ -252,7 +252,7 @@ public PlainText visitText(PlainText text, ExecutionContext ctx) { } }); - InMemoryExecutionContext ctx = new InMemoryExecutionContext(); + var ctx = new InMemoryExecutionContext(); List sources = List.of( PlainText.builder().text("a").sourcePath(Path.of("a.txt")).build(), PlainText.builder().text("b").sourcePath(Path.of("b.txt")).build() @@ -292,7 +292,7 @@ protected void recordSourceFileResultAndSearchResults( Recipe generatingRecipe = new GeneratingRecipe(); - InMemoryExecutionContext ctx = new InMemoryExecutionContext(); + var ctx = new InMemoryExecutionContext(); List sources = List.of(PlainText.builder().text("existing").sourcePath(Path.of("existing.txt")).build()); trackingScheduler.scheduleRun(generatingRecipe, new InMemoryLargeSourceSet(sources), ctx, 3, 1); diff --git a/rewrite-core/src/test/java/org/openrewrite/TreeTest.java b/rewrite-core/src/test/java/org/openrewrite/TreeTest.java index f83fa833655..2d7f7418038 100644 --- a/rewrite-core/src/test/java/org/openrewrite/TreeTest.java +++ b/rewrite-core/src/test/java/org/openrewrite/TreeTest.java @@ -63,7 +63,7 @@ public String afterSyntax(Marker marker, Cursor cursor, UnaryOperator co }) @ParameterizedTest void printBomHandling(boolean charsetBomMarked, String expected) { - PlainText sourceFile = new PlainText( + var sourceFile = new PlainText( Tree.randomId(), Paths.get("test.txt"), Markers.EMPTY, @@ -82,7 +82,7 @@ void printBomHandling(boolean charsetBomMarked, String expected) { @Test void printQuarkDoesNotThrowOnBomRestoration() { - Quark quark = new Quark( + var quark = new Quark( Tree.randomId(), Paths.get("unknown.file"), Markers.EMPTY, diff --git a/rewrite-core/src/test/java/org/openrewrite/config/DeclarativeRecipeTest.java b/rewrite-core/src/test/java/org/openrewrite/config/DeclarativeRecipeTest.java index 4da797e7b20..f312ba28435 100644 --- a/rewrite-core/src/test/java/org/openrewrite/config/DeclarativeRecipeTest.java +++ b/rewrite-core/src/test/java/org/openrewrite/config/DeclarativeRecipeTest.java @@ -60,7 +60,7 @@ void precondition() { rewriteRun( spec -> { spec.validateRecipeSerialization(false); - DeclarativeRecipe dr = new DeclarativeRecipe("test", "test", "test", emptySet(), + var dr = new DeclarativeRecipe("test", "test", "test", emptySet(), null, URI.create("null"), true, emptyList()); dr.addPrecondition( toRecipe(() -> new PlainTextVisitor<>() { @@ -89,7 +89,7 @@ public PlainText visitText(PlainText text, ExecutionContext ctx) { @Test void addingPreconditionsWithOptions() { - DeclarativeRecipe dr = new DeclarativeRecipe("test", "test", "test", emptySet(), + var dr = new DeclarativeRecipe("test", "test", "test", emptySet(), null, URI.create("dummy"), true, emptyList()); dr.addPrecondition( toRecipe(() -> new PlainTextVisitor<>() { @@ -119,7 +119,7 @@ public PlainText visitText(PlainText text, ExecutionContext ctx) { @Test void preconditionDescriptorsIncludedInDescriptor() { - DeclarativeRecipe dr = new DeclarativeRecipe("test", "test", "test", emptySet(), + var dr = new DeclarativeRecipe("test", "test", "test", emptySet(), null, URI.create("dummy"), true, emptyList()); dr.addPrecondition(new Find("precondition-marker", null, null, null, null, null, null, null)); dr.addUninitialized(new ChangeText("2")); @@ -138,7 +138,7 @@ void preconditionDescriptorsIncludedInDescriptor() { @Test void uninitializedFailsValidation() { - DeclarativeRecipe dr = new DeclarativeRecipe("test", "test", "test", emptySet(), + var dr = new DeclarativeRecipe("test", "test", "test", emptySet(), null, URI.create("dummy"), true, emptyList()); dr.addUninitializedPrecondition( toRecipe(() -> new PlainTextVisitor<>() { @@ -165,7 +165,7 @@ public PlainText visitText(PlainText text, ExecutionContext ctx) { @Test void uninitializedWithInitializedRecipesPassesValidation() { - DeclarativeRecipe dr = new DeclarativeRecipe("test", "test", "test", emptySet(), + var dr = new DeclarativeRecipe("test", "test", "test", emptySet(), null, URI.create("dummy"), true, emptyList()); dr.setPreconditions( List.of( @@ -364,7 +364,7 @@ void preconditionOnNestedDeclarative() { @Test void exposesUnderlyingDataTables() { - DeclarativeRecipe dr = new DeclarativeRecipe("org.openrewrite.DeclarativeDataTable", "declarative with data table", + var dr = new DeclarativeRecipe("org.openrewrite.DeclarativeDataTable", "declarative with data table", "test", emptySet(), null, URI.create("dummy"), true, emptyList()); dr.addUninitialized(new Find("sam", null, null, null, null, null, null, null)); dr.initialize(List.of()); @@ -373,7 +373,7 @@ void exposesUnderlyingDataTables() { @Test void getDataTableDescriptorsThreadSafe() throws Exception { - DeclarativeRecipe dr = new DeclarativeRecipe("org.openrewrite.ConcurrentTest", "concurrent test", + var dr = new DeclarativeRecipe("org.openrewrite.ConcurrentTest", "concurrent test", "test", emptySet(), null, URI.create("dummy"), true, emptyList()); dr.addUninitialized(new Find("sam", null, null, null, null, null, null, null)); dr.initialize(List.of()); @@ -381,9 +381,9 @@ void getDataTableDescriptorsThreadSafe() throws Exception { int threadCount = 10; int iterations = 100; ExecutorService executor = Executors.newFixedThreadPool(threadCount); - CountDownLatch startLatch = new CountDownLatch(1); - CountDownLatch doneLatch = new CountDownLatch(threadCount); - ConcurrentLinkedQueue errors = new ConcurrentLinkedQueue<>(); + var startLatch = new CountDownLatch(1); + var doneLatch = new CountDownLatch(threadCount); + var errors = new ConcurrentLinkedQueue(); for (int i = 0; i < threadCount; i++) { final int threadIdx = i; @@ -418,7 +418,7 @@ void getDataTableDescriptorsThreadSafe() throws Exception { @Test void concurrentInitializeDoesNotDuplicateRecipes() throws Exception { - DeclarativeRecipe dr = new DeclarativeRecipe("org.openrewrite.ConcurrentInitTest", "concurrent init test", + var dr = new DeclarativeRecipe("org.openrewrite.ConcurrentInitTest", "concurrent init test", "test", emptySet(), null, URI.create("dummy"), true, emptyList()); dr.addUninitialized(new Find("sam", null, null, null, null, null, null, null)); dr.addUninitialized(new ChangeText("hello")); @@ -428,9 +428,9 @@ void concurrentInitializeDoesNotDuplicateRecipes() throws Exception { int threadCount = 20; ExecutorService executor = Executors.newFixedThreadPool(threadCount); - CountDownLatch startLatch = new CountDownLatch(1); - CountDownLatch doneLatch = new CountDownLatch(threadCount); - ConcurrentLinkedQueue errors = new ConcurrentLinkedQueue<>(); + var startLatch = new CountDownLatch(1); + var doneLatch = new CountDownLatch(threadCount); + var errors = new ConcurrentLinkedQueue(); for (int i = 0; i < threadCount; i++) { executor.submit(() -> { @@ -469,7 +469,7 @@ void maxCycles() { @Test void maxCyclesNested() { - AtomicInteger cycleCount = new AtomicInteger(); + var cycleCount = new AtomicInteger(); Recipe root = new MaxCycles( 100, List.of(new MaxCycles( @@ -540,7 +540,7 @@ public Tree visit(@Nullable Tree tree, ExecutionContext ctx) { @Test void selfReferencingRecipeDetectedAsCycle() { // Test that a recipe referencing itself is detected as a cycle - DeclarativeRecipe selfReferencing = new DeclarativeRecipe( + var selfReferencing = new DeclarativeRecipe( "org.openrewrite.SelfReferencing", "Self Referencing Recipe", "A recipe that references itself", @@ -564,7 +564,7 @@ void selfReferencingRecipeDetectedAsCycle() { @Test void mutuallyRecursiveRecipesDetectedAsCycle() { // Test that mutually recursive recipes are detected as a cycle - DeclarativeRecipe recipeA = new DeclarativeRecipe( + var recipeA = new DeclarativeRecipe( "org.openrewrite.RecipeA", "Recipe A", "Recipe A that references Recipe B", @@ -575,7 +575,7 @@ void mutuallyRecursiveRecipesDetectedAsCycle() { emptyList() ); - DeclarativeRecipe recipeB = new DeclarativeRecipe( + var recipeB = new DeclarativeRecipe( "org.openrewrite.RecipeB", "Recipe B", "Recipe B that references Recipe A", @@ -785,7 +785,7 @@ void multipleNestedOrPreconditionsWithSameScanningRecipe() { @Test void deeperCyclicReferencesDetectedAsCycle() { // Test that deeper cyclic references (A -> B -> C -> A) are detected as a cycle - DeclarativeRecipe recipeA = new DeclarativeRecipe( + var recipeA = new DeclarativeRecipe( "org.openrewrite.RecipeA", "Recipe A", "Recipe A that references Recipe B", @@ -796,7 +796,7 @@ void deeperCyclicReferencesDetectedAsCycle() { emptyList() ); - DeclarativeRecipe recipeB = new DeclarativeRecipe( + var recipeB = new DeclarativeRecipe( "org.openrewrite.RecipeB", "Recipe B", "Recipe B that references Recipe C", @@ -807,7 +807,7 @@ void deeperCyclicReferencesDetectedAsCycle() { emptyList() ); - DeclarativeRecipe recipeC = new DeclarativeRecipe( + var recipeC = new DeclarativeRecipe( "org.openrewrite.RecipeC", "Recipe C", "Recipe C that references Recipe A", @@ -842,7 +842,7 @@ void deeperCyclicReferencesDetectedAsCycle() { // This can't be tested via rewriteRun() which uses a single RecipeRunCycle per cycle. @Test void scanningRecipeAccumulatorSurvivesAcrossRecipeRunCycles() { - DeclarativeRecipe recipe = new DeclarativeRecipe( + var recipe = new DeclarativeRecipe( "test.WithPrecondition", "With precondition", "Test with precondition.", emptySet(), null, URI.create("test"), true, emptyList() ); @@ -855,12 +855,12 @@ void scanningRecipeAccumulatorSurvivesAcrossRecipeRunCycles() { PlainText.builder().id(Tree.randomId()).sourcePath(Paths.get("file2.txt")).text("world").build() ); - Cursor rootCursor = new Cursor(null, Cursor.ROOT_VALUE); - WatchableExecutionContext ctx = new WatchableExecutionContext(new InMemoryExecutionContext()); + var rootCursor = new Cursor(null, Cursor.ROOT_VALUE); + var ctx = new WatchableExecutionContext(new InMemoryExecutionContext()); Recipe noop = Recipe.noop(); // Cycle 1: scan (simulates first yield batch on the platform) - RecipeRunCycle scanCycle = new RecipeRunCycle<>( + var scanCycle = new RecipeRunCycle( recipe, 1, rootCursor, ctx, new RecipeRunStats(noop), new SearchResults(noop), new SourcesFileResults(noop), new SourcesFileErrors(noop), @@ -870,7 +870,7 @@ void scanningRecipeAccumulatorSurvivesAcrossRecipeRunCycles() { scanCycle.scanSources(new InMemoryLargeSourceSet(sources)); // Cycle 2: edit (simulates new RecipeRunCycle after worker yield — new RecipeStack, fresh getRecipeList() calls) - RecipeRunCycle editCycle = new RecipeRunCycle<>( + var editCycle = new RecipeRunCycle( recipe, 1, rootCursor, ctx, new RecipeRunStats(noop), new SearchResults(noop), new SourcesFileResults(noop), new SourcesFileErrors(noop), diff --git a/rewrite-core/src/test/java/org/openrewrite/rpc/RewriteRpcTest.java b/rewrite-core/src/test/java/org/openrewrite/rpc/RewriteRpcTest.java index fce5ae65019..6809fd948c8 100644 --- a/rewrite-core/src/test/java/org/openrewrite/rpc/RewriteRpcTest.java +++ b/rewrite-core/src/test/java/org/openrewrite/rpc/RewriteRpcTest.java @@ -64,15 +64,15 @@ class RewriteRpcTest implements RewriteTest { @BeforeEach void before() throws IOException { - PipedOutputStream serverOut = new PipedOutputStream(); - PipedOutputStream clientOut = new PipedOutputStream(); - PipedInputStream serverIn = new PipedInputStream(clientOut); - PipedInputStream clientIn = new PipedInputStream(serverOut); + var serverOut = new PipedOutputStream(); + var clientOut = new PipedOutputStream(); + var serverIn = new PipedInputStream(clientOut); + var clientIn = new PipedInputStream(serverOut); marketplace = env.toMarketplace(runtimeClasspath()); - JsonMessageFormatter clientFormatter = new JsonMessageFormatter(new ParameterNamesModule()); - JsonMessageFormatter serverFormatter = new JsonMessageFormatter(new ParameterNamesModule()); + var clientFormatter = new JsonMessageFormatter(new ParameterNamesModule()); + var serverFormatter = new JsonMessageFormatter(new ParameterNamesModule()); client = new RewriteRpc(new JsonRpc(new HeaderDelimitedMessageHandler(clientFormatter, clientIn, clientOut)), marketplace) .batchSize(1); @@ -239,7 +239,7 @@ void prepareRecipe() { @Disabled("Disabled until https://github.com/openrewrite/rewrite/pull/5260 is complete") @Test void runRecipe() { - CountDownLatch latch = new CountDownLatch(1); + var latch = new CountDownLatch(1); rewriteRun( spec -> spec .recipe(client.prepareRecipe("org.openrewrite.text.Find", @@ -415,9 +415,9 @@ void singleRpcRecipeNoBatch() { @Test void getCursor() { - Cursor parent = new Cursor(null, Cursor.ROOT_VALUE); - Cursor c1 = new Cursor(parent, 0); - Cursor c2 = new Cursor(c1, 1); + var parent = new Cursor(null, Cursor.ROOT_VALUE); + var c1 = new Cursor(parent, 0); + var c2 = new Cursor(c1, 1); Cursor clientC2 = server.getCursor(client.getCursorIds(c2), null); assertThat(clientC2.getValue()).isEqualTo(1); diff --git a/rewrite-core/src/test/java/org/openrewrite/search/FindCommittersTest.java b/rewrite-core/src/test/java/org/openrewrite/search/FindCommittersTest.java index 35e4cb5252a..37a22e002b3 100644 --- a/rewrite-core/src/test/java/org/openrewrite/search/FindCommittersTest.java +++ b/rewrite-core/src/test/java/org/openrewrite/search/FindCommittersTest.java @@ -38,7 +38,7 @@ public void defaults(RecipeSpec spec) { @Test void findCommitters() { - GitProvenance git = new GitProvenance( + var git = new GitProvenance( randomId(), "https://github.com/org/repo.git", "main", "123", null, null, List.of(new GitProvenance.Committer("Jon", "jkschneider@gmail.com", new TreeMap<>() {{ @@ -62,7 +62,7 @@ void findCommitters() { @Test void findCommittersFromDate() { - GitProvenance git = new GitProvenance( + var git = new GitProvenance( randomId(), "https://github.com/org/repo.git", "main", "123", null, null, List.of(new GitProvenance.Committer("Jon", "jkschneider@gmail.com", new TreeMap<>() {{ @@ -91,7 +91,7 @@ void findCommittersFromDate() { @Test void findCommittersFromDateEmpty() { - GitProvenance git = new GitProvenance( + var git = new GitProvenance( randomId(), "https://github.com/org/repo.git", "main", "123", null, null, List.of(new GitProvenance.Committer("Jon", "jkschneider@gmail.com", new TreeMap<>() {{ diff --git a/rewrite-csharp/src/test/java/org/openrewrite/csharp/CSharpRecipeTest.java b/rewrite-csharp/src/test/java/org/openrewrite/csharp/CSharpRecipeTest.java index 99bc7016d64..31fb605c7bd 100644 --- a/rewrite-csharp/src/test/java/org/openrewrite/csharp/CSharpRecipeTest.java +++ b/rewrite-csharp/src/test/java/org/openrewrite/csharp/CSharpRecipeTest.java @@ -87,7 +87,7 @@ void verifyMethodTypeAttribution() throws java.io.IOException { assertThat(sf).isInstanceOf(Cs.CompilationUnit.class); // Find the method invocation - Cs.CompilationUnit cu = (Cs.CompilationUnit) sf; + var cu = (Cs.CompilationUnit) sf; J.MethodInvocation invocation = findFirstMethodInvocation(cu); assertThat(invocation).as("Should find SerializeObject invocation").isNotNull(); assertThat(invocation.getSimpleName()).isEqualTo("SerializeObject"); @@ -132,32 +132,42 @@ private static J.MethodInvocation findFirstMethodInvocation(Object tree) { if (tree instanceof Cs.CompilationUnit cu) { for (Statement member : cu.getMembers()) { J.MethodInvocation result = findFirstMethodInvocation(member); - if (result != null) return result; + if (result != null) { + return result; + } } } if (tree instanceof Cs.NamespaceDeclaration ns) { for (var member : ns.getMembers()) { J.MethodInvocation result = findFirstMethodInvocation(member); - if (result != null) return result; + if (result != null) { + return result; + } } } if (tree instanceof J.ClassDeclaration cd) { for (Statement stmt : cd.getBody().getStatements()) { J.MethodInvocation result = findFirstMethodInvocation(stmt); - if (result != null) return result; + if (result != null) { + return result; + } } } if (tree instanceof J.MethodDeclaration md && md.getBody() != null) { for (Statement stmt : md.getBody().getStatements()) { J.MethodInvocation result = findFirstMethodInvocation(stmt); - if (result != null) return result; + if (result != null) { + return result; + } } } if (tree instanceof J.VariableDeclarations vd) { for (var v : vd.getVariables()) { if (v.getInitializer() != null) { J.MethodInvocation result = findFirstMethodInvocation(v.getInitializer()); - if (result != null) return result; + if (result != null) { + return result; + } } } } diff --git a/rewrite-csharp/src/test/java/org/openrewrite/csharp/rpc/CSharpParseProjectTest.java b/rewrite-csharp/src/test/java/org/openrewrite/csharp/rpc/CSharpParseProjectTest.java index e7ec9955ad3..f462d8a1322 100644 --- a/rewrite-csharp/src/test/java/org/openrewrite/csharp/rpc/CSharpParseProjectTest.java +++ b/rewrite-csharp/src/test/java/org/openrewrite/csharp/rpc/CSharpParseProjectTest.java @@ -288,7 +288,7 @@ void parseWorkingSetSolution() throws IOException { CSharpRewriteRpc.shutdownCurrent(); CSharpRewriteRpc rpc = CSharpRewriteRpc.getOrStart(); - InMemoryExecutionContext ctx = new InMemoryExecutionContext(t -> { + var ctx = new InMemoryExecutionContext(t -> { System.err.println(" Execution error: " + t.getMessage()); t.printStackTrace(System.err); }); diff --git a/rewrite-csharp/src/test/java/org/openrewrite/csharp/rpc/CSharpRpcTest.java b/rewrite-csharp/src/test/java/org/openrewrite/csharp/rpc/CSharpRpcTest.java index 0b6fe1752c0..70c66190b08 100644 --- a/rewrite-csharp/src/test/java/org/openrewrite/csharp/rpc/CSharpRpcTest.java +++ b/rewrite-csharp/src/test/java/org/openrewrite/csharp/rpc/CSharpRpcTest.java @@ -434,7 +434,7 @@ public class Point @Test void getMarketplace() { - RecipeBundle bundle = new RecipeBundle("nuget", "test-recipes", + var bundle = new RecipeBundle("nuget", "test-recipes", null, null, null); RecipeMarketplace marketplace = CSharpRewriteRpc.getOrStart().getMarketplace(bundle); assertThat(marketplace).isNotNull(); @@ -1625,19 +1625,25 @@ private static T findFirst(Object tree, Class type) { if (tree instanceof Cs.CompilationUnit cu) { for (Statement member : cu.getMembers()) { T result = findFirst(member, type); - if (result != null) return result; + if (result != null) { + return result; + } } } if (tree instanceof J.ClassDeclaration cd) { for (Statement stmt : cd.getBody().getStatements()) { T result = findFirst(stmt, type); - if (result != null) return result; + if (result != null) { + return result; + } } } if (tree instanceof Cs.NamespaceDeclaration ns) { for (var member : ns.getMembers()) { T result = findFirst(member, type); - if (result != null) return result; + if (result != null) { + return result; + } } } return null; diff --git a/rewrite-gradle/src/test/java/org/openrewrite/gradle/AddDependencyTest.java b/rewrite-gradle/src/test/java/org/openrewrite/gradle/AddDependencyTest.java index 9fb034b9016..5ab6a13c8cd 100644 --- a/rewrite-gradle/src/test/java/org/openrewrite/gradle/AddDependencyTest.java +++ b/rewrite-gradle/src/test/java/org/openrewrite/gradle/AddDependencyTest.java @@ -143,7 +143,7 @@ public class Main { @ParameterizedTest @ValueSource(strings = {"com.google.common.math.*", "com.google.common.math.IntMath"}) void onlyIfUsingSmokeTestScope(String onlyIfUsing) { - AddDependency addDep = new AddDependency("com.google.guava", "guava", "29.0-jre", null, null, onlyIfUsing, null, null, null, null); + var addDep = new AddDependency("com.google.guava", "guava", "29.0-jre", null, null, onlyIfUsing, null, null, null, null); rewriteRun( spec -> spec.recipe(addDep), mavenProject("project", @@ -278,7 +278,7 @@ void onlyIfUsingMultipleScopes(String onlyIfUsing) { @ParameterizedTest @ValueSource(strings = {"com.google.common.math.*", "com.google.common.math.IntMath"}) void usedInMultipleSourceSetsUsingExplicitSourceSet(String onlyIfUsing) { - AddDependency addDep = new AddDependency("com.google.guava", "guava", "29.0-jre", null, null, onlyIfUsing, null, null, null, Boolean.TRUE); + var addDep = new AddDependency("com.google.guava", "guava", "29.0-jre", null, null, onlyIfUsing, null, null, null, Boolean.TRUE); rewriteRun( spec -> spec.recipe(addDep) .typeValidationOptions(TypeValidation.none()), @@ -336,7 +336,7 @@ void usedInMultipleSourceSetsUsingExplicitSourceSet(String onlyIfUsing) { @Test void usedInTransitiveSourceSet() { - AddDependency addDep = new AddDependency("com.google.guava", "guava", "29.0-jre", null, null, "com.google.common.math.IntMath", null, null, null, Boolean.TRUE); + var addDep = new AddDependency("com.google.guava", "guava", "29.0-jre", null, null, "com.google.common.math.IntMath", null, null, null, Boolean.TRUE); rewriteRun( spec -> spec.recipe(addDep) .typeValidationOptions(TypeValidation.none()), @@ -391,7 +391,7 @@ void usedInTransitiveSourceSet() { @Test void addDependencyIfNotUsedInATransitive() { - AddDependency addDep = new AddDependency("com.google.guava", "guava", "29.0-jre", null, null, "com.google.common.math.IntMath", null, null, null, Boolean.TRUE); + var addDep = new AddDependency("com.google.guava", "guava", "29.0-jre", null, null, "com.google.common.math.IntMath", null, null, null, Boolean.TRUE); rewriteRun( spec -> spec.recipe(addDep) .typeValidationOptions(TypeValidation.none()), @@ -448,7 +448,7 @@ void addDependencyIfNotUsedInATransitive() { @Test void addDependencyWithClassifier() { - AddDependency addDep = new AddDependency("io.netty", "netty-tcnative-boringssl-static", "2.0.54.Final", null, "implementation", "com.google.common.math.IntMath", "linux-x86_64", null, null, null); + var addDep = new AddDependency("io.netty", "netty-tcnative-boringssl-static", "2.0.54.Final", null, "implementation", "com.google.common.math.IntMath", "linux-x86_64", null, null, null); rewriteRun( spec -> spec.recipe(addDep), mavenProject("project", @@ -485,7 +485,7 @@ void addDependencyWithClassifier() { @Test void addDependencyWithoutVersion() { - AddDependency addDep = new AddDependency("io.netty", "netty-tcnative-boringssl-static", null, null, "implementation", "com.google.common.math.IntMath", null, null, null, null); + var addDep = new AddDependency("io.netty", "netty-tcnative-boringssl-static", null, null, "implementation", "com.google.common.math.IntMath", null, null, null, null); rewriteRun( spec -> spec.recipe(addDep), mavenProject("project", @@ -523,7 +523,7 @@ void addDependencyWithoutVersion() { @Test void addDependencyWithoutVersionWithClassifier() { // Without a version, classifier must not be present in the result - AddDependency addDep = new AddDependency("io.netty", "netty-tcnative-boringssl-static", null, null, "implementation", "com.google.common.math.IntMath", "linux-x86_64", null, null, null); + var addDep = new AddDependency("io.netty", "netty-tcnative-boringssl-static", null, null, "implementation", "com.google.common.math.IntMath", "linux-x86_64", null, null, null); rewriteRun( spec -> spec.recipe(addDep), mavenProject("project", @@ -897,7 +897,7 @@ void addDependenciesWithClassifierToExistingGrouping() { @Test void addDependenciesWithoutVersionWithClassifierToExistingGrouping() { - AddDependency addDep = new AddDependency("io.netty", "netty-tcnative-boringssl-static", null, null, "testImplementation", "com.google.common.math.IntMath", "linux-x86_64", null, null, null); + var addDep = new AddDependency("io.netty", "netty-tcnative-boringssl-static", null, null, "testImplementation", "com.google.common.math.IntMath", "linux-x86_64", null, null, null); rewriteRun( spec -> spec.recipe(addDep), mavenProject("project", @@ -1056,7 +1056,7 @@ public class A { } @Test - void testConfigurationDependencyNotAddedWhenTypeOnlyInMainSources() { + void configurationDependencyNotAddedWhenTypeOnlyInMainSources() { rewriteRun( spec -> spec.recipe(addDependency("com.fasterxml.jackson.core:jackson-core:2.12.0", "com.fasterxml.jackson.core.*", "testRuntimeOnly")), mavenProject("project", @@ -1085,7 +1085,7 @@ public class A { } @Test - void testConfigurationDependencyAddedWhenTypeInTestSources() { + void configurationDependencyAddedWhenTypeInTestSources() { rewriteRun( spec -> spec.recipe(addDependency("com.fasterxml.jackson.core:jackson-core:2.12.0", "com.fasterxml.jackson.core.*", "testImplementation")), mavenProject("project", @@ -1232,8 +1232,8 @@ void addDependencyToProjectsThatNeedIt() { ); } - @Test @Issue("https://github.com/openrewrite/rewrite/issues/6833") + @Test void doesNotAddToProjectNotUsingTypeWhenConfigurationIsExplicit() { rewriteRun( spec -> spec.recipe(addDependency("com.google.guava:guava:29.0-jre", "com.google.common.math.IntMath", "implementation")), diff --git a/rewrite-gradle/src/test/java/org/openrewrite/gradle/ChangeDependencyTest.java b/rewrite-gradle/src/test/java/org/openrewrite/gradle/ChangeDependencyTest.java index 9d922557992..510d0f723ba 100644 --- a/rewrite-gradle/src/test/java/org/openrewrite/gradle/ChangeDependencyTest.java +++ b/rewrite-gradle/src/test/java/org/openrewrite/gradle/ChangeDependencyTest.java @@ -1072,11 +1072,11 @@ void sharedKotlinDslStringTemplateVersionVariableCollapsesToLiteral() { @Test void isAcceptable() { - ChangeDependency recipe = new ChangeDependency( + var recipe = new ChangeDependency( "org.old", "artifact", "org.new", "artifact", null, null, null ); @SuppressWarnings("unchecked") - TreeVisitor visitor = (TreeVisitor) recipe.getVisitor(); + var visitor = (TreeVisitor) recipe.getVisitor(); SourceFile sourceFile = PlainTextParser.builder().build().parse("not a gradle file") .findFirst().orElseThrow() @@ -1086,11 +1086,11 @@ void isAcceptable() { @Test void isNotAcceptableForPlainTextWithGradleProjectMarker() { - ChangeDependency recipe = new ChangeDependency( + var recipe = new ChangeDependency( "org.old", "artifact", "org.new", "artifact", null, null, null ); @SuppressWarnings("unchecked") - TreeVisitor visitor = (TreeVisitor) recipe.getVisitor(); + var visitor = (TreeVisitor) recipe.getVisitor(); SourceFile sourceFile = PlainTextParser.builder().build().parse("not a gradle file") .findFirst().orElseThrow() diff --git a/rewrite-gradle/src/test/java/org/openrewrite/gradle/GradleParserTest.java b/rewrite-gradle/src/test/java/org/openrewrite/gradle/GradleParserTest.java index 8da72d8532a..7beb5212d91 100644 --- a/rewrite-gradle/src/test/java/org/openrewrite/gradle/GradleParserTest.java +++ b/rewrite-gradle/src/test/java/org/openrewrite/gradle/GradleParserTest.java @@ -277,7 +277,7 @@ void kotlinDsl() { @Test void escapedAndNonEscapedDollarSignsInSingleDoubleQuotes() { - GradleParser gradleParser = new GradleParser(new GradleParser.Builder()); + var gradleParser = new GradleParser(new GradleParser.Builder()); Stream sourceFileStream = gradleParser.parseInputs(List.of(Parser.Input.fromString(""" plugins { id 'java-library' @@ -299,7 +299,7 @@ void escapedAndNonEscapedDollarSignsInSingleDoubleQuotes() { @Test void escapedAndNonEscapedDollarSignsInSingleSingleQuotes() { - GradleParser gradleParser = new GradleParser(new GradleParser.Builder()); + var gradleParser = new GradleParser(new GradleParser.Builder()); Stream sourceFileStream = gradleParser.parseInputs(List.of(Parser.Input.fromString(""" plugins { id 'java-library' @@ -321,7 +321,7 @@ void escapedAndNonEscapedDollarSignsInSingleSingleQuotes() { @Test void escapedAndNonEscapedDollarSignsInTripleDoubleQuotes() { - GradleParser gradleParser = new GradleParser(new GradleParser.Builder()); + var gradleParser = new GradleParser(new GradleParser.Builder()); Stream sourceFileStream = gradleParser.parseInputs(List.of(Parser.Input.fromString(""" plugins { id 'java-library' @@ -346,7 +346,7 @@ void escapedAndNonEscapedDollarSignsInTripleDoubleQuotes() { @Test void escapedAndNonEscapedDollarSignsInTripleSingleQuotes() { - GradleParser gradleParser = new GradleParser(new GradleParser.Builder()); + var gradleParser = new GradleParser(new GradleParser.Builder()); Stream sourceFileStream = gradleParser.parseInputs(List.of(Parser.Input.fromString(""" plugins { id 'java-library' @@ -389,7 +389,7 @@ implementation platform("commons-lang:commons-lang3:3.0",) @Test void trailingCommaWithClosures() { - GradleParser gradleParser = new GradleParser(new GradleParser.Builder()); + var gradleParser = new GradleParser(new GradleParser.Builder()); Stream sourceFileStream = gradleParser.parseInputs(List.of(Parser.Input.fromString( // lang=groovy """ @@ -406,7 +406,7 @@ void trailingCommaWithClosures() { @Test void noTrailingCommaWithClosures() { - GradleParser gradleParser = new GradleParser(new GradleParser.Builder()); + var gradleParser = new GradleParser(new GradleParser.Builder()); Stream sourceFileStream = gradleParser.parseInputs(List.of(Parser.Input.fromString( // lang=groovy """ @@ -423,7 +423,7 @@ void noTrailingCommaWithClosures() { @Test void trailingCommaWithNamedParameters() { - GradleParser gradleParser = new GradleParser(new GradleParser.Builder()); + var gradleParser = new GradleParser(new GradleParser.Builder()); Stream sourceFileStream = gradleParser.parseInputs(List.of(Parser.Input.fromString( // lang=groovy """ @@ -443,7 +443,7 @@ void trailingCommaWithNamedParameters() { @Test void noTrailingCommaWithNamedParameters() { - GradleParser gradleParser = new GradleParser(new GradleParser.Builder()); + var gradleParser = new GradleParser(new GradleParser.Builder()); Stream sourceFileStream = gradleParser.parseInputs(List.of(Parser.Input.fromString( // lang=groovy """ @@ -461,7 +461,7 @@ void noTrailingCommaWithNamedParameters() { @Test void trailingCommaWithNamedParametersAndClosures() { - GradleParser gradleParser = new GradleParser(new GradleParser.Builder()); + var gradleParser = new GradleParser(new GradleParser.Builder()); Stream sourceFileStream = gradleParser.parseInputs(List.of(Parser.Input.fromString( // lang=groovy """ @@ -485,7 +485,7 @@ void trailingCommaWithNamedParametersAndClosures() { @Test void noTrailingCommaWithNamedParametersAndClosures() { - GradleParser gradleParser = new GradleParser(new GradleParser.Builder()); + var gradleParser = new GradleParser(new GradleParser.Builder()); Stream sourceFileStream = gradleParser.parseInputs(List.of(Parser.Input.fromString( // lang=groovy """ @@ -512,7 +512,7 @@ void noTrailingCommaWithNamedParametersAndClosures() { @Test void trailingCommaWithNamedParametersComplicated() { - GradleParser gradleParser = new GradleParser(new GradleParser.Builder()); + var gradleParser = new GradleParser(new GradleParser.Builder()); Stream sourceFileStream = gradleParser.parseInputs(List.of(Parser.Input.fromString( // lang=groovy """ @@ -536,7 +536,7 @@ void trailingCommaWithNamedParametersComplicated() { @Test void noTrailingCommaWithNamedParametersComplicated() { - GradleParser gradleParser = new GradleParser(new GradleParser.Builder()); + var gradleParser = new GradleParser(new GradleParser.Builder()); Stream sourceFileStream = gradleParser.parseInputs(List.of(Parser.Input.fromString( // lang=groovy """ @@ -561,7 +561,7 @@ void noTrailingCommaWithNamedParametersComplicated() { @MethodSource("escapedBackslashesAndInterpolationInGStringParams") @ParameterizedTest void escapedBackslashesAndInterpolationInGString(@Language("groovy") String groovy) { - GradleParser gradleParser = new GradleParser(new GradleParser.Builder()); + var gradleParser = new GradleParser(new GradleParser.Builder()); Stream sourceFileStream = gradleParser.parseInputs(List.of( Parser.Input.fromString(groovy) ), null, new InMemoryExecutionContext()); diff --git a/rewrite-gradle/src/test/java/org/openrewrite/gradle/UpdateGradleWrapperTest.java b/rewrite-gradle/src/test/java/org/openrewrite/gradle/UpdateGradleWrapperTest.java index beec3565f79..75481c1aee7 100755 --- a/rewrite-gradle/src/test/java/org/openrewrite/gradle/UpdateGradleWrapperTest.java +++ b/rewrite-gradle/src/test/java/org/openrewrite/gradle/UpdateGradleWrapperTest.java @@ -421,11 +421,11 @@ void allowUpdatingDistributionTypeWhenSameVersion() { ); } - @ParameterizedTest @CsvSource({ "all, e6d864e3b5bc05cc62041842b306383fc1fefcec359e70cebb1d470a6094ca82", "bin, 29e49b10984e585d8118b7d0bc452f944e386458df27371b49b4ac1dec4b7fda" }) + @ParameterizedTest void preserveExistingDistributionType(String distributionType, String expectedChecksum) { rewriteRun( spec -> spec.recipe(new UpdateGradleWrapper("7.4.2", null, null, null, null)) diff --git a/rewrite-gradle/src/test/java/org/openrewrite/gradle/UpgradeDependencyVersionTest.java b/rewrite-gradle/src/test/java/org/openrewrite/gradle/UpgradeDependencyVersionTest.java index 37989549b89..86554e32d1a 100644 --- a/rewrite-gradle/src/test/java/org/openrewrite/gradle/UpgradeDependencyVersionTest.java +++ b/rewrite-gradle/src/test/java/org/openrewrite/gradle/UpgradeDependencyVersionTest.java @@ -1535,7 +1535,7 @@ void noActionForNonStringLiterals() { @Test void isAcceptable() { // Mimic org.openrewrite.java.dependencies.UpgradeTransitiveDependencyVersion#getVisitor - UpgradeDependencyVersion guava = new UpgradeDependencyVersion("com.google.guava", "guava", "30.x", "-jre"); + var guava = new UpgradeDependencyVersion("com.google.guava", "guava", "30.x", "-jre"); TreeVisitor visitor = guava.getVisitor(); SourceFile sourceFile = PlainTextParser.builder().build().parse("not a gradle file").findFirst().orElseThrow().withSourcePath(Path.of("not-a-gradle-file.txt")); diff --git a/rewrite-gradle/src/test/java/org/openrewrite/gradle/UpgradeTransitiveDependencyVersionTest.java b/rewrite-gradle/src/test/java/org/openrewrite/gradle/UpgradeTransitiveDependencyVersionTest.java index 7b89a528717..eddeeaab40d 100644 --- a/rewrite-gradle/src/test/java/org/openrewrite/gradle/UpgradeTransitiveDependencyVersionTest.java +++ b/rewrite-gradle/src/test/java/org/openrewrite/gradle/UpgradeTransitiveDependencyVersionTest.java @@ -1295,8 +1295,8 @@ void kotlinDslUseResolutionStrategyWhenSpringDependencyManagementPluginIsPresent @Test void canHandleNullScannedAccumulator() { - UpgradeTransitiveDependencyVersion updateClassgraph = new UpgradeTransitiveDependencyVersion("io.github.classgraph", "classgraph", "4.8.112", null, null, null); - UpgradeTransitiveDependencyVersion updateJackson = new UpgradeTransitiveDependencyVersion("com.fasterxml*", "jackson-core", "2.12.5", null, "CVE-2024-BAD", null); + var updateClassgraph = new UpgradeTransitiveDependencyVersion("io.github.classgraph", "classgraph", "4.8.112", null, null, null); + var updateJackson = new UpgradeTransitiveDependencyVersion("com.fasterxml*", "jackson-core", "2.12.5", null, "CVE-2024-BAD", null); rewriteRun( spec -> spec.recipe(new ScanningAccumulatedUpgradeRecipe(updateClassgraph, updateJackson)), buildGradle( @@ -1517,13 +1517,13 @@ void upgradeDependencyVersionBeforeApplyingTheUpgradeTransitiveDependencyVersion // A recipe that updates an existing dependency in the Gradle build file. // That dependency itself declares the one targeted by UpgradeTransitiveDependencyVersion as a transitive dependency. // In this case, "org.openrewrite:rewrite-java" has "com.fasterxml.jackson.core:jackson-databind" as a transitive dependency. - UpgradeDependencyVersion upgrade = new UpgradeDependencyVersion("org.openrewrite", "rewrite-java", "8.0.0", null); + var upgrade = new UpgradeDependencyVersion("org.openrewrite", "rewrite-java", "8.0.0", null); UpgradeDependencyVersion.DependencyVersionState acc = upgrade.getInitialValue(ctx); upgrade.getScanner(acc).visit(tree, ctx); tree = upgrade.getVisitor(acc).visit(tree, ctx); // Use the changed tree as input for a UpgradeTransitiveDependencyVersion run - UpgradeTransitiveDependencyVersion upgradeTransitive = new UpgradeTransitiveDependencyVersion("com.fasterxml.jackson.core", "jackson-databind", "2.15.1", null, null, null); + var upgradeTransitive = new UpgradeTransitiveDependencyVersion("com.fasterxml.jackson.core", "jackson-databind", "2.15.1", null, null, null); UpgradeTransitiveDependencyVersion.DependencyVersionState accTransitive2 = upgradeTransitive.getInitialValue(ctx); upgradeTransitive.getScanner(accTransitive2).visit(tree, ctx); tree = upgradeTransitive.getVisitor(accTransitive2).visit(tree, ctx); diff --git a/rewrite-gradle/src/test/java/org/openrewrite/gradle/plugins/RemoveSettingsPluginTest.java b/rewrite-gradle/src/test/java/org/openrewrite/gradle/plugins/RemoveSettingsPluginTest.java index 64abd76784b..8660da8cfcd 100644 --- a/rewrite-gradle/src/test/java/org/openrewrite/gradle/plugins/RemoveSettingsPluginTest.java +++ b/rewrite-gradle/src/test/java/org/openrewrite/gradle/plugins/RemoveSettingsPluginTest.java @@ -17,17 +17,23 @@ import org.junit.jupiter.api.Test; import org.openrewrite.DocumentExample; +import org.openrewrite.test.RecipeSpec; import org.openrewrite.test.RewriteTest; import static org.openrewrite.gradle.Assertions.settingsGradle; import static org.openrewrite.gradle.Assertions.settingsGradleKts; class RemoveSettingsPluginTest implements RewriteTest { + + @Override + public void defaults(RecipeSpec spec) { + spec.recipe(new RemoveSettingsPlugin("com.gradle.enterprise")); + } + @DocumentExample @Test void removePlugin() { rewriteRun( - spec -> spec.recipe(new RemoveSettingsPlugin("com.gradle.enterprise")), settingsGradle( """ plugins { @@ -42,7 +48,6 @@ void removePlugin() { @Test void removePluginKts() { rewriteRun( - spec -> spec.recipe(new RemoveSettingsPlugin("com.gradle.enterprise")), settingsGradleKts( """ plugins { diff --git a/rewrite-groovy/src/groovy2Test/java/org/openrewrite/groovy/GroovyParserTest.java b/rewrite-groovy/src/groovy2Test/java/org/openrewrite/groovy/GroovyParserTest.java index 4c0d85782bd..fe70ca3b523 100644 --- a/rewrite-groovy/src/groovy2Test/java/org/openrewrite/groovy/GroovyParserTest.java +++ b/rewrite-groovy/src/groovy2Test/java/org/openrewrite/groovy/GroovyParserTest.java @@ -26,7 +26,7 @@ class GroovyParserTest implements RewriteTest { @Test void groovyRuntimeIsVersion2() throws Exception { Class groovySystem = Class.forName("groovy.lang.GroovySystem"); - String version = (String) groovySystem.getMethod("getVersion").invoke(null); + var version = (String) groovySystem.getMethod("getVersion").invoke(null); assertThat(version).startsWith("2."); } diff --git a/rewrite-groovy/src/test/java/org/openrewrite/groovy/tree/CompilationUnitTest.java b/rewrite-groovy/src/test/java/org/openrewrite/groovy/tree/CompilationUnitTest.java index 328c8a9c4a4..1af081ae38a 100644 --- a/rewrite-groovy/src/test/java/org/openrewrite/groovy/tree/CompilationUnitTest.java +++ b/rewrite-groovy/src/test/java/org/openrewrite/groovy/tree/CompilationUnitTest.java @@ -105,7 +105,7 @@ class Foo { void scriptImportsCanBeAnywhere() { rewriteRun( spec -> spec.parser(GroovyParser.builder().compilerCustomizers(config -> { - ImportCustomizer imports = new ImportCustomizer(); + var imports = new ImportCustomizer(); imports.addStarImports("java.nio.file"); config.addCompilationCustomizers(imports); })), diff --git a/rewrite-java-test/src/test/java/org/openrewrite/java/JavaTypeTest.java b/rewrite-java-test/src/test/java/org/openrewrite/java/JavaTypeTest.java index bf22348da78..acbdb32e331 100644 --- a/rewrite-java-test/src/test/java/org/openrewrite/java/JavaTypeTest.java +++ b/rewrite-java-test/src/test/java/org/openrewrite/java/JavaTypeTest.java @@ -44,7 +44,7 @@ void test(java.util.List l) { spec -> spec.afterRecipe(cu -> new JavaIsoVisitor() { @Override public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, Integer integer) { - MethodMatcher matcher = new MethodMatcher("java.util.List add(..)"); + var matcher = new MethodMatcher("java.util.List add(..)"); JavaType.Method methodType = method.getMethodType(); assertThat(matcher.matches(methodType)).isTrue(); assertThat(methodType.getOverride()).isNotNull(); diff --git a/rewrite-java-test/src/test/java/org/openrewrite/java/MethodMatcherTest.java b/rewrite-java-test/src/test/java/org/openrewrite/java/MethodMatcherTest.java index ac43010e5a3..9ba00093219 100644 --- a/rewrite-java-test/src/test/java/org/openrewrite/java/MethodMatcherTest.java +++ b/rewrite-java-test/src/test/java/org/openrewrite/java/MethodMatcherTest.java @@ -202,7 +202,7 @@ void packagePrefixWithVarargs() { @Test void varargsMatchesArrayType() { // Varargs parameters (String...) are represented as Array types (String[]) in JavaType - JavaType.Array stringArray = new JavaType.Array(null, JavaType.Primitive.String, null); + var stringArray = new JavaType.Array(null, JavaType.Primitive.String, null); // Pattern with varargs should match Array type assertTrue(new MethodMatcher("com.example.Foo bar(String...)").matches( @@ -461,14 +461,14 @@ void allowsMixedWildcardAndVarargs() { // Test that patterns with both .. and ... are allowed (not rejected) // Note: The actual matching logic for mixed patterns is complex and would need more work assertDoesNotThrow(() -> { - MethodMatcher matcher = new MethodMatcher("com.example.Test foo(.., String...)"); + var matcher = new MethodMatcher("com.example.Test foo(.., String...)"); // At minimum, the pattern should be parseable without throwing assertNotNull(matcher); }); // Pattern with arguments before and after .. assertDoesNotThrow(() -> { - MethodMatcher matcher = new MethodMatcher("com.example.Test foo(int, .., String...)"); + var matcher = new MethodMatcher("com.example.Test foo(int, .., String...)"); assertNotNull(matcher); }); } @@ -617,7 +617,7 @@ class InnerClassMatching { @Test void matchesInnerClassWithDotPattern() { // Pattern with . should match types with $ - MethodMatcher matcher = new MethodMatcher("java.util.Map.Entry get*()"); + var matcher = new MethodMatcher("java.util.Map.Entry get*()"); // Should match binary name with $ assertTrue(matcher.matches(newMethodType("java.util.Map$Entry", "getKey"))); @@ -630,7 +630,7 @@ void matchesInnerClassWithDotPattern() { @Test void matchesInnerClassWithDollarPattern() { // Pattern with $ should also work - MethodMatcher matcher = new MethodMatcher("java.util.Map$Entry get*()"); + var matcher = new MethodMatcher("java.util.Map$Entry get*()"); assertTrue(matcher.matches(newMethodType("java.util.Map$Entry", "getKey"))); assertTrue(matcher.matches(newMethodType("java.util.Map.Entry", "getKey"))); @@ -639,7 +639,7 @@ void matchesInnerClassWithDollarPattern() { @Test void matchesInnerClassWithWildcardPattern() { // Wildcard patterns should work with inner classes - MethodMatcher matcher = new MethodMatcher("*..*Entry get*()"); + var matcher = new MethodMatcher("*..*Entry get*()"); assertTrue(matcher.matches(newMethodType("java.util.Map$Entry", "getKey"))); assertTrue(matcher.matches(newMethodType("java.util.Map.Entry", "getValue"))); @@ -649,7 +649,7 @@ void matchesInnerClassWithWildcardPattern() { @Test void matchesNestedInnerClasses() { // Test deeply nested inner classes - MethodMatcher matcher = new MethodMatcher("com.example.Outer.Middle.Inner method()"); + var matcher = new MethodMatcher("com.example.Outer.Middle.Inner method()"); // Should match various representations assertTrue(matcher.matches(newMethodType("com.example.Outer$Middle$Inner", "method"))); @@ -662,7 +662,7 @@ void matchesNestedInnerClasses() { @Test void innerClassWildcardSuffix() { // Pattern like *Entry should only match simple class names without package separators - MethodMatcher matcher = new MethodMatcher("*Entry get*()"); + var matcher = new MethodMatcher("*Entry get*()"); // Should match simple class name assertTrue(matcher.matches(newMethodType("SomeEntry", "getValue"))); @@ -673,7 +673,7 @@ void innerClassWildcardSuffix() { assertFalse(matcher.matches(newMethodType("com.example.Entry", "getKey"))); // Pattern with .. should match inner classes - MethodMatcher packageMatcher = new MethodMatcher("*..*Entry get*()"); + var packageMatcher = new MethodMatcher("*..*Entry get*()"); assertTrue(packageMatcher.matches(newMethodType("java.util.Map$Entry", "getKey"))); } } @@ -683,7 +683,7 @@ class ToStringBehavior { @Test void preservesMethodNameWildcards() { // Test that toString() preserves method name patterns - MethodMatcher matcher = new MethodMatcher("java.util.Map$Entry get*()"); + var matcher = new MethodMatcher("java.util.Map$Entry get*()"); assertEquals("java.util.Map$Entry get*()", matcher.toString()); // Test with various method name patterns @@ -856,19 +856,19 @@ void test() { @Test void multiDimensionalArrayMatching() { // Test 1D array - JavaType.Array stringArray = new JavaType.Array(null, JavaType.Primitive.String, null); + var stringArray = new JavaType.Array(null, JavaType.Primitive.String, null); assertTrue(new MethodMatcher("com.example.Foo bar(String[])").matches( new JavaType.Method(null, 1L, build("com.example.Foo"), "bar", null, null, List.of(stringArray), emptyList(), emptyList(), emptyList(), null))); // Test 2D array - JavaType.Array stringArray2D = new JavaType.Array(null, stringArray, null); + var stringArray2D = new JavaType.Array(null, stringArray, null); assertTrue(new MethodMatcher("com.example.Foo bar(String[][])").matches( new JavaType.Method(null, 1L, build("com.example.Foo"), "bar", null, null, List.of(stringArray2D), emptyList(), emptyList(), emptyList(), null))); // Test 3D array - JavaType.Array stringArray3D = new JavaType.Array(null, stringArray2D, null); + var stringArray3D = new JavaType.Array(null, stringArray2D, null); assertTrue(new MethodMatcher("com.example.Foo bar(String[][][])").matches( new JavaType.Method(null, 1L, build("com.example.Foo"), "bar", null, null, List.of(stringArray3D), emptyList(), emptyList(), emptyList(), null))); @@ -888,8 +888,8 @@ void multiDimensionalArrayMatching() { void varargsWithArrayElementType() { // Varargs with array element type: int[]... // In JavaType, this is represented as Array(Array(int)) - JavaType.Array intArray = new JavaType.Array(null, JavaType.Primitive.Int, null); - JavaType.Array intArrayArray = new JavaType.Array(null, intArray, null); + var intArray = new JavaType.Array(null, JavaType.Primitive.Int, null); + var intArrayArray = new JavaType.Array(null, intArray, null); // Pattern int[]... should match Array(Array(int)) assertTrue(new MethodMatcher("com.example.Foo bar(int[]...)").matches( @@ -902,7 +902,7 @@ void varargsWithArrayElementType() { null, null, List.of(intArrayArray), emptyList(), emptyList(), emptyList(), null))); // Test with parameters before varargs: foo(int, int[]...) - JavaType.Array stringArrayArray = new JavaType.Array(null, + var stringArrayArray = new JavaType.Array(null, new JavaType.Array(null, JavaType.Primitive.String, null), null); assertTrue(new MethodMatcher("com.example.Foo bar(int, String[]...)").matches( new JavaType.Method(null, 1L, build("com.example.Foo"), "bar", @@ -986,9 +986,9 @@ void matcherWithNoArgsDoesNotMatchMethodWithArgs() { @Test void varargsMatcherValidatesVarargsArgumentTypes() { - MethodMatcher matcher = new MethodMatcher("org.springframework.core.env.Environment acceptsProfiles(java.lang.String...)"); + var matcher = new MethodMatcher("org.springframework.core.env.Environment acceptsProfiles(java.lang.String...)"); - JavaType.Method correctMethod = new JavaType.Method( + var correctMethod = new JavaType.Method( null, 1L, build("org.springframework.core.env.Environment"), "acceptsProfiles", @@ -998,7 +998,7 @@ void varargsMatcherValidatesVarargsArgumentTypes() { ); assertTrue(matcher.matches(correctMethod), "Should match method with String varargs"); - JavaType.Method zeroArgsMethod = new JavaType.Method( + var zeroArgsMethod = new JavaType.Method( null, 1L, build("org.springframework.core.env.Environment"), "acceptsProfiles", @@ -1008,7 +1008,7 @@ void varargsMatcherValidatesVarargsArgumentTypes() { ); assertTrue(matcher.matches(zeroArgsMethod), "Should match method with zero varargs (varargs can be empty)"); - JavaType.Method multipleArgsMethod = new JavaType.Method( + var multipleArgsMethod = new JavaType.Method( null, 1L, build("org.springframework.core.env.Environment"), "acceptsProfiles", @@ -1018,7 +1018,7 @@ void varargsMatcherValidatesVarargsArgumentTypes() { ); assertTrue(matcher.matches(multipleArgsMethod), "Should match method with multiple String arguments"); - JavaType.Method wrongTypeMethod = new JavaType.Method( + var wrongTypeMethod = new JavaType.Method( null, 1L, build("org.springframework.core.env.Environment"), "acceptsProfiles", @@ -1028,7 +1028,7 @@ void varargsMatcherValidatesVarargsArgumentTypes() { ); assertFalse(matcher.matches(wrongTypeMethod), "Should NOT match method when varargs argument is wrong type (int instead of String)"); - JavaType.Method mixedArgsMethod = new JavaType.Method( + var mixedArgsMethod = new JavaType.Method( null, 1L, build("org.springframework.core.env.Environment"), "acceptsProfiles", @@ -1042,9 +1042,9 @@ void varargsMatcherValidatesVarargsArgumentTypes() { @Test void wildcardVarargsWithTrailingParameter() { // Pattern: get*Record*(.., long) means "any method starting with 'get' containing 'Record', any number of args, followed by long" - MethodMatcher matcher = new MethodMatcher("org.springframework.kafka.test.utils.KafkaTestUtils get*Record*(.., long)"); + var matcher = new MethodMatcher("org.springframework.kafka.test.utils.KafkaTestUtils get*Record*(.., long)"); - JavaType.Method correctMethod = new JavaType.Method( + var correctMethod = new JavaType.Method( null, 1L, build("org.springframework.kafka.test.utils.KafkaTestUtils"), "getRecords", @@ -1054,7 +1054,7 @@ void wildcardVarargsWithTrailingParameter() { ); assertTrue(matcher.matches(correctMethod), "Should match getRecords(Consumer, long)"); - JavaType.Method wrongLastParamMethod = new JavaType.Method( + var wrongLastParamMethod = new JavaType.Method( null, 1L, build("org.springframework.kafka.test.utils.KafkaTestUtils"), "getRecords", @@ -1064,7 +1064,7 @@ void wildcardVarargsWithTrailingParameter() { ); assertFalse(matcher.matches(wrongLastParamMethod), "Should NOT match getRecords(Consumer, int) - last param must be long"); - JavaType.Method noArgsMethod = new JavaType.Method( + var noArgsMethod = new JavaType.Method( null, 1L, build("org.springframework.kafka.test.utils.KafkaTestUtils"), "getRecords", diff --git a/rewrite-java-test/src/test/java/org/openrewrite/java/RenameVariableTest.java b/rewrite-java-test/src/test/java/org/openrewrite/java/RenameVariableTest.java index a0df1a4d3f2..e35b8d6b2f7 100644 --- a/rewrite-java-test/src/test/java/org/openrewrite/java/RenameVariableTest.java +++ b/rewrite-java-test/src/test/java/org/openrewrite/java/RenameVariableTest.java @@ -27,7 +27,6 @@ import java.util.ArrayList; import java.util.List; -import static java.util.stream.Collectors.toList; import static org.openrewrite.java.Assertions.java; import static org.openrewrite.test.RewriteTest.toRecipe; @@ -84,7 +83,7 @@ public J visitClassDeclaration(J.ClassDeclaration classDecl, ExecutionContext ct List variableDecls = classDecl.getBody().getStatements().stream() .filter(J.VariableDeclarations.class::isInstance) .map(J.VariableDeclarations.class::cast) - .collect(toList()); + .toList(); if (includeMethodParameters) { variableDecls.addAll( diff --git a/rewrite-java-test/src/test/java/org/openrewrite/java/search/HasSourceSetTest.java b/rewrite-java-test/src/test/java/org/openrewrite/java/search/HasSourceSetTest.java index c1ec33613a2..07191410091 100644 --- a/rewrite-java-test/src/test/java/org/openrewrite/java/search/HasSourceSetTest.java +++ b/rewrite-java-test/src/test/java/org/openrewrite/java/search/HasSourceSetTest.java @@ -76,7 +76,7 @@ void mainResources() { } @Test - void testResourcesNotMatchedByMain() { + void resourcesNotMatchedByMain() { rewriteRun( spec -> spec.recipe(new HasSourceSet("main")), srcTestResources( @@ -89,7 +89,7 @@ void testResourcesNotMatchedByMain() { } @Test - void testResources() { + void resources() { rewriteRun( spec -> spec.recipe(new HasSourceSet("test")), srcTestResources( diff --git a/rewrite-java/src/test/java/org/openrewrite/java/AnnotationMatcherTest.java b/rewrite-java/src/test/java/org/openrewrite/java/AnnotationMatcherTest.java index 3f79fa627cb..76afa95096e 100644 --- a/rewrite-java/src/test/java/org/openrewrite/java/AnnotationMatcherTest.java +++ b/rewrite-java/src/test/java/org/openrewrite/java/AnnotationMatcherTest.java @@ -30,7 +30,7 @@ class AnnotationMatcherTest implements RewriteTest { class Whitespace { @Test void spacesAroundEquals() { - AnnotationMatcher matcher = new AnnotationMatcher("@java.lang.SuppressWarnings(value = \"foo\")"); + var matcher = new AnnotationMatcher("@java.lang.SuppressWarnings(value = \"foo\")"); rewriteRun( java( """ @@ -53,7 +53,7 @@ public J.Annotation visitAnnotation(J.Annotation annotation, Integer p) { @Test void spacesAroundDots() { - AnnotationMatcher matcher = new AnnotationMatcher("@ java .lang. SuppressWarnings"); + var matcher = new AnnotationMatcher("@ java .lang. SuppressWarnings"); rewriteRun( java( """ diff --git a/rewrite-java/src/test/java/org/openrewrite/java/format/AutoFormatTest.java b/rewrite-java/src/test/java/org/openrewrite/java/format/AutoFormatTest.java index fba4d86918c..b0930f97953 100644 --- a/rewrite-java/src/test/java/org/openrewrite/java/format/AutoFormatTest.java +++ b/rewrite-java/src/test/java/org/openrewrite/java/format/AutoFormatTest.java @@ -31,7 +31,6 @@ import org.openrewrite.test.RewriteTest; import org.openrewrite.test.SourceSpec; -import java.util.Arrays; import java.util.List; import java.util.function.Consumer; import java.util.function.UnaryOperator; @@ -977,8 +976,8 @@ public int hashCode() { ); } - @SuppressWarnings({"StringBufferReplaceableByString", "SimplifyStreamApiCallChains", "RedundantIfStatement"}) @Nested + @SuppressWarnings({"StringBufferReplaceableByString", "SimplifyStreamApiCallChains", "RedundantIfStatement"}) class MethodChains { @Test @@ -2043,8 +2042,8 @@ void test() { ); } - @SuppressWarnings("TrailingWhitespacesInTextBlock") @Issue("https://www.jetbrains.com/help/idea/2025.1/code-style-java.html?#chained-method-calls") + @SuppressWarnings("TrailingWhitespacesInTextBlock") @Test void alwaysWrapBuilderMethods() { rewriteRun( @@ -2928,8 +2927,8 @@ private void withMethodParameterChopIfTooLong(RecipeSpec spec, int hardWrapAt) { } } - @SuppressWarnings({"Convert2MethodRef", "CodeBlock2Expr"}) @Nested + @SuppressWarnings({"Convert2MethodRef", "CodeBlock2Expr"}) class MethodInvocationArguments { @Test @@ -3657,7 +3656,7 @@ private Consumer withCheckstyleStyles(Style... styles) { .styles(singletonList( new NamedStyles( Tree.randomId(), "checkstyle", "Checkstyle", "Checkstyle.", emptySet(), - Arrays.asList(styles) + List.of(styles) )))); } diff --git a/rewrite-java/src/test/java/org/openrewrite/java/internal/parser/TypeTableTest.java b/rewrite-java/src/test/java/org/openrewrite/java/internal/parser/TypeTableTest.java index abb11f8aadc..315373a032b 100644 --- a/rewrite-java/src/test/java/org/openrewrite/java/internal/parser/TypeTableTest.java +++ b/rewrite-java/src/test/java/org/openrewrite/java/internal/parser/TypeTableTest.java @@ -154,10 +154,10 @@ Path[] compileToClassFiles(String... sourceAndClassPairs) throws Exception { */ Path createJarFromClasses(String jarName, Path... classFiles) throws Exception { Path jarFile = tempDir.resolve(jarName); - try (JarOutputStream jos = new JarOutputStream(Files.newOutputStream(jarFile))) { + try (var jos = new JarOutputStream(Files.newOutputStream(jarFile))) { for (Path classFile : classFiles) { String relativePath = tempDir.relativize(classFile).toString(); - JarEntry entry = new JarEntry(relativePath); + var entry = new JarEntry(relativePath); jos.putNextEntry(entry); jos.write(Files.readAllBytes(classFile)); jos.closeEntry(); @@ -170,7 +170,7 @@ Path createJarFromClasses(String jarName, Path... classFiles) throws Exception { * Helper method to process a JAR through TypeTable and return the TSV content */ String processJarThroughTypeTable(Path jarFile, String groupId, String artifactId, String version) throws Exception { - ByteArrayOutputStream baos = new ByteArrayOutputStream(); + var baos = new ByteArrayOutputStream(); try (TypeTable.Writer writer = TypeTable.newWriter(baos)) { writer.jar(groupId, artifactId, version).write(jarFile); } @@ -178,7 +178,7 @@ String processJarThroughTypeTable(Path jarFile, String groupId, String artifactI // Decompress and return TSV content try (InputStream is = new ByteArrayInputStream(baos.toByteArray()); InputStream gzis = new GZIPInputStream(is); - java.util.Scanner scanner = new java.util.Scanner(gzis)) { + var scanner = new java.util.Scanner(gzis)) { return scanner.useDelimiter("\\A").next(); } } @@ -302,7 +302,7 @@ public String getDescription() { @Test void canCompileAgainstTypeTableGeneratedEnum() throws Exception { // Create a simple enum that can be compiled against - ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_FRAMES); + var cw = new ClassWriter(ClassWriter.COMPUTE_FRAMES); cw.visit(Opcodes.V1_8, Opcodes.ACC_PUBLIC | Opcodes.ACC_FINAL | Opcodes.ACC_SUPER | Opcodes.ACC_ENUM, "TestEnum", "Ljava/lang/Enum;", "java/lang/Enum", null); @@ -418,8 +418,8 @@ void writeAllRuntimeClasspathJars() throws Exception { void writeAllMavenLocal() throws Exception { Path m2Repo = Path.of(System.getProperty("user.home"), ".m2", "repository"); try (TypeTable.Writer writer = TypeTable.newWriter(Files.newOutputStream(tsv))) { - AtomicLong jarsSize = new AtomicLong(); - AtomicLong jarCount = new AtomicLong(); + var jarsSize = new AtomicLong(); + var jarCount = new AtomicLong(); Files.walkFileTree(m2Repo, new SimpleFileVisitor<>() { @Override @SneakyThrows @@ -448,7 +448,7 @@ void writeReadJunitJupiterApi() throws Exception { } } - TypeTable table = new TypeTable(ctx, tsv.toUri().toURL(), List.of("junit-jupiter-api")); + var table = new TypeTable(ctx, tsv.toUri().toURL(), List.of("junit-jupiter-api")); Path classesDir = table.load("junit-jupiter-api"); assertThat(Files.walk(requireNonNull(classesDir))).noneMatch(p -> p.getFileName().toString().endsWith("$1.class")); @@ -511,7 +511,7 @@ void writeReadWithAnnotations() throws Exception { writer.jar("test.group", "test-validation", "1.0").write(testJar); } - TypeTable table = new TypeTable(ctx, tsv.toUri().toURL(), List.of("test-validation")); + var table = new TypeTable(ctx, tsv.toUri().toURL(), List.of("test-validation")); Path classesDir = table.load("test-validation"); // Verify that TypeTable can successfully load classes from our JAR @@ -551,7 +551,7 @@ void annotationAttributeValuesPreservedThroughTypeTableRoundtrip() throws Except } // Load back via TypeTable - TypeTable table = new TypeTable(ctx, tsv.toUri().toURL(), List.of("validation-rules")); + var table = new TypeTable(ctx, tsv.toUri().toURL(), List.of("validation-rules")); Path classesDir = table.load("validation-rules"); assertThat(classesDir).isNotNull(); @@ -751,7 +751,7 @@ public void processWildcard(List numbers) {} } // Load back via TypeTable - TypeTable table = new TypeTable(ctx, tsv.toUri().toURL(), List.of("annotated-library")); + var table = new TypeTable(ctx, tsv.toUri().toURL(), List.of("annotated-library")); Path classesDir = table.load("annotated-library"); assertThat(classesDir).isNotNull(); @@ -871,7 +871,7 @@ public class SimpleClass { // Create a URLClassLoader that can see the recipe JAR's resources // Use a parent that does NOT have access to any classpath.tsv.gz (the bootstrap classloader) - URLClassLoader isolatedLoader = new URLClassLoader( + var isolatedLoader = new URLClassLoader( new URL[]{recipeJarDir.toUri().toURL()}, ClassLoader.getPlatformClassLoader() ); diff --git a/rewrite-java/src/test/java/org/openrewrite/java/internal/rpc/JavaSendReceiveTest.java b/rewrite-java/src/test/java/org/openrewrite/java/internal/rpc/JavaSendReceiveTest.java index fa6fd263d16..066bbec269f 100644 --- a/rewrite-java/src/test/java/org/openrewrite/java/internal/rpc/JavaSendReceiveTest.java +++ b/rewrite-java/src/test/java/org/openrewrite/java/internal/rpc/JavaSendReceiveTest.java @@ -48,15 +48,15 @@ class JavaSendReceiveTest implements RewriteTest { @BeforeEach void before() throws IOException { - PipedOutputStream serverOut = new PipedOutputStream(); - PipedOutputStream clientOut = new PipedOutputStream(); - PipedInputStream serverIn = new PipedInputStream(clientOut); - PipedInputStream clientIn = new PipedInputStream(serverOut); + var serverOut = new PipedOutputStream(); + var clientOut = new PipedOutputStream(); + var serverIn = new PipedInputStream(clientOut); + var clientIn = new PipedInputStream(serverOut); Environment env = Environment.builder().build(); - JsonMessageFormatter serverFormatter = new JsonMessageFormatter(new ParameterNamesModule()); - JsonMessageFormatter clientFormatter = new JsonMessageFormatter(new ParameterNamesModule()); + var serverFormatter = new JsonMessageFormatter(new ParameterNamesModule()); + var clientFormatter = new JsonMessageFormatter(new ParameterNamesModule()); server = new RewriteRpc(new JsonRpc(new TraceMessageHandler("server", new HeaderDelimitedMessageHandler(serverFormatter, serverIn, serverOut))), env.toMarketplace(runtimeClasspath())) .batchSize(1); diff --git a/rewrite-java/src/test/java/org/openrewrite/java/rpc/JavaRewriteRpcTest.java b/rewrite-java/src/test/java/org/openrewrite/java/rpc/JavaRewriteRpcTest.java index 55e9668be67..e611211e1e8 100644 --- a/rewrite-java/src/test/java/org/openrewrite/java/rpc/JavaRewriteRpcTest.java +++ b/rewrite-java/src/test/java/org/openrewrite/java/rpc/JavaRewriteRpcTest.java @@ -52,13 +52,13 @@ class JavaRewriteRpcTest implements RewriteTest { @BeforeEach void before() throws IOException { - PipedOutputStream serverOut = new PipedOutputStream(); - PipedOutputStream clientOut = new PipedOutputStream(); - PipedInputStream serverIn = new PipedInputStream(clientOut); - PipedInputStream clientIn = new PipedInputStream(serverOut); + var serverOut = new PipedOutputStream(); + var clientOut = new PipedOutputStream(); + var serverIn = new PipedInputStream(clientOut); + var clientIn = new PipedInputStream(serverOut); - JsonMessageFormatter clientFormatter = new JsonMessageFormatter(new ParameterNamesModule()); - JsonMessageFormatter serverFormatter = new JsonMessageFormatter(new ParameterNamesModule()); + var clientFormatter = new JsonMessageFormatter(new ParameterNamesModule()); + var serverFormatter = new JsonMessageFormatter(new ParameterNamesModule()); client = new RewriteRpc(new JsonRpc(new HeaderDelimitedMessageHandler(clientFormatter, clientIn, clientOut)), env.toMarketplace(runtimeClasspath())); server = new RewriteRpc(new JsonRpc(new HeaderDelimitedMessageHandler(serverFormatter, serverIn, serverOut)), env.toMarketplace(runtimeClasspath())) diff --git a/rewrite-java/src/test/java/org/openrewrite/java/style/ImportLayoutStyleTest.java b/rewrite-java/src/test/java/org/openrewrite/java/style/ImportLayoutStyleTest.java index 55dddf859a8..50144d4ce09 100644 --- a/rewrite-java/src/test/java/org/openrewrite/java/style/ImportLayoutStyleTest.java +++ b/rewrite-java/src/test/java/org/openrewrite/java/style/ImportLayoutStyleTest.java @@ -90,12 +90,12 @@ void deserializeInDeclarativeNamedStyles() throws Exception { mapper.readValue(mapper.writeValueAsBytes(style), DeclarativeNamedStyles.class); } - @Test @Issue("https://github.com/openrewrite/rewrite/issues/4196") + @Test void addImportInPresenceOfDuplicateOtherImport() { - ImportLayoutStyle style = new ImportLayoutStyle( + var style = new ImportLayoutStyle( Integer.MAX_VALUE, Integer.MAX_VALUE, null, null); - JRightPadded import1 = new JRightPadded<>( + var import1 = new JRightPadded( new J.Import( randomId(), Space.EMPTY, @@ -105,7 +105,7 @@ void addImportInPresenceOfDuplicateOtherImport() { null), Space.EMPTY, Markers.EMPTY); - JRightPadded import2 = new JRightPadded<>( + var import2 = new JRightPadded( new J.Import( randomId(), Space.EMPTY, @@ -115,7 +115,7 @@ void addImportInPresenceOfDuplicateOtherImport() { null), Space.EMPTY, Markers.EMPTY); - J.Import importToAdd = new J.Import( + var importToAdd = new J.Import( randomId(), Space.EMPTY, Markers.EMPTY, @@ -127,12 +127,12 @@ void addImportInPresenceOfDuplicateOtherImport() { import1, import1, new JRightPadded<>(importToAdd, Space.EMPTY, Markers.EMPTY)); } - @Test @Issue("https://github.com/openrewrite/rewrite/issues/4241") + @Test void addImportWithNewLineInUnsortedImportList() { - ImportLayoutStyle style = new ImportLayoutStyle( + var style = new ImportLayoutStyle( Integer.MAX_VALUE, Integer.MAX_VALUE, emptyList(), emptyList()); - JRightPadded import0 = new JRightPadded<>( + var import0 = new JRightPadded( new J.Import( randomId(), Space.EMPTY, @@ -142,7 +142,7 @@ void addImportWithNewLineInUnsortedImportList() { null), Space.EMPTY, Markers.EMPTY); - JRightPadded import1 = new JRightPadded<>( + var import1 = new JRightPadded( new J.Import( randomId(), Space.EMPTY, @@ -152,7 +152,7 @@ void addImportWithNewLineInUnsortedImportList() { null), Space.EMPTY, Markers.EMPTY); - JRightPadded import3 = new JRightPadded<>( + var import3 = new JRightPadded( new J.Import( randomId(), Space.EMPTY, @@ -162,7 +162,7 @@ void addImportWithNewLineInUnsortedImportList() { null), Space.EMPTY, Markers.EMPTY); - J.Import importToAdd = new J.Import( + var importToAdd = new J.Import( randomId(), Space.EMPTY, Markers.EMPTY, @@ -198,11 +198,11 @@ void checkstyleImportLayoutOverridesAutodetect() { .nameCountToUseStarImport(999) .build(); - NamedStyles autodetected = new NamedStyles( + var autodetected = new NamedStyles( Tree.randomId(), "org.openrewrite.java.style.Autodetect", "Autodetect", "Autodetect", emptySet(), singletonList(autodetectedLayout) ); - NamedStyles checkstyleStyles = new NamedStyles( + var checkstyleStyles = new NamedStyles( Tree.randomId(), "org.openrewrite.java.Checkstyle", "Checkstyle", "Checkstyle", emptySet(), singletonList(checkstyleLayout) ); diff --git a/rewrite-javascript/src/integTest/java/org/openrewrite/javascript/rpc/JavaScriptRewriteRpcTest.java b/rewrite-javascript/src/integTest/java/org/openrewrite/javascript/rpc/JavaScriptRewriteRpcTest.java index 31e026a42a7..66207da03f7 100644 --- a/rewrite-javascript/src/integTest/java/org/openrewrite/javascript/rpc/JavaScriptRewriteRpcTest.java +++ b/rewrite-javascript/src/integTest/java/org/openrewrite/javascript/rpc/JavaScriptRewriteRpcTest.java @@ -620,7 +620,7 @@ void jsRecipeDelegatingToJavaRecipe(@TempDir Path projectDir) { } private void installRecipes() { - File exampleRecipes = new File("rewrite/dist-fixtures/example-recipe.js"); + var exampleRecipes = new File("rewrite/dist-fixtures/example-recipe.js"); assertThat(exampleRecipes).exists(); assertThat(client().installRecipes(exampleRecipes).getRecipesInstalled()).isGreaterThan(0); } diff --git a/rewrite-json/src/test/java/org/openrewrite/json/CreateJsonFileTest.java b/rewrite-json/src/test/java/org/openrewrite/json/CreateJsonFileTest.java index 0a14269064f..f72b6a2bea6 100644 --- a/rewrite-json/src/test/java/org/openrewrite/json/CreateJsonFileTest.java +++ b/rewrite-json/src/test/java/org/openrewrite/json/CreateJsonFileTest.java @@ -140,8 +140,8 @@ void shouldDownloadFileContents() { } } """; - InMemoryExecutionContext ctx = new InMemoryExecutionContext(Throwable::printStackTrace); - MockHttpSender httpSender = new MockHttpSender(() -> new ByteArrayInputStream(jsonContent.getBytes())); + var ctx = new InMemoryExecutionContext(Throwable::printStackTrace); + var httpSender = new MockHttpSender(() -> new ByteArrayInputStream(jsonContent.getBytes())); HttpSenderExecutionContextView.view(ctx) .setHttpSender(httpSender) .setLargeFileHttpSender(httpSender); diff --git a/rewrite-json/src/test/java/org/openrewrite/json/internal/rpc/JsonSendReceiveTest.java b/rewrite-json/src/test/java/org/openrewrite/json/internal/rpc/JsonSendReceiveTest.java index 9089ce857a7..532932b6b79 100644 --- a/rewrite-json/src/test/java/org/openrewrite/json/internal/rpc/JsonSendReceiveTest.java +++ b/rewrite-json/src/test/java/org/openrewrite/json/internal/rpc/JsonSendReceiveTest.java @@ -47,15 +47,15 @@ class JsonSendReceiveTest implements RewriteTest { @BeforeEach void before() throws IOException { - PipedOutputStream serverOut = new PipedOutputStream(); - PipedOutputStream clientOut = new PipedOutputStream(); - PipedInputStream serverIn = new PipedInputStream(clientOut); - PipedInputStream clientIn = new PipedInputStream(serverOut); + var serverOut = new PipedOutputStream(); + var clientOut = new PipedOutputStream(); + var serverIn = new PipedInputStream(clientOut); + var clientIn = new PipedInputStream(serverOut); Environment env = Environment.builder().build(); - JsonMessageFormatter serverFormatter = new JsonMessageFormatter(new ParameterNamesModule()); - JsonMessageFormatter clientFormatter = new JsonMessageFormatter(new ParameterNamesModule()); + var serverFormatter = new JsonMessageFormatter(new ParameterNamesModule()); + var clientFormatter = new JsonMessageFormatter(new ParameterNamesModule()); server = new RewriteRpc(new JsonRpc(new TraceMessageHandler("server", new HeaderDelimitedMessageHandler(serverFormatter, serverIn, serverOut))), env.toMarketplace(runtimeClasspath())) .batchSize(1); diff --git a/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/AddImportTest.java b/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/AddImportTest.java index c21a67db2eb..f03e43adbcd 100644 --- a/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/AddImportTest.java +++ b/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/AddImportTest.java @@ -410,7 +410,7 @@ class A class A """, spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.Identifier visitIdentifier(J.Identifier identifier, Integer integer) { diff --git a/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/AnnotationMatcherTest.java b/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/AnnotationMatcherTest.java index 93480de201d..bf328a8aa70 100644 --- a/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/AnnotationMatcherTest.java +++ b/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/AnnotationMatcherTest.java @@ -36,8 +36,8 @@ void matchAnnotation() { class A """, spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); - AnnotationMatcher matcher = new AnnotationMatcher("@kotlin.Deprecated"); + var found = new AtomicBoolean(false); + var matcher = new AnnotationMatcher("@kotlin.Deprecated"); new KotlinIsoVisitor() { @Override public J.Annotation visitAnnotation(J.Annotation annotation, AtomicBoolean atomicBoolean) { @@ -67,14 +67,14 @@ class MyExtension : org.junit.jupiter.api.extension.Extension class A """, spec -> spec.afterRecipe(cu -> { - AnnotationMatcher javaStyleMatcher = new AnnotationMatcher("@org.junit.jupiter.api.extension.ExtendWith(MyExtension.class)"); - AtomicBoolean foundJavaStyle = new AtomicBoolean(false); + var javaStyleMatcher = new AnnotationMatcher("@org.junit.jupiter.api.extension.ExtendWith(MyExtension.class)"); + var foundJavaStyle = new AtomicBoolean(false); getMatcherVisitor(javaStyleMatcher).visit(cu, foundJavaStyle); assertThat(foundJavaStyle.get()).isTrue(); - AnnotationMatcher kotlinStyleMatcher = new AnnotationMatcher("@org.junit.jupiter.api.extension.ExtendWith(MyExtension::class)"); - AtomicBoolean foundKotlinStyle = new AtomicBoolean(false); + var kotlinStyleMatcher = new AnnotationMatcher("@org.junit.jupiter.api.extension.ExtendWith(MyExtension::class)"); + var foundKotlinStyle = new AtomicBoolean(false); getMatcherVisitor(kotlinStyleMatcher).visit(cu, foundKotlinStyle); assertThat(foundKotlinStyle.get()).isTrue(); @@ -96,14 +96,14 @@ void matchJavaClassArgumentWithKotlinSyntax() { class A """, spec -> spec.afterRecipe(cu -> { - AnnotationMatcher javaStyleMatcher = new AnnotationMatcher("@org.junit.jupiter.api.extension.ExtendWith(org.junit.jupiter.api.extension.Extension.class)"); - AtomicBoolean foundJavaStyle = new AtomicBoolean(false); + var javaStyleMatcher = new AnnotationMatcher("@org.junit.jupiter.api.extension.ExtendWith(org.junit.jupiter.api.extension.Extension.class)"); + var foundJavaStyle = new AtomicBoolean(false); getMatcherVisitor(javaStyleMatcher).visit(cu, foundJavaStyle); assertThat(foundJavaStyle.get()).isTrue(); - AnnotationMatcher kotlinStyleMatcher = new AnnotationMatcher("@org.junit.jupiter.api.extension.ExtendWith(org.junit.jupiter.api.extension.Extension::class.java)"); - AtomicBoolean foundKotlinStyle = new AtomicBoolean(false); + var kotlinStyleMatcher = new AnnotationMatcher("@org.junit.jupiter.api.extension.ExtendWith(org.junit.jupiter.api.extension.Extension::class.java)"); + var foundKotlinStyle = new AtomicBoolean(false); getMatcherVisitor(kotlinStyleMatcher).visit(cu, foundKotlinStyle); assertThat(foundKotlinStyle.get()).isTrue(); diff --git a/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/KotlinTemplateTest.java b/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/KotlinTemplateTest.java index 5d7a7dfe6a6..f363acac411 100644 --- a/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/KotlinTemplateTest.java +++ b/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/KotlinTemplateTest.java @@ -72,7 +72,7 @@ void addStatementToMethodInClass() { .recipe(toRecipe(() -> new KotlinVisitor<>() { @Override public J visitMethodDeclaration(J.MethodDeclaration method, ExecutionContext ctx) { - J.MethodDeclaration m = (J.MethodDeclaration) super.visitMethodDeclaration(method, ctx); + var m = (J.MethodDeclaration) super.visitMethodDeclaration(method, ctx); if (m.getSimpleName().equals("configure")) { List statements = m.getBody().getStatements(); if (statements.stream().noneMatch(s -> s.toString().contains("println"))) { diff --git a/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/KotlinTypeMappingTest.java b/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/KotlinTypeMappingTest.java index 81f7fd45bbe..245c1987101 100644 --- a/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/KotlinTypeMappingTest.java +++ b/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/KotlinTypeMappingTest.java @@ -51,7 +51,7 @@ class KotlinTypeMappingTest { private static final K.ClassDeclaration goatClassDeclaration; static { - InMemoryExecutionContext ctx = new InMemoryExecutionContext(); + var ctx = new InMemoryExecutionContext(); ctx.putMessage(REQUIRE_PRINT_EQUALS_INPUT, false); cu = (K.CompilationUnit) KotlinParser.builder() .logCompilationWarningsAndErrors(true) @@ -370,8 +370,8 @@ void coneTypeProjection() { } """, spec -> spec.afterRecipe(cu -> { - MethodMatcher methodMatcher = new MethodMatcher("kotlin.collections.MutableList addAll(..)"); - AtomicBoolean found = new AtomicBoolean(false); + var methodMatcher = new MethodMatcher("kotlin.collections.MutableList addAll(..)"); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, AtomicBoolean found) { @@ -400,7 +400,7 @@ void coneFlexibleType() { abstract class Foo : OfField> """, spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.ClassDeclaration visitClassDeclaration(J.ClassDeclaration classDecl, AtomicBoolean found) { @@ -425,8 +425,8 @@ void genericIntersectionType() { val l = listOf ( "foo" to "1" , "bar" to 2 ) """, spec -> spec.afterRecipe(cu -> { - MethodMatcher methodMatcher = new MethodMatcher("kotlin.collections.CollectionsKt listOf(..)"); - AtomicBoolean found = new AtomicBoolean(false); + var methodMatcher = new MethodMatcher("kotlin.collections.CollectionsKt listOf(..)"); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, AtomicBoolean found) { @@ -453,7 +453,7 @@ void implicitInvoke() { val r = listOf("descriptor").block() """, spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { final MethodMatcher matcher = new MethodMatcher("kotlin.Function1 block(..)"); @@ -481,7 +481,7 @@ void coneProjection() { val s = map.orEmpty().entries.joinToString { (key, value) -> "$key: $value" } """, spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.FieldAccess visitFieldAccess(J.FieldAccess fieldAccess, AtomicBoolean found) { @@ -527,7 +527,7 @@ fun method() { } """, spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, AtomicBoolean atomicBoolean) { @@ -561,7 +561,7 @@ fun method() { } """, spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public K.When visitWhen(K.When when, AtomicBoolean found) { @@ -617,7 +617,7 @@ fun bar(a: Int, b: Int) { } } """.formatted(p1), spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.AssignmentOperation visitAssignmentOperation(J.AssignmentOperation assignOp, AtomicBoolean atomicBoolean) { @@ -679,8 +679,8 @@ fun m() { %s } """.formatted(invocation), spec -> spec.afterRecipe(cu -> { - MethodMatcher matcher = new MethodMatcher("*..* foo(..)"); - AtomicBoolean methodFound = new AtomicBoolean(false); + var matcher = new MethodMatcher("*..* foo(..)"); + var methodFound = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.MethodDeclaration visitMethodDeclaration(J.MethodDeclaration method, AtomicBoolean found) { @@ -755,7 +755,7 @@ fun get(): Int { } """, spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.FieldAccess visitFieldAccess(J.FieldAccess fieldAccess, Integer integer) { @@ -783,7 +783,7 @@ class Foo { } """, spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.ParameterizedType visitParameterizedType(J.ParameterizedType type, Integer integer) { @@ -848,7 +848,7 @@ fun foo() { } """, spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public K.DestructuringDeclaration visitDestructuringDeclaration(K.DestructuringDeclaration destructuringDeclaration, AtomicBoolean found) { @@ -1024,7 +1024,7 @@ interface D class KotlinTypeGoat where S : A, T : D, S : B, T : C """, spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public K.ClassDeclaration visitClassDeclaration(K.ClassDeclaration classDeclaration, AtomicBoolean atomicBoolean) { @@ -1098,7 +1098,7 @@ void typeParameters(String value) { rewriteRun( kotlin("%s".formatted(value), spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.Identifier visitIdentifier(J.Identifier identifier, Integer integer) { @@ -1126,7 +1126,7 @@ void quotedIdentifier() { kotlin( "val n = java.lang.Integer.`MAX_VALUE`", spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.Identifier visitIdentifier(J.Identifier identifier, Integer integer) { @@ -1151,7 +1151,7 @@ void unusedVar() { kotlin( "val unused: (Int, Int) -> Int = { _, y -> y }", spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.Identifier visitIdentifier(J.Identifier identifier, Integer integer) { @@ -1184,11 +1184,11 @@ class Test { } """, spec -> spec.afterRecipe(cu -> { - MethodMatcher getMatcher = new MethodMatcher("Test get(..)"); - AtomicBoolean foundGet = new AtomicBoolean(false); + var getMatcher = new MethodMatcher("Test get(..)"); + var foundGet = new AtomicBoolean(false); - MethodMatcher setMatcher = new MethodMatcher("Test set(..)"); - AtomicBoolean foundSet = new AtomicBoolean(false); + var setMatcher = new MethodMatcher("Test set(..)"); + var foundSet = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.MethodDeclaration visitMethodDeclaration(J.MethodDeclaration method, Integer integer) { @@ -1216,8 +1216,8 @@ void isStaticFlag() { kotlin( "val i = Integer.valueOf(1)", spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); - MethodMatcher matcher = new MethodMatcher("java.lang.Integer valueOf(..)"); + var found = new AtomicBoolean(false); + var matcher = new MethodMatcher("java.lang.Integer valueOf(..)"); new KotlinIsoVisitor() { @Override public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, Integer integer) { @@ -1245,7 +1245,7 @@ void escapedImport() { import `java`.`util`.`List` """, spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.Identifier visitIdentifier(J.Identifier identifier, Integer integer) { @@ -1281,7 +1281,7 @@ fun method ( ) { } """, spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.MemberReference visitMemberReference(J.MemberReference memberRef, Integer integer) { @@ -1308,7 +1308,7 @@ void annotationOnKotlinConeType(String input, String type) { kotlin( "%s".formatted(input), spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.Annotation visitAnnotation(J.Annotation annotation, Integer integer) { @@ -1331,7 +1331,7 @@ void methodTypeOnMethodInvocation() { kotlin( "val arr = listOf(1, 2, 3)", spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, Integer integer) { @@ -1357,8 +1357,8 @@ class Test { } """, spec -> spec.afterRecipe(cu -> { - AtomicBoolean isFieldTargetNull = new AtomicBoolean(false); - AtomicBoolean isStringBuilderTyped = new AtomicBoolean(false); + var isFieldTargetNull = new AtomicBoolean(false); + var isStringBuilderTyped = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.Identifier visitIdentifier(J.Identifier identifier, Integer integer) { @@ -1390,7 +1390,7 @@ void innerClasses() { fun foo(l: List>) {} """, spec -> spec.afterRecipe(cu -> { - AtomicInteger count = new AtomicInteger(0); + var count = new AtomicInteger(0); new KotlinIsoVisitor() { @Override public J.Identifier visitIdentifier(J.Identifier identifier, Integer integer) { @@ -1426,7 +1426,7 @@ void parameterizedParentClasses() { val m: MutableMap.MutableEntry? = null """, spec -> spec.afterRecipe(cu -> { - AtomicInteger count = new AtomicInteger(0); + var count = new AtomicInteger(0); new KotlinIsoVisitor() { @Override public J.Identifier visitIdentifier(J.Identifier identifier, Integer integer) { @@ -1464,7 +1464,7 @@ fun foo(a: Array) {} fun bar(b: Array) {} """, spec -> spec.afterRecipe(cu -> { - AtomicInteger count = new AtomicInteger(0); + var count = new AtomicInteger(0); new KotlinIsoVisitor() { @Override public J.Identifier visitIdentifier(J.Identifier identifier, Integer integer) { @@ -1493,7 +1493,7 @@ void returnTypeIsVoid() { abstract class Test : AutoCloseable """, spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.Identifier visitIdentifier(J.Identifier identifier, Integer integer) { @@ -1527,7 +1527,7 @@ enum class Test ( val arg: Code , ) { } """, spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.EnumValue visitEnumValue(J.EnumValue _enum, Integer integer) { @@ -1553,7 +1553,7 @@ void functionTypeOnParams() { fun foo() : suspend ( param : Int ) -> Unit = { } """, spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.Identifier visitIdentifier(J.Identifier identifier, Integer integer) { @@ -1579,7 +1579,7 @@ void methodDeclarationType() { val arr = arrayOf(1, 2, 3) """, spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, Integer integer) { @@ -1605,7 +1605,7 @@ void anonymousConstructor() { } """, spec -> spec.afterRecipe(cu -> { - AtomicInteger count = new AtomicInteger(0); + var count = new AtomicInteger(0); new KotlinIsoVisitor() { @Override public J.NewClass visitNewClass(J.NewClass newClass, Integer integer) { @@ -1636,7 +1636,7 @@ fun mRef(a: Any) {} } """, spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.MemberReference visitMemberReference(J.MemberReference memberRef, Integer integer) { @@ -1670,7 +1670,7 @@ class C val x = A.B.A.C() """, spec -> spec.afterRecipe(cu -> { - AtomicInteger count = new AtomicInteger(0); + var count = new AtomicInteger(0); new KotlinIsoVisitor() { @Override public J.FieldAccess visitFieldAccess(J.FieldAccess fieldAccess, Integer n) { @@ -1718,7 +1718,7 @@ class C kotlin( "val x = foo.bar.A.B.A.C()", spec -> spec.afterRecipe(cu -> { - AtomicInteger count = new AtomicInteger(0); + var count = new AtomicInteger(0); new KotlinIsoVisitor() { @Override @@ -1791,7 +1791,7 @@ class A kotlin( "val x = foo.bar.A()", spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.FieldAccess visitFieldAccess(J.FieldAccess fieldAccess, Integer n) { @@ -1822,7 +1822,7 @@ fun f() { } """, spec -> spec.afterRecipe(cu -> { - AtomicBoolean found = new AtomicBoolean(false); + var found = new AtomicBoolean(false); new KotlinIsoVisitor() { @Override public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, Integer integer) { diff --git a/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/tree/BinaryTest.java b/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/tree/BinaryTest.java index e7b36c23527..a9559a012fd 100644 --- a/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/tree/BinaryTest.java +++ b/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/tree/BinaryTest.java @@ -378,7 +378,7 @@ fun method ( ) { void deeplyNestedStringConcatenation() { // Test parsing deeply nested string concatenations (many + operations) // K1's FIR builder caused a StackOverflowError at this depth; K2 handles it successfully - StringBuilder sb = new StringBuilder(); + var sb = new StringBuilder(); sb.append("val s = "); for (int i = 0; i < 2000; i++) { sb.append("\"line").append(i).append("\\n\" + "); diff --git a/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/tree/KTSTest.java b/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/tree/KTSTest.java index 0124a3bfe53..51ee5c0f7b6 100644 --- a/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/tree/KTSTest.java +++ b/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/tree/KTSTest.java @@ -83,7 +83,7 @@ void dslSample() { } """, spec -> spec.afterRecipe(cu -> { - AtomicInteger count = new AtomicInteger(); + var count = new AtomicInteger(); new KotlinIsoVisitor() { @Override public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, AtomicInteger i) { diff --git a/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/tree/MemberReferenceTest.java b/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/tree/MemberReferenceTest.java index e83f3389055..c65b2135c62 100644 --- a/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/tree/MemberReferenceTest.java +++ b/rewrite-kotlin/src/test/java/org/openrewrite/kotlin/tree/MemberReferenceTest.java @@ -142,8 +142,8 @@ fun method ( s: List ) { ); } - @Issue("https://github.com/openrewrite/rewrite-kotlin/issues/386") @Disabled("K2 produces J.Unknown for unresolved callable references (::unresolved)") + @Issue("https://github.com/openrewrite/rewrite-kotlin/issues/386") @Test void firCallableReferenceAccess() { rewriteRun( diff --git a/rewrite-maven/src/test/java/org/openrewrite/maven/AddDependencyTest.java b/rewrite-maven/src/test/java/org/openrewrite/maven/AddDependencyTest.java index a84f331a036..ef9278af337 100644 --- a/rewrite-maven/src/test/java/org/openrewrite/maven/AddDependencyTest.java +++ b/rewrite-maven/src/test/java/org/openrewrite/maven/AddDependencyTest.java @@ -238,7 +238,7 @@ void onlyIfUsingCompileScope(String onlyIfUsing) { @Test void addDependencyWithClassifier() { - AddDependency addDep = new AddDependency("io.netty", "netty-tcnative-boringssl-static", "2.0.54.Final", null, + var addDep = new AddDependency("io.netty", "netty-tcnative-boringssl-static", "2.0.54.Final", null, "compile", true, "com.google.common.math.IntMath", null, "linux-x86_64", false, null, null); rewriteRun( spec -> spec.recipe(addDep), @@ -1117,7 +1117,7 @@ public class A { } @Test - void testScopedDependencyNotAddedWhenTypeOnlyInMainSources() { + void scopedDependencyNotAddedWhenTypeOnlyInMainSources() { rewriteRun( spec -> spec.recipe(addDependency( "com.fasterxml.jackson.core:jackson-core:2.12.0", @@ -1149,7 +1149,7 @@ public class A { } @Test - void testScopedDependencyAddedWhenTypeInTestSources() { + void scopedDependencyAddedWhenTypeInTestSources() { rewriteRun( spec -> spec.recipe(addDependency( "com.fasterxml.jackson.core:jackson-core:2.12.0", diff --git a/rewrite-maven/src/test/java/org/openrewrite/maven/AddManagedDependencyTest.java b/rewrite-maven/src/test/java/org/openrewrite/maven/AddManagedDependencyTest.java index 5c8584a0794..2fa9d254d70 100644 --- a/rewrite-maven/src/test/java/org/openrewrite/maven/AddManagedDependencyTest.java +++ b/rewrite-maven/src/test/java/org/openrewrite/maven/AddManagedDependencyTest.java @@ -125,7 +125,7 @@ void propertiesAsGAVCoordinates() { @Test void validation() { - AddManagedDependency recipe = new AddManagedDependency("org.apache.logging.log4j", "log4j-bom", "latest.release", "import", + var recipe = new AddManagedDependency("org.apache.logging.log4j", "log4j-bom", "latest.release", "import", "pom", null, null, null, "org.apache.logging:*", true); Validated validated = recipe.validate(); assertThat(validated).allMatch(Validated::isValid); @@ -133,7 +133,7 @@ void validation() { @Test void validationAllowsDashesInOnlyIfUsing() { - AddManagedDependency recipe = new AddManagedDependency("org.apache.logging.log4j", "log4j-bom", "latest.release", "import", + var recipe = new AddManagedDependency("org.apache.logging.log4j", "log4j-bom", "latest.release", "import", "pom", null, null, null, "something-with:dashes-is-ok*", true); Validated validated = recipe.validate(); assertThat(validated).allMatch(Validated::isValid); @@ -141,7 +141,7 @@ void validationAllowsDashesInOnlyIfUsing() { @Test void badCharactersInOnlyIfUsingAreInvalid() { - AddManagedDependency recipe = new AddManagedDependency("org.apache.logging.log4j", "log4j-bom", "latest.release", "import", + var recipe = new AddManagedDependency("org.apache.logging.log4j", "log4j-bom", "latest.release", "import", "pom", null, null, null, "spaced group:*", true); Validated validated = recipe.validate(); assertThat(validated.isValid()).isFalse(); diff --git a/rewrite-maven/src/test/java/org/openrewrite/maven/AddParentPomTest.java b/rewrite-maven/src/test/java/org/openrewrite/maven/AddParentPomTest.java index 3e8101225f4..bc09507982b 100644 --- a/rewrite-maven/src/test/java/org/openrewrite/maven/AddParentPomTest.java +++ b/rewrite-maven/src/test/java/org/openrewrite/maven/AddParentPomTest.java @@ -173,7 +173,7 @@ void addParentWithRelativePathEmptyValue() { @Test void multiModuleRelativePath() { - AddParentPom recipe = new AddParentPom("org.springframework.boot", "spring-boot-starter-parent", "1.5.12.RELEASE", "", null); + var recipe = new AddParentPom("org.springframework.boot", "spring-boot-starter-parent", "1.5.12.RELEASE", "", null); rewriteRun( spec -> spec.recipe(recipe), mavenProject("parent", diff --git a/rewrite-maven/src/test/java/org/openrewrite/maven/AssertionsTest.java b/rewrite-maven/src/test/java/org/openrewrite/maven/AssertionsTest.java index 4cd92ef9aa4..e7514fa6f4e 100644 --- a/rewrite-maven/src/test/java/org/openrewrite/maven/AssertionsTest.java +++ b/rewrite-maven/src/test/java/org/openrewrite/maven/AssertionsTest.java @@ -45,7 +45,7 @@ class AssertionsTest implements RewriteTest { void mavenSettingsPropagateToRecipeExecutionContext() { // When a separate recipeExecutionContext is used, Maven settings should // still be propagated from the parsing context customizations - AtomicInteger settingsChecked = new AtomicInteger(); + var settingsChecked = new AtomicInteger(); rewriteRun( spec -> spec .recipe(toRecipe(() -> new MavenIsoVisitor<>() { diff --git a/rewrite-maven/src/test/java/org/openrewrite/maven/ChangeDependencyGroupIdAndArtifactIdTest.java b/rewrite-maven/src/test/java/org/openrewrite/maven/ChangeDependencyGroupIdAndArtifactIdTest.java index a6290d9cbce..5abd19c4516 100644 --- a/rewrite-maven/src/test/java/org/openrewrite/maven/ChangeDependencyGroupIdAndArtifactIdTest.java +++ b/rewrite-maven/src/test/java/org/openrewrite/maven/ChangeDependencyGroupIdAndArtifactIdTest.java @@ -765,7 +765,7 @@ void changeProfileManagedDependencyGroupIdAndArtifactId() { @Issue("https://github.com/openrewrite/rewrite-java-dependencies/issues/55") @Test void requireNewGroupIdOrNewArtifactId() { - ChangeDependencyGroupIdAndArtifactId recipe = new ChangeDependencyGroupIdAndArtifactId("javax.activation", "javax.activation-api", null, null, null, null);; + var recipe = new ChangeDependencyGroupIdAndArtifactId("javax.activation", "javax.activation-api", null, null, null, null);; assertThat(recipe.validate().failures()).extracting(Validated.Invalid::getMessage) .contains("newGroupId OR newArtifactId must be different from before"); } @@ -773,7 +773,7 @@ void requireNewGroupIdOrNewArtifactId() { @Issue("https://github.com/openrewrite/rewrite-java-dependencies/issues/55") @Test void requireNewGroupIdOrNewArtifactIdToBeDifferentFromBefore() { - ChangeDependencyGroupIdAndArtifactId recipe = new ChangeDependencyGroupIdAndArtifactId("javax.activation", "javax.activation-api", "javax.activation", null, null, null); + var recipe = new ChangeDependencyGroupIdAndArtifactId("javax.activation", "javax.activation-api", "javax.activation", null, null, null); assertThat(recipe.validate().failures()).extracting(Validated.Invalid::getMessage) .contains("newGroupId OR newArtifactId must be different from before"); } diff --git a/rewrite-maven/src/test/java/org/openrewrite/maven/ChangeManagedDependencyGroupIdAndArtifactIdTest.java b/rewrite-maven/src/test/java/org/openrewrite/maven/ChangeManagedDependencyGroupIdAndArtifactIdTest.java index 83e696b9fab..07efe45ab81 100644 --- a/rewrite-maven/src/test/java/org/openrewrite/maven/ChangeManagedDependencyGroupIdAndArtifactIdTest.java +++ b/rewrite-maven/src/test/java/org/openrewrite/maven/ChangeManagedDependencyGroupIdAndArtifactIdTest.java @@ -79,7 +79,7 @@ void changeManagedDependencyGroupIdAndArtifactId() { @Issue("https://github.com/openrewrite/rewrite-java-dependencies/issues/55") @Test void requireNewGroupIdOrNewArtifactIdToBeDifferentFromBefore() { - ChangeManagedDependencyGroupIdAndArtifactId recipe = new ChangeManagedDependencyGroupIdAndArtifactId("javax.activation", "javax.activation-api", "javax.activation", "javax.activation-api", null); + var recipe = new ChangeManagedDependencyGroupIdAndArtifactId("javax.activation", "javax.activation-api", "javax.activation", "javax.activation-api", null); assertThat(recipe.validate().failures()).extracting(Validated.Invalid::getMessage) .contains("newGroupId OR newArtifactId must be different from before"); } diff --git a/rewrite-maven/src/test/java/org/openrewrite/maven/ChangeParentPomTest.java b/rewrite-maven/src/test/java/org/openrewrite/maven/ChangeParentPomTest.java index a346a36e9a5..dc5f0faacf0 100644 --- a/rewrite-maven/src/test/java/org/openrewrite/maven/ChangeParentPomTest.java +++ b/rewrite-maven/src/test/java/org/openrewrite/maven/ChangeParentPomTest.java @@ -352,7 +352,7 @@ void changeParentAddRelativePathNonEmptyValue() { @RepeatedTest(10) void multiModuleRelativePath() { - ChangeParentPom recipe = new ChangeParentPom( + var recipe = new ChangeParentPom( "org.springframework.boot", null, "spring-boot-starter-parent", @@ -478,7 +478,7 @@ void multiModuleRelativePath() { @RepeatedTest(10) void multiModuleRelativePathChangeChildren() { - ChangeParentPom recipe = new ChangeParentPom( + var recipe = new ChangeParentPom( "org.sample", "org.springframework.boot", "sample", @@ -587,7 +587,7 @@ void multiModuleRelativePathChangeChildren() { }) @ParameterizedTest void multiModuleChangeChildrenBasedOnRelativePath(String oldRelativePath, String newRelativePath, String oldRelativePathTag, String expectedNewRelativePathTag) { - ChangeParentPom recipe = new ChangeParentPom( + var recipe = new ChangeParentPom( "org.sample", "org.springframework.boot", "sample", "spring-boot-starter-parent", "2.5.0", @@ -672,7 +672,7 @@ void multiModuleChangeChildrenBasedOnRelativePath(String oldRelativePath, String }) @ParameterizedTest void multiModuleRelativePathNotMatching(String oldRelativePath, String oldRelativePathTag) { - ChangeParentPom recipe = new ChangeParentPom( + var recipe = new ChangeParentPom( "org.sample", "org.springframework.boot", "sample", "spring-boot-starter-parent", "2.5.0", @@ -1569,7 +1569,7 @@ void bringsDownRemovedManagedVersion() { @Issue("https://github.com/openrewrite/rewrite/issues/1753") @RepeatedTest(10) void multiModule() { - ChangeParentPom recipe = new ChangeParentPom("org.springframework.boot", + var recipe = new ChangeParentPom("org.springframework.boot", null, "spring-boot-starter-parent", null, @@ -2111,7 +2111,7 @@ void multiModuleDownstreamMavenResolutionResultUpdated() { // This test verifies that when the root pom's parent is upgraded, // the child modules' MavenResolutionResult markers are also updated // to reflect the new parent information - ChangeParentPom recipe = new ChangeParentPom( + var recipe = new ChangeParentPom( "org.springframework.boot", null, "spring-boot-starter-parent", @@ -2224,7 +2224,7 @@ void multiModuleChainOfParentPoms() { // - intermediate module has root pom as its parent // - leaf module has intermediate module as its parent // All modules should have their MavenResolutionResult markers updated - ChangeParentPom recipe = new ChangeParentPom( + var recipe = new ChangeParentPom( "org.springframework.boot", null, "spring-boot-starter-parent", diff --git a/rewrite-maven/src/test/java/org/openrewrite/maven/MavenParserTest.java b/rewrite-maven/src/test/java/org/openrewrite/maven/MavenParserTest.java index a9b28637d29..7bfdf232fce 100644 --- a/rewrite-maven/src/test/java/org/openrewrite/maven/MavenParserTest.java +++ b/rewrite-maven/src/test/java/org/openrewrite/maven/MavenParserTest.java @@ -987,7 +987,7 @@ void mirrorsAndAuth() throws Exception { // Exceptions in the console output are due to MavenPomDownloader attempting to access via https first before falling back to http var username = "admin"; var password = "password"; - try (MockWebServer mockRepo = new MockWebServer()) { + try (var mockRepo = new MockWebServer()) { // TLS server setup based on https://github.com/square/okhttp/blob/master/okhttp-tls/README.md String localhost = InetAddress.getByName("localhost").getCanonicalHostName(); HeldCertificate localhostCertificate = new HeldCertificate.Builder() @@ -1001,7 +1001,7 @@ void mirrorsAndAuth() throws Exception { mockRepo.setDispatcher(new Dispatcher() { @Override public MockResponse dispatch(RecordedRequest request) { - MockResponse resp = new MockResponse(); + var resp = new MockResponse(); if (!Objects.equals( request.getHeader("Authorization"), "Basic " + Base64.getEncoder().encodeToString((username + ":" + password).getBytes()))) { diff --git a/rewrite-maven/src/test/java/org/openrewrite/maven/UpgradeDependencyVersionTest.java b/rewrite-maven/src/test/java/org/openrewrite/maven/UpgradeDependencyVersionTest.java index a707586eb63..5fcdfc04f22 100644 --- a/rewrite-maven/src/test/java/org/openrewrite/maven/UpgradeDependencyVersionTest.java +++ b/rewrite-maven/src/test/java/org/openrewrite/maven/UpgradeDependencyVersionTest.java @@ -2812,7 +2812,7 @@ void shouldPreserveRevisionPropertyInDependencyVersion() { @Test void bomUpgradeSkipsSnapshotVersions() throws Exception { - try (MockWebServer mockRepo = new MockWebServer()) { + try (var mockRepo = new MockWebServer()) { mockRepo.setDispatcher(new Dispatcher() { @Override public MockResponse dispatch(RecordedRequest request) { diff --git a/rewrite-maven/src/test/java/org/openrewrite/maven/cleanup/NoSystemScopeDependenciesTest.java b/rewrite-maven/src/test/java/org/openrewrite/maven/cleanup/NoSystemScopeDependenciesTest.java index 54a4159c7ff..e5149e0ee81 100644 --- a/rewrite-maven/src/test/java/org/openrewrite/maven/cleanup/NoSystemScopeDependenciesTest.java +++ b/rewrite-maven/src/test/java/org/openrewrite/maven/cleanup/NoSystemScopeDependenciesTest.java @@ -16,16 +16,23 @@ package org.openrewrite.maven.cleanup; import org.junit.jupiter.api.Test; +import org.openrewrite.test.RecipeSpec; import org.openrewrite.test.RewriteTest; import static org.openrewrite.maven.Assertions.pomXml; class NoSystemScopeDependenciesTest implements RewriteTest { + + @Override + public void defaults(RecipeSpec spec) { + spec.recipe(new NoSystemScopeDependencies()); + } + + @Test void removesSystemScopeAndSystemPath() { rewriteRun( - spec -> spec.recipe(new NoSystemScopeDependencies()), pomXml( """ @@ -64,7 +71,6 @@ void removesSystemScopeAndSystemPath() { @Test void removesSystemScopeWithoutSystemPath() { rewriteRun( - spec -> spec.recipe(new NoSystemScopeDependencies()), pomXml( """ @@ -102,7 +108,6 @@ void removesSystemScopeWithoutSystemPath() { @Test void removesSystemScopeInDependencyManagement() { rewriteRun( - spec -> spec.recipe(new NoSystemScopeDependencies()), pomXml( """ @@ -145,7 +150,6 @@ void removesSystemScopeInDependencyManagement() { @Test void removesSystemScopeWhenVersionIsProperty() { rewriteRun( - spec -> spec.recipe(new NoSystemScopeDependencies()), pomXml( """ @@ -190,7 +194,6 @@ void removesSystemScopeWhenVersionIsProperty() { @Test void doesNotRemoveSystemScopeWhenNotInRepo() { rewriteRun( - spec -> spec.recipe(new NoSystemScopeDependencies()), pomXml( """ @@ -215,7 +218,6 @@ void doesNotRemoveSystemScopeWhenNotInRepo() { @Test void doesNotModifyNonSystemScope() { rewriteRun( - spec -> spec.recipe(new NoSystemScopeDependencies()), pomXml( """ @@ -239,7 +241,6 @@ void doesNotModifyNonSystemScope() { @Test void doesNotModifyDependencyWithoutScope() { rewriteRun( - spec -> spec.recipe(new NoSystemScopeDependencies()), pomXml( """ diff --git a/rewrite-maven/src/test/java/org/openrewrite/maven/internal/MavenPomDownloaderTest.java b/rewrite-maven/src/test/java/org/openrewrite/maven/internal/MavenPomDownloaderTest.java index ea5e0bcb9d5..5456eddd97b 100755 --- a/rewrite-maven/src/test/java/org/openrewrite/maven/internal/MavenPomDownloaderTest.java +++ b/rewrite-maven/src/test/java/org/openrewrite/maven/internal/MavenPomDownloaderTest.java @@ -65,7 +65,7 @@ class MavenPomDownloaderTest implements RewriteTest { @Test void ossSonatype() { - InMemoryExecutionContext ctx = new InMemoryExecutionContext(); + var ctx = new InMemoryExecutionContext(); MavenRepository ossSonatype = MavenRepository.builder() .id("oss") .uri("https://central.sonatype.com/repository/maven-snapshots/") @@ -88,8 +88,8 @@ void ossSonatype() { """) @ParameterizedTest void normalizeRepository(String originalUrl, String expectedUrl) throws Throwable { - MavenPomDownloader downloader = new MavenPomDownloader(new InMemoryExecutionContext()); - MavenRepository repository = new MavenRepository("id", originalUrl, null, null, null, null, null); + var downloader = new MavenPomDownloader(new InMemoryExecutionContext()); + var repository = new MavenRepository("id", originalUrl, null, null, null, null, null); MavenRepository normalized = downloader.normalizeRepository(repository); assertThat(normalized).isNotNull(); assertThat(normalized.getUri()).isEqualTo(expectedUrl); @@ -175,7 +175,7 @@ void listenerRecordsRepository() { repository.setKnownToExist(true); } - MavenRepository nonexistentRepo = new MavenRepository("repo", "http://internalartifactrepository.yourorg.com", null, null, true, null, null, null, null); + var nonexistentRepo = new MavenRepository("repo", "http://internalartifactrepository.yourorg.com", null, null, true, null, null, null, null); List attemptedUris = new ArrayList<>(); List discoveredRepositories = new ArrayList<>(); ctx.setResolutionListener(new ResolutionEventListener() { @@ -210,7 +210,7 @@ void onlyAccessRequiredRepositories() throws Exception { repository.setKnownToExist(true); } - MavenRepository nonExistentRepo = new MavenRepository("repo", "https://definitelydoesnotexist2.xyz/", null, null, false, null, null, null, null); + var nonExistentRepo = new MavenRepository("repo", "https://definitelydoesnotexist2.xyz/", null, null, false, null, null, null, null); List attemptedUris = new ArrayList<>(); ctx.setResolutionListener(new ResolutionEventListener() { @Override @@ -229,7 +229,7 @@ void listenerRecordsFailedRepositoryAccess() { var ctx = MavenExecutionContextView.view(new InMemoryExecutionContext()); // Avoid actually trying to reach a made-up URL String httpUrl = "http://%s.com".formatted(UUID.randomUUID()); - MavenRepository nonexistentRepo = new MavenRepository("repo", httpUrl, null, null, false, null, null, null, null); + var nonexistentRepo = new MavenRepository("repo", httpUrl, null, null, false, null, null, null, null); Map attemptedUris = new HashMap<>(); List discoveredRepositories = new ArrayList<>(); ctx.setResolutionListener(new ResolutionEventListener() { @@ -285,7 +285,7 @@ void mirrorsOverrideRepositoriesInPom() { Map pomsByPath = new HashMap<>(); pomsByPath.put(pomPath, pom); - MavenPomDownloader mpd = new MavenPomDownloader(pomsByPath, ctx); + var mpd = new MavenPomDownloader(pomsByPath, ctx); MavenRepository normalized = mpd.normalizeRepository( MavenRepository.builder().id("whatever").uri("${REPO_URL}").build(), ctx, @@ -323,10 +323,10 @@ void skipBlockedRepository(String url) { @Test void retryConnectException() throws Exception { var downloader = new MavenPomDownloader(emptyMap(), ctx); - try (MockWebServer server = new MockWebServer()) { + try (var server = new MockWebServer()) { server.enqueue(new MockResponse().setSocketPolicy(SocketPolicy.NO_RESPONSE)); server.enqueue(new MockResponse().setResponseCode(200).setBody("body")); - String body = new String(downloader.sendRequest(new HttpSender.Request(server.url("/test").url(), "request".getBytes(), HttpSender.Method.GET, Map.of(), null, null))); + var body = new String(downloader.sendRequest(new HttpSender.Request(server.url("/test").url(), "request".getBytes(), HttpSender.Method.GET, Map.of(), null, null))); assertThat(body).isEqualTo("body"); assertThat(server.getRequestCount()).isEqualTo(2); server.shutdown(); @@ -345,7 +345,7 @@ void normalizeRejectConnectException() { @Test void useHttpWhenHttpsFails() throws Exception { var downloader = new MavenPomDownloader(emptyMap(), ctx); - try (MockWebServer mockRepo = new MockWebServer()) { + try (var mockRepo = new MockWebServer()) { mockRepo.enqueue(new MockResponse().setResponseCode(200).setBody("body")); var httpRepo = MavenRepository.builder() .id("id") @@ -360,8 +360,8 @@ void useHttpWhenHttpsFails() throws Exception { @Test void dontFetchSnapshotsFromReleaseRepos() throws Exception { - try (MockWebServer snapshotRepo = new MockWebServer(); - MockWebServer releaseRepo = new MockWebServer()) { + try (var snapshotRepo = new MockWebServer(); + var releaseRepo = new MockWebServer()) { snapshotRepo.setDispatcher(new Dispatcher() { @Override public MockResponse dispatch(RecordedRequest request) { @@ -467,7 +467,7 @@ public MockResponse dispatch(RecordedRequest request) { @Test void datedSnapshotVersionIncludesSnapshotRepositories() throws Exception { - try (MockWebServer snapshotRepo = new MockWebServer()) { + try (var snapshotRepo = new MockWebServer()) { snapshotRepo.setDispatcher(new Dispatcher() { @Override public MockResponse dispatch(RecordedRequest request) { @@ -512,7 +512,7 @@ public MockResponse dispatch(RecordedRequest request) { @Issue("https://github.com/openrewrite/rewrite-maven-plugin/issues/862") @Test void fetchSnapshotWithCorrectClassifier() throws Exception { - try (MockWebServer snapshotServer = new MockWebServer()) { + try (var snapshotServer = new MockWebServer()) { snapshotServer.setDispatcher(new Dispatcher() { @Override public MockResponse dispatch(RecordedRequest request) { @@ -716,7 +716,6 @@ void downloadMetadataFromFileRepoWithNonAsciiPath(@TempDir Path repoPath) throws assertThat(rawMetaData.getVersioning().getVersions()).containsExactly("1.0.0", "2.0.0"); } - @ParameterizedTest @CsvSource({ // Already valid — idempotent "'file:///tmp/repo/', 'file:///tmp/repo/'", @@ -736,6 +735,7 @@ void downloadMetadataFromFileRepoWithNonAsciiPath(@TempDir Path repoPath) throws // Malformed Windows URI with non-ASCII "'file://C:\\Users\\müller\\.m2\\repository/', 'file:///C:/Users/m%C3%BCller/.m2/repository/'", }) + @ParameterizedTest void normalizeFileUri(String input, String expected) { String normalized = MavenPomDownloader.normalizeFileUri(input); assertThat(normalized).isEqualTo(expected); @@ -758,7 +758,7 @@ void deriveMetaDataFromHtmlBasedRepository() { @Issue("https://github.com/openrewrite/rewrite/issues/6739") @Test void deriveMetaDataFromHtmlWithTitleAttributes() throws Exception { - try (MockWebServer server = new MockWebServer()) { + try (var server = new MockWebServer()) { server.setDispatcher(new Dispatcher() { @Override public MockResponse dispatch(RecordedRequest request) { @@ -1050,9 +1050,9 @@ void shouldNotThrowExceptionForModulesInModulesWithRightProperty() { pomsByPath.put(testPomXml, pom2); String httpUrl = "http://%s.com".formatted(UUID.randomUUID()); - MavenRepository nonexistentRepo = new MavenRepository("repo", httpUrl, null, null, false, null, null, null, null); + var nonexistentRepo = new MavenRepository("repo", httpUrl, null, null, false, null, null, null, null); - MavenPomDownloader downloader = new MavenPomDownloader(pomsByPath, ctx); + var downloader = new MavenPomDownloader(pomsByPath, ctx); assertDoesNotThrow(() -> downloader.download(gav, Objects.requireNonNull(pom.getParent()).getRelativePath(), resolvedPom, singletonList(nonexistentRepo))); } @@ -1104,9 +1104,9 @@ void shouldThrowExceptionForModulesInModulesWithNoRightProperty() { pomsByPath.put(testPomXml, pom2); String httpUrl = "http://%s.com".formatted(UUID.randomUUID()); - MavenRepository nonexistentRepo = new MavenRepository("repo", httpUrl, null, null, false, null, null, null, null); + var nonexistentRepo = new MavenRepository("repo", httpUrl, null, null, false, null, null, null, null); - MavenPomDownloader downloader = new MavenPomDownloader(pomsByPath, ctx); + var downloader = new MavenPomDownloader(pomsByPath, ctx); assertThrows(IllegalArgumentException.class, () -> downloader.download(gav, Objects.requireNonNull(pom.getParent()).getRelativePath(), resolvedPom, singletonList(nonexistentRepo))); } @@ -1135,9 +1135,9 @@ void canResolveDifferentVersionOfProjectPom() { pomsByPath.put(pomPath, pom); String httpUrl = "http://%s.com".formatted(UUID.randomUUID()); - MavenRepository nonexistentRepo = new MavenRepository("repo", httpUrl, null, null, false, null, null, null, null); + var nonexistentRepo = new MavenRepository("repo", httpUrl, null, null, false, null, null, null, null); - MavenPomDownloader downloader = new MavenPomDownloader(pomsByPath, ctx); + var downloader = new MavenPomDownloader(pomsByPath, ctx); assertDoesNotThrow(() -> downloader.download(gav, Objects.requireNonNull(pom.getParent()).getRelativePath(), resolvedPom, singletonList(nonexistentRepo))); } @@ -1187,9 +1187,9 @@ void emptyRelativePathSkipsLocalParentLookup() { mavenCtx.setAddLocalRepository(false); String httpUrl = "http://%s.com".formatted(UUID.randomUUID()); - MavenRepository nonexistentRepo = new MavenRepository("repo", httpUrl, null, null, false, null, null, null, null); + var nonexistentRepo = new MavenRepository("repo", httpUrl, null, null, false, null, null, null, null); - MavenPomDownloader downloader = new MavenPomDownloader(pomsByPath, ctx); + var downloader = new MavenPomDownloader(pomsByPath, ctx); // With null relativePath (omitted ), step 3 resolves // ../pom.xml and finds the parent because the ${revision} placeholder @@ -1394,7 +1394,7 @@ void usesAuthenticationIfRepositoryHasCredentials() { mockRepo.setDispatcher(new Dispatcher() { @Override public MockResponse dispatch(RecordedRequest recordedRequest) { - MockResponse response = new MockResponse(); + var response = new MockResponse(); if (recordedRequest.getHeaders().get("Authorization") != null) { response.setResponseCode(200); if (!"HEAD".equalsIgnoreCase(recordedRequest.getMethod())) { @@ -1438,7 +1438,7 @@ void doesNotUseAuthenticationIfCredentialsCannotBeResolved() { mockRepo.setDispatcher(new Dispatcher() { @Override public MockResponse dispatch(RecordedRequest recordedRequest) { - MockResponse response = new MockResponse(); + var response = new MockResponse(); if (recordedRequest.getHeaders().get("Authorization") != null) { response.setResponseCode(401); } else if (recordedRequest.getMethod() == null || !"HEAD".equalsIgnoreCase(recordedRequest.getMethod())) { @@ -1596,7 +1596,7 @@ void resolveDependencies() throws Exception { """).toList().getFirst(); - InMemoryExecutionContext ctx = new InMemoryExecutionContext(); + var ctx = new InMemoryExecutionContext(); MavenResolutionResult resolutionResult = doc.getMarkers().findFirst(MavenResolutionResult.class).orElseThrow() .resolveDependencies(new MavenPomDownloader(emptyMap(), ctx, null, null), ctx); List deps = resolutionResult.getDependencies().get(Scope.Compile); @@ -1626,7 +1626,7 @@ void emptyClassifierPropertyInIntermediatePom() throws Exception { """).toList().getFirst(); - InMemoryExecutionContext ctx = new InMemoryExecutionContext(); + var ctx = new InMemoryExecutionContext(); MavenResolutionResult resolutionResult = doc.getMarkers().findFirst(MavenResolutionResult.class).orElseThrow() .resolveDependencies(new MavenPomDownloader(emptyMap(), ctx, null, null), ctx); List deps = resolutionResult.getDependencies().get(Scope.Compile); diff --git a/rewrite-maven/src/test/java/org/openrewrite/maven/tree/ResolvedPomTest.java b/rewrite-maven/src/test/java/org/openrewrite/maven/tree/ResolvedPomTest.java index 89edd3c19fc..eb0bf9e5d28 100644 --- a/rewrite-maven/src/test/java/org/openrewrite/maven/tree/ResolvedPomTest.java +++ b/rewrite-maven/src/test/java/org/openrewrite/maven/tree/ResolvedPomTest.java @@ -306,7 +306,7 @@ void resolveExecutionsFromDifferentParents() { assertThat(pluginManagement).hasSize(1); Plugin plugin = pluginManagement.getFirst(); assertThat(plugin).extracting(Plugin::getArtifactId).isEqualTo("maven-enforcer-plugin"); - ObjectMapper objectMapper = new ObjectMapper(); + var objectMapper = new ObjectMapper(); assertThat(plugin.getExecutions()) .hasSize(2) .containsExactlyInAnyOrder( diff --git a/rewrite-python/src/test/java/org/openrewrite/python/AddDependencyTest.java b/rewrite-python/src/test/java/org/openrewrite/python/AddDependencyTest.java index 7ccfa196117..166746d8517 100644 --- a/rewrite-python/src/test/java/org/openrewrite/python/AddDependencyTest.java +++ b/rewrite-python/src/test/java/org/openrewrite/python/AddDependencyTest.java @@ -70,7 +70,7 @@ void twoAddDependenciesInSequence(@TempDir Path tempDir) { ] """; - InMemoryExecutionContext ctx = new InMemoryExecutionContext(); + var ctx = new InMemoryExecutionContext(); rewriteRun( spec -> spec.executionContext(ctx).recipe(new CompositeRecipe(List.of( new AddDependency("flask", ">=2.0", null, null), @@ -343,7 +343,7 @@ void addDependencyWithBareVersion() { @Test void validateRequiresGroupName() { - AddDependency recipe = new AddDependency("pytest", null, "project.optional-dependencies", null); + var recipe = new AddDependency("pytest", null, "project.optional-dependencies", null); assertThat(recipe.validate().isValid()).isFalse(); } } diff --git a/rewrite-test/src/test/java/org/openrewrite/test/internal/RewriteTestTest.java b/rewrite-test/src/test/java/org/openrewrite/test/internal/RewriteTestTest.java index eb3ae7609de..6166b63aac2 100644 --- a/rewrite-test/src/test/java/org/openrewrite/test/internal/RewriteTestTest.java +++ b/rewrite-test/src/test/java/org/openrewrite/test/internal/RewriteTestTest.java @@ -410,16 +410,16 @@ public Collection generate(AtomicBoolean acc, ExecutionCon } } -@Value @EqualsAndHashCode(callSuper = false) +@Value class RecipeWithNoOptions extends Recipe { String displayName = "Recipe with no options"; String description = "Has no configurable options at all."; } -@Value -@NullMarked @EqualsAndHashCode(callSuper = false) +@NullMarked +@Value class RecipeWithRequiredOptionValidateNoBlank extends Recipe { String displayName = "Recipe with required option"; String description = "Has a single required parameter."; @@ -435,9 +435,9 @@ public Validated validate() { } } -@Value -@NullMarked @EqualsAndHashCode(callSuper = false) +@NullMarked +@Value class RecipeWithOptionalOrValidation extends Recipe { String displayName = "Recipe with optional OR validation"; String description = "Has two optional parameters where at least one must be set."; diff --git a/rewrite-xml/src/test/java/org/openrewrite/xml/internal/rpc/XmlSendReceiveTest.java b/rewrite-xml/src/test/java/org/openrewrite/xml/internal/rpc/XmlSendReceiveTest.java index 5e934acf593..c3ede1a14f7 100644 --- a/rewrite-xml/src/test/java/org/openrewrite/xml/internal/rpc/XmlSendReceiveTest.java +++ b/rewrite-xml/src/test/java/org/openrewrite/xml/internal/rpc/XmlSendReceiveTest.java @@ -47,15 +47,15 @@ class XmlSendReceiveTest implements RewriteTest { @BeforeEach void before() throws IOException { - PipedOutputStream serverOut = new PipedOutputStream(); - PipedOutputStream clientOut = new PipedOutputStream(); - PipedInputStream serverIn = new PipedInputStream(clientOut); - PipedInputStream clientIn = new PipedInputStream(serverOut); + var serverOut = new PipedOutputStream(); + var clientOut = new PipedOutputStream(); + var serverIn = new PipedInputStream(clientOut); + var clientIn = new PipedInputStream(serverOut); Environment env = Environment.builder().build(); - JsonMessageFormatter serverFormatter = new JsonMessageFormatter(new ParameterNamesModule()); - JsonMessageFormatter clientFormatter = new JsonMessageFormatter(new ParameterNamesModule()); + var serverFormatter = new JsonMessageFormatter(new ParameterNamesModule()); + var clientFormatter = new JsonMessageFormatter(new ParameterNamesModule()); server = new RewriteRpc(new JsonRpc(new TraceMessageHandler("server", new HeaderDelimitedMessageHandler(serverFormatter, serverIn, serverOut))), env.toMarketplace(runtimeClasspath())) .batchSize(1); diff --git a/rewrite-yaml/src/test/java/org/openrewrite/yaml/CreateYamlFileTest.java b/rewrite-yaml/src/test/java/org/openrewrite/yaml/CreateYamlFileTest.java index f69d2b6eb89..2827272419d 100644 --- a/rewrite-yaml/src/test/java/org/openrewrite/yaml/CreateYamlFileTest.java +++ b/rewrite-yaml/src/test/java/org/openrewrite/yaml/CreateYamlFileTest.java @@ -144,8 +144,8 @@ void shouldDownloadFileContents() { bar: z: y """; - InMemoryExecutionContext ctx = new InMemoryExecutionContext(e -> e.printStackTrace()); - MockHttpSender httpSender = new MockHttpSender(() -> + var ctx = new InMemoryExecutionContext(e -> e.printStackTrace()); + var httpSender = new MockHttpSender(() -> new ByteArrayInputStream(yamlContent.getBytes())); HttpSenderExecutionContextView.view(ctx) .setHttpSender(httpSender) diff --git a/rewrite-yaml/src/test/java/org/openrewrite/yaml/MergeYamlTest.java b/rewrite-yaml/src/test/java/org/openrewrite/yaml/MergeYamlTest.java index c8d2f9e7d09..2c8b05cf94a 100644 --- a/rewrite-yaml/src/test/java/org/openrewrite/yaml/MergeYamlTest.java +++ b/rewrite-yaml/src/test/java/org/openrewrite/yaml/MergeYamlTest.java @@ -3060,7 +3060,7 @@ void preventKeysToBeAppendedToPreviousCommentIfManyLineBreaks() { @Test void invalidYaml() { - MergeYaml recipe = new MergeYaml( + var recipe = new MergeYaml( "$.some.object", //language=text """ @@ -3144,7 +3144,7 @@ void createNewKeysFalse() { @SuppressWarnings("DataFlowIssue") @Test void sourceNull() { - MergeYaml recipe = new MergeYaml( + var recipe = new MergeYaml( "$.some.object", null, false, diff --git a/rewrite-yaml/src/test/java/org/openrewrite/yaml/tree/DirectiveTest.java b/rewrite-yaml/src/test/java/org/openrewrite/yaml/tree/DirectiveTest.java index cb3254fc006..bc65f51140d 100644 --- a/rewrite-yaml/src/test/java/org/openrewrite/yaml/tree/DirectiveTest.java +++ b/rewrite-yaml/src/test/java/org/openrewrite/yaml/tree/DirectiveTest.java @@ -139,7 +139,7 @@ void documentWithoutDirectives() { @Test void directiveCopyPaste() { // given - Yaml.Directive original = new Yaml.Directive( + var original = new Yaml.Directive( UUID.randomUUID(), "", Markers.EMPTY, @@ -169,16 +169,16 @@ public Yaml visitDirective(Yaml.Directive directive, Integer p) { } }; - Yaml.Directive directive = new Yaml.Directive( + var directive = new Yaml.Directive( UUID.randomUUID(), "", Markers.EMPTY, "YAML 1.2", "\n" ); - Yaml.Document.End end = new Yaml.Document.End(UUID.randomUUID(), "", Markers.EMPTY, false); - Yaml.Mapping block = new Yaml.Mapping(UUID.randomUUID(), Markers.EMPTY, null, emptyList(), null, null, null); - Yaml.Document document = new Yaml.Document( + var end = new Yaml.Document.End(UUID.randomUUID(), "", Markers.EMPTY, false); + var block = new Yaml.Mapping(UUID.randomUUID(), Markers.EMPTY, null, emptyList(), null, null, null); + var document = new Yaml.Document( UUID.randomUUID(), "", Markers.EMPTY, From df28d83de546a4c62be94e41127aeb629df9c96d Mon Sep 17 00:00:00 2001 From: Tim te Beek Date: Mon, 23 Mar 2026 20:45:36 +0100 Subject: [PATCH 2/2] Fix RenameVariableTest: wrap .toList() in ArrayList for mutability The prior commit replaced .collect(toList()) with .toList(), but the resulting immutable list is later mutated via addAll(), causing UnsupportedOperationException in all 19 RenameVariableTest cases. --- .../test/java/org/openrewrite/java/RenameVariableTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rewrite-java-test/src/test/java/org/openrewrite/java/RenameVariableTest.java b/rewrite-java-test/src/test/java/org/openrewrite/java/RenameVariableTest.java index e35b8d6b2f7..c10869c0548 100644 --- a/rewrite-java-test/src/test/java/org/openrewrite/java/RenameVariableTest.java +++ b/rewrite-java-test/src/test/java/org/openrewrite/java/RenameVariableTest.java @@ -80,10 +80,10 @@ private static Recipe renameVariableTest(String hasName, String toName, boolean @Override public J visitClassDeclaration(J.ClassDeclaration classDecl, ExecutionContext ctx) { if ("A".equals(classDecl.getSimpleName())) { - List variableDecls = classDecl.getBody().getStatements().stream() + List variableDecls = new ArrayList<>(classDecl.getBody().getStatements().stream() .filter(J.VariableDeclarations.class::isInstance) .map(J.VariableDeclarations.class::cast) - .toList(); + .toList()); if (includeMethodParameters) { variableDecls.addAll(