From 1fea8d43b0bd76c95fd23af84d9ee6370b55dc96 Mon Sep 17 00:00:00 2001 From: Vincent Potucek Date: Thu, 2 Oct 2025 14:22:24 +0200 Subject: [PATCH] [openrewrite] `migrate.util.JavaUtilAPIs` --- lib/src/main/java/com/diffplug/spotless/PaddedCell.java | 6 +++--- .../main/java/com/diffplug/spotless/biome/BiomeStep.java | 4 ++-- .../com/diffplug/spotless/npm/EslintFormatterStep.java | 3 +-- .../main/java/com/diffplug/spotless/npm/JsonWriter.java | 5 ++--- .../diffplug/spotless/npm/NpmFormatterStepStateBase.java | 3 +-- .../com/diffplug/spotless/npm/PrettierFormatterStep.java | 3 +-- .../java/com/diffplug/spotless/scala/ScalaFmtStep.java | 3 ++- .../com/diffplug/spotless/npm/NodeServerLayoutTest.java | 4 ++-- .../diffplug/gradle/spotless/AJacksonGradleConfig.java | 4 ++-- .../com/diffplug/gradle/spotless/JavascriptExtension.java | 3 +-- .../java/com/diffplug/gradle/spotless/JsonExtension.java | 3 +-- .../com/diffplug/gradle/spotless/TypescriptExtension.java | 2 +- .../java/com/diffplug/gradle/spotless/YamlExtension.java | 6 +++--- .../java/com/diffplug/gradle/spotless/FormatTaskTest.java | 8 ++++---- .../maven/npm/AbstractNpmFormatterStepFactory.java | 4 ++-- .../diffplug/spotless/maven/MavenIntegrationHarness.java | 3 +-- .../diffplug/spotless/maven/MultiModuleProjectTest.java | 3 +-- rewrite.yml | 4 ++++ 18 files changed, 34 insertions(+), 37 deletions(-) diff --git a/lib/src/main/java/com/diffplug/spotless/PaddedCell.java b/lib/src/main/java/com/diffplug/spotless/PaddedCell.java index 5ec7ef1cad..18fb44acbb 100644 --- a/lib/src/main/java/com/diffplug/spotless/PaddedCell.java +++ b/lib/src/main/java/com/diffplug/spotless/PaddedCell.java @@ -1,5 +1,5 @@ /* - * Copyright 2016-2024 DiffPlug + * Copyright 2016-2025 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -105,12 +105,12 @@ private static PaddedCell check(Formatter formatter, File file, String original, } String appliedOnce = formatter.computeWithLint(original, file, exceptionPerStep); if (appliedOnce.equals(original)) { - return Type.CONVERGE.create(file, Collections.singletonList(appliedOnce)); + return Type.CONVERGE.create(file, List.of(appliedOnce)); } String appliedTwice = formatter.computeWithLint(appliedOnce, file, exceptionPerStep); if (appliedOnce.equals(appliedTwice)) { - return Type.CONVERGE.create(file, Collections.singletonList(appliedOnce)); + return Type.CONVERGE.create(file, List.of(appliedOnce)); } List appliedN = new ArrayList<>(); diff --git a/lib/src/main/java/com/diffplug/spotless/biome/BiomeStep.java b/lib/src/main/java/com/diffplug/spotless/biome/BiomeStep.java index 5d6134101a..66b69112d5 100644 --- a/lib/src/main/java/com/diffplug/spotless/biome/BiomeStep.java +++ b/lib/src/main/java/com/diffplug/spotless/biome/BiomeStep.java @@ -24,8 +24,8 @@ import java.nio.file.Path; import java.nio.file.attribute.PosixFilePermission; import java.util.ArrayList; -import java.util.Collections; import java.util.HashSet; +import java.util.Set; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -299,7 +299,7 @@ private State createState() throws IOException, InterruptedException { validateBiomeExecutable(resolvedPathToExe); validateBiomeConfigPath(configPath, version); logger.debug("Using Biome executable located at '{}'", resolvedPathToExe); - var exeSignature = FileSignature.signAsList(Collections.singleton(new File(resolvedPathToExe))); + var exeSignature = FileSignature.signAsList(Set.of(new File(resolvedPathToExe))); makeExecutable(resolvedPathToExe); return new State(resolvedPathToExe, exeSignature, configPath, language); } diff --git a/lib/src/main/java/com/diffplug/spotless/npm/EslintFormatterStep.java b/lib/src/main/java/com/diffplug/spotless/npm/EslintFormatterStep.java index b2a30a5278..04c07e793f 100644 --- a/lib/src/main/java/com/diffplug/spotless/npm/EslintFormatterStep.java +++ b/lib/src/main/java/com/diffplug/spotless/npm/EslintFormatterStep.java @@ -20,7 +20,6 @@ import java.io.File; import java.io.IOException; import java.io.Serializable; -import java.util.Collections; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; @@ -65,7 +64,7 @@ public static Map defaultDevDependencies() { } public static Map defaultDevDependenciesWithEslint(String version) { - return Collections.singletonMap("eslint", version); + return Map.of("eslint", version); } public static FormatterStep create(Map devDependencies, Provisioner provisioner, File projectDir, File buildDir, File cacheDir, NpmPathResolver npmPathResolver, EslintConfig eslintConfig) { diff --git a/lib/src/main/java/com/diffplug/spotless/npm/JsonWriter.java b/lib/src/main/java/com/diffplug/spotless/npm/JsonWriter.java index bbdf9b63d4..ef8419b205 100644 --- a/lib/src/main/java/com/diffplug/spotless/npm/JsonWriter.java +++ b/lib/src/main/java/com/diffplug/spotless/npm/JsonWriter.java @@ -1,5 +1,5 @@ /* - * Copyright 2016-2023 DiffPlug + * Copyright 2016-2025 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,7 +21,6 @@ import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; -import java.util.Collections; import java.util.LinkedHashMap; import java.util.Map; import java.util.stream.Collectors; @@ -45,7 +44,7 @@ JsonWriter putAll(Map values) { } JsonWriter put(String name, Object value) { - verifyValues(Collections.singletonMap(name, value)); + verifyValues(Map.of(name, value)); this.valueMap.put(name, value); return this; } diff --git a/lib/src/main/java/com/diffplug/spotless/npm/NpmFormatterStepStateBase.java b/lib/src/main/java/com/diffplug/spotless/npm/NpmFormatterStepStateBase.java index 4571db9ea6..dcd79d1ee0 100644 --- a/lib/src/main/java/com/diffplug/spotless/npm/NpmFormatterStepStateBase.java +++ b/lib/src/main/java/com/diffplug/spotless/npm/NpmFormatterStepStateBase.java @@ -22,7 +22,6 @@ import java.io.Serial; import java.io.Serializable; import java.time.Duration; -import java.util.Collections; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; @@ -164,7 +163,7 @@ protected static String replaceDevDependencies(String template, Map replacements) { diff --git a/lib/src/main/java/com/diffplug/spotless/npm/PrettierFormatterStep.java b/lib/src/main/java/com/diffplug/spotless/npm/PrettierFormatterStep.java index 629cd21983..34f8b92857 100644 --- a/lib/src/main/java/com/diffplug/spotless/npm/PrettierFormatterStep.java +++ b/lib/src/main/java/com/diffplug/spotless/npm/PrettierFormatterStep.java @@ -20,7 +20,6 @@ import java.io.File; import java.io.IOException; import java.io.Serializable; -import java.util.Collections; import java.util.Map; import java.util.TreeMap; @@ -48,7 +47,7 @@ public static Map defaultDevDependencies() { } public static Map defaultDevDependenciesWithPrettier(String version) { - return Collections.singletonMap("prettier", version); + return Map.of("prettier", version); } public static FormatterStep create(Map devDependencies, Provisioner provisioner, File projectDir, File buildDir, File cacheDir, NpmPathResolver npmPathResolver, PrettierConfig prettierConfig) { diff --git a/lib/src/main/java/com/diffplug/spotless/scala/ScalaFmtStep.java b/lib/src/main/java/com/diffplug/spotless/scala/ScalaFmtStep.java index 30319a117b..e0bfa77189 100644 --- a/lib/src/main/java/com/diffplug/spotless/scala/ScalaFmtStep.java +++ b/lib/src/main/java/com/diffplug/spotless/scala/ScalaFmtStep.java @@ -21,6 +21,7 @@ import java.io.Serializable; import java.lang.reflect.Constructor; import java.util.Collections; +import java.util.Set; import javax.annotation.Nullable; @@ -87,7 +88,7 @@ private static final class State implements Serializable { State(JarState jarState, @Nullable File configFile) throws IOException { this.jarState = jarState; - this.configSignature = FileSignature.signAsList(configFile == null ? Collections.emptySet() : Collections.singleton(configFile)); + this.configSignature = FileSignature.signAsList(configFile == null ? Collections.emptySet() : Set.of(configFile)); } FormatterFunc createFormat() throws Exception { diff --git a/lib/src/test/java/com/diffplug/spotless/npm/NodeServerLayoutTest.java b/lib/src/test/java/com/diffplug/spotless/npm/NodeServerLayoutTest.java index ccb5e51caa..229435eb21 100644 --- a/lib/src/test/java/com/diffplug/spotless/npm/NodeServerLayoutTest.java +++ b/lib/src/test/java/com/diffplug/spotless/npm/NodeServerLayoutTest.java @@ -42,8 +42,8 @@ void itCalculatesSameNodeModulesDirForSameContent() throws IOException { @Test void itCalculatesDifferentNodeModulesDirForDifferentPackageJson() throws IOException { File testDir = newFolder("build"); - String packageJsonContent1 = prettierPackageJson(Collections.singletonMap("prettier-plugin-xy", "^2.0.0")); - String packageJsonContent2 = prettierPackageJson(Collections.singletonMap("prettier-plugin-xy", "^2.1.0")); + String packageJsonContent1 = prettierPackageJson(Map.of("prettier-plugin-xy", "^2.0.0")); + String packageJsonContent2 = prettierPackageJson(Map.of("prettier-plugin-xy", "^2.1.0")); String serveJsContent = "fun main() { console.log('Hello, world!'); }"; NodeServerLayout layout1 = new NodeServerLayout(testDir, packageJsonContent1, serveJsContent); diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/AJacksonGradleConfig.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/AJacksonGradleConfig.java index e0b789efa3..89df049715 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/AJacksonGradleConfig.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/AJacksonGradleConfig.java @@ -15,7 +15,7 @@ */ package com.diffplug.gradle.spotless; -import java.util.Collections; +import java.util.Map; import com.diffplug.spotless.FormatterStep; import com.diffplug.spotless.json.JacksonConfig; @@ -36,7 +36,7 @@ protected AJacksonGradleConfig(JacksonConfig jacksonConfig, FormatExtension form } public T feature(String feature, boolean toggle) { - this.jacksonConfig.appendFeatureToToggle(Collections.singletonMap(feature, toggle)); + this.jacksonConfig.appendFeatureToToggle(Map.of(feature, toggle)); formatExtension.replaceStep(createStep()); return self(); } diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/JavascriptExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/JavascriptExtension.java index 399d8f718c..972c60155e 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/JavascriptExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/JavascriptExtension.java @@ -18,7 +18,6 @@ import static java.util.Objects.requireNonNull; import java.util.Arrays; -import java.util.Collections; import java.util.LinkedHashMap; import java.util.Map; import java.util.function.Consumer; @@ -200,7 +199,7 @@ protected FormatterStep createStep() { private void fixParserToJavascript() { if (this.prettierConfig == null) { - this.prettierConfig = Collections.singletonMap("parser", DEFAULT_PRETTIER_JS_PARSER); + this.prettierConfig = Map.of("parser", DEFAULT_PRETTIER_JS_PARSER); } else { final Object currentParser = this.prettierConfig.get("parser"); if (PRETTIER_JS_PARSERS.contains(String.valueOf(currentParser))) { diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/JsonExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/JsonExtension.java index 8fc00c65af..0432614091 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/JsonExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/JsonExtension.java @@ -15,7 +15,6 @@ */ package com.diffplug.gradle.spotless; -import java.util.Collections; import java.util.List; import java.util.Map; @@ -165,7 +164,7 @@ public JacksonJsonGradleConfig(FormatExtension formatExtension) { * Refers to com.fasterxml.jackson.core.JsonGenerator.Feature */ public JacksonJsonGradleConfig jsonFeature(String feature, boolean toggle) { - this.jacksonConfig.appendJsonFeatureToToggle(Collections.singletonMap(feature, toggle)); + this.jacksonConfig.appendJsonFeatureToToggle(Map.of(feature, toggle)); formatExtension.replaceStep(createStep()); return this; } diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/TypescriptExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/TypescriptExtension.java index b2b7826570..0d5838c24a 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/TypescriptExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/TypescriptExtension.java @@ -169,7 +169,7 @@ protected FormatterStep createStep() { private void fixParserToTypescript() { if (this.prettierConfig == null) { - this.prettierConfig = new TreeMap<>(Collections.singletonMap("parser", "typescript")); + this.prettierConfig = new TreeMap<>(Map.of("parser", "typescript")); } else { final Object replaced = this.prettierConfig.put("parser", "typescript"); if (replaced != null) { diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/YamlExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/YamlExtension.java index c0872e8fb9..9551538654 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/YamlExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/YamlExtension.java @@ -1,5 +1,5 @@ /* - * Copyright 2016-2023 DiffPlug + * Copyright 2016-2025 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,7 +15,7 @@ */ package com.diffplug.gradle.spotless; -import java.util.Collections; +import java.util.Map; import javax.inject.Inject; @@ -62,7 +62,7 @@ public JacksonYamlGradleConfig(FormatExtension formatExtension) { * Refers to com.fasterxml.jackson.dataformat.yaml.YAMLGenerator.Feature */ public JacksonYamlGradleConfig yamlFeature(String feature, boolean toggle) { - this.jacksonConfig.appendYamlFeatureToToggle(Collections.singletonMap(feature, toggle)); + this.jacksonConfig.appendYamlFeatureToToggle(Map.of(feature, toggle)); formatExtension.replaceStep(createStep()); return this; } diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/FormatTaskTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/FormatTaskTest.java index 0d10cf54e3..6358b298fd 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/FormatTaskTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/FormatTaskTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016-2024 DiffPlug + * Copyright 2016-2025 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,8 +16,8 @@ package com.diffplug.gradle.spotless; import java.io.File; -import java.util.Collections; import java.util.List; +import java.util.Set; import org.gradle.api.Project; import org.gradle.api.services.BuildServiceParameters; @@ -50,7 +50,7 @@ void testLineEndings() throws Exception { File testFile = setFile("testFile").toContent("\r\n"); File outputFile = new File(spotlessTask.getCleanDirectory(), "testFile"); - spotlessTask.setTarget(Collections.singleton(testFile)); + spotlessTask.setTarget(Set.of(testFile)); Tasks.execute(spotlessTask); assertFile(outputFile).hasContent("\n"); @@ -60,7 +60,7 @@ void testLineEndings() throws Exception { void testStep() throws Exception { File testFile = setFile("testFile").toContent("apple"); File outputFile = new File(spotlessTask.getCleanDirectory(), "testFile"); - spotlessTask.setTarget(Collections.singleton(testFile)); + spotlessTask.setTarget(Set.of(testFile)); spotlessTask.setSteps(List.of(ReplaceStep.create("double-p", "pp", "p"))); Tasks.execute(spotlessTask); diff --git a/plugin-maven/src/main/java/com/diffplug/spotless/maven/npm/AbstractNpmFormatterStepFactory.java b/plugin-maven/src/main/java/com/diffplug/spotless/maven/npm/AbstractNpmFormatterStepFactory.java index 03dd87e898..8a9c3990c9 100644 --- a/plugin-maven/src/main/java/com/diffplug/spotless/maven/npm/AbstractNpmFormatterStepFactory.java +++ b/plugin-maven/src/main/java/com/diffplug/spotless/maven/npm/AbstractNpmFormatterStepFactory.java @@ -19,7 +19,7 @@ import java.nio.file.Path; import java.util.AbstractMap; import java.util.Arrays; -import java.util.Collections; +import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Objects; @@ -79,7 +79,7 @@ protected File baseDir(FormatterStepConfig stepConfig) { } protected NpmPathResolver npmPathResolver(FormatterStepConfig stepConfig) { - return new NpmPathResolver(npm(stepConfig), node(stepConfig), npmrc(stepConfig), Collections.singletonList(baseDir(stepConfig))); + return new NpmPathResolver(npm(stepConfig), node(stepConfig), npmrc(stepConfig), List.of(baseDir(stepConfig))); } protected boolean moreThanOneNonNull(Object... objects) { diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenIntegrationHarness.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenIntegrationHarness.java index 3065840b83..5e3eb0f46b 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenIntegrationHarness.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/MavenIntegrationHarness.java @@ -17,7 +17,6 @@ import static com.diffplug.common.base.Strings.isNullOrEmpty; import static java.util.Arrays.stream; -import static java.util.Collections.singletonMap; import static java.util.stream.Collectors.toList; import static org.junit.jupiter.api.Assertions.fail; @@ -298,7 +297,7 @@ protected static Map buildPomXmlParams(String pluginVersion, Str } if (modules != null) { - List> moduleNames = stream(modules).map(name -> singletonMap(MODULE_NAME, name)).collect(toList()); + List> moduleNames = stream(modules).map(name -> Map.of(MODULE_NAME, name)).collect(toList()); params.put(MODULES, moduleNames); } diff --git a/plugin-maven/src/test/java/com/diffplug/spotless/maven/MultiModuleProjectTest.java b/plugin-maven/src/test/java/com/diffplug/spotless/maven/MultiModuleProjectTest.java index 108f9b1fe7..2182b3e246 100644 --- a/plugin-maven/src/test/java/com/diffplug/spotless/maven/MultiModuleProjectTest.java +++ b/plugin-maven/src/test/java/com/diffplug/spotless/maven/MultiModuleProjectTest.java @@ -17,7 +17,6 @@ import static java.util.Arrays.asList; import static java.util.Collections.emptyMap; -import static java.util.Collections.singletonMap; import java.io.IOException; import java.util.ArrayList; @@ -163,7 +162,7 @@ private void createSubProjects() throws IOException { String subProjectName = entry.getKey(); List subProjectFiles = entry.getValue(); - String content = createPomXmlContent("/multi-module/pom-child.xml.mustache", singletonMap(CHILD_ID, subProjectName)); + String content = createPomXmlContent("/multi-module/pom-child.xml.mustache", Map.of(CHILD_ID, subProjectName)); setFile(subProjectName + "/pom.xml").toContent(content); createSubProjectFiles(subProjectName, subProjectFiles); diff --git a/rewrite.yml b/rewrite.yml index 8518825481..f313847200 100644 --- a/rewrite.yml +++ b/rewrite.yml @@ -17,6 +17,10 @@ recipeList: - org.openrewrite.java.format.NormalizeLineBreaks - org.openrewrite.java.format.RemoveTrailingWhitespace - org.openrewrite.java.migrate.UpgradeToJava17 + - org.openrewrite.java.migrate.util.JavaUtilAPIs + - org.openrewrite.java.migrate.util.MigrateInflaterDeflaterToClose + - org.openrewrite.java.migrate.util.ReplaceStreamCollectWithToList + - org.openrewrite.java.migrate.util.SequencedCollection - org.openrewrite.java.recipes.JavaRecipeBestPractices - org.openrewrite.java.recipes.RecipeTestingBestPractices - org.openrewrite.java.security.JavaSecurityBestPractices