From 33764c3428d81befc56e3c9dad40ea2754fa69b0 Mon Sep 17 00:00:00 2001 From: Mark Chesney Date: Sun, 19 May 2024 13:06:27 -0700 Subject: [PATCH 1/5] Update sortpom to 4.0.0 --- lib/build.gradle | 2 +- lib/src/main/java/com/diffplug/spotless/pom/SortPomCfg.java | 4 +++- .../com/diffplug/spotless/glue/pom/SortPomFormatterFunc.java | 2 +- plugin-gradle/README.md | 3 ++- .../main/java/com/diffplug/gradle/spotless/PomExtension.java | 5 +++++ .../java/com/diffplug/gradle/spotless/SortPomGradleTest.java | 3 ++- plugin-maven/README.md | 2 ++ .../main/java/com/diffplug/spotless/maven/pom/SortPom.java | 4 ++++ .../src/test/java/com/diffplug/spotless/pom/SortPomTest.java | 2 +- 9 files changed, 21 insertions(+), 6 deletions(-) diff --git a/lib/build.gradle b/lib/build.gradle index 9a1e1ac3b9..cbcbe69d37 100644 --- a/lib/build.gradle +++ b/lib/build.gradle @@ -128,7 +128,7 @@ dependencies { // scalafmt scalafmtCompileOnly "org.scalameta:scalafmt-core_2.13:3.7.3" // sortPom - sortPomCompileOnly 'com.github.ekryd.sortpom:sortpom-sorter:3.4.1' + sortPomCompileOnly 'com.github.ekryd.sortpom:sortpom-sorter:4.0.0' sortPomCompileOnly 'org.slf4j:slf4j-api:2.0.12' // zjsonPatch zjsonPatchCompileOnly 'com.flipkart.zjsonpatch:zjsonpatch:0.4.14' diff --git a/lib/src/main/java/com/diffplug/spotless/pom/SortPomCfg.java b/lib/src/main/java/com/diffplug/spotless/pom/SortPomCfg.java index 58e3f9d45a..656b6f16f4 100644 --- a/lib/src/main/java/com/diffplug/spotless/pom/SortPomCfg.java +++ b/lib/src/main/java/com/diffplug/spotless/pom/SortPomCfg.java @@ -21,7 +21,7 @@ public class SortPomCfg implements Serializable { private static final long serialVersionUID = 1L; - public String version = "3.4.1"; + public String version = "4.0.0"; public String encoding = "UTF-8"; @@ -41,6 +41,8 @@ public class SortPomCfg implements Serializable { public boolean indentSchemaLocation = false; + public String indentAttribute = null; + public String predefinedSortOrder = "recommended_2008_06"; public String sortOrderFile = null; diff --git a/lib/src/sortPom/java/com/diffplug/spotless/glue/pom/SortPomFormatterFunc.java b/lib/src/sortPom/java/com/diffplug/spotless/glue/pom/SortPomFormatterFunc.java index 57b96d70c7..49c416adfc 100644 --- a/lib/src/sortPom/java/com/diffplug/spotless/glue/pom/SortPomFormatterFunc.java +++ b/lib/src/sortPom/java/com/diffplug/spotless/glue/pom/SortPomFormatterFunc.java @@ -51,7 +51,7 @@ public String apply(String input) throws Exception { .setFileOutput(false, null, null, false) .setEncoding(cfg.encoding) .setFormatting(cfg.lineSeparator, cfg.expandEmptyElements, cfg.spaceBeforeCloseEmptyElement, cfg.keepBlankLines, cfg.endWithNewline) - .setIndent(cfg.nrOfIndentSpace, cfg.indentBlankLines, cfg.indentSchemaLocation) + .setIndent(cfg.nrOfIndentSpace, cfg.indentBlankLines, cfg.indentSchemaLocation, cfg.indentAttribute) .setSortOrder(cfg.sortOrderFile, cfg.predefinedSortOrder) .setSortEntities(cfg.sortDependencies, cfg.sortDependencyExclusions, cfg.sortDependencyManagement, cfg.sortPlugins, cfg.sortProperties, cfg.sortModules, cfg.sortExecutions) diff --git a/plugin-gradle/README.md b/plugin-gradle/README.md index 606589ed7f..bb1a9dd6dc 100644 --- a/plugin-gradle/README.md +++ b/plugin-gradle/README.md @@ -700,7 +700,7 @@ All configuration settings are optional, they are described in detail [here](htt ```gradle spotless { pom { - sortPom('3.4.0') + sortPom('4.0.0') .encoding('UTF-8') // The encoding of the pom files .lineSeparator(System.getProperty('line.separator')) // line separator to use .expandEmptyElements(true) // Should empty elements be expanded @@ -710,6 +710,7 @@ spotless { .nrOfIndentSpace(2) // Indentation .indentBlankLines(false) // Should empty lines be indented .indentSchemaLocation(false) // Should schema locations be indented + .indentAttribute(null) // Should the xml attributes be indented .predefinedSortOrder('recommended_2008_06') // Sort order of elements: https://github.com/Ekryd/sortpom/wiki/PredefinedSortOrderProfiles .sortOrderFile(null) // Custom sort order of elements: https://raw.githubusercontent.com/Ekryd/sortpom/master/sorter/src/main/resources/custom_1.xml .sortDependencies(null) // Sort dependencies: https://github.com/Ekryd/sortpom/wiki/SortDependencies diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/PomExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/PomExtension.java index 463463d320..4474a36385 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/PomExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/PomExtension.java @@ -107,6 +107,11 @@ public SortPomGradleConfig indentSchemaLocation(boolean indentSchemaLocation) { return this; } + public SortPomGradleConfig indentAttribute(String indentAttribute) { + cfg.indentAttribute = indentAttribute; + return this; + } + public SortPomGradleConfig predefinedSortOrder(String predefinedSortOrder) { cfg.predefinedSortOrder = predefinedSortOrder; return this; diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SortPomGradleTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SortPomGradleTest.java index 1c51d4c2a8..6b798326c4 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SortPomGradleTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SortPomGradleTest.java @@ -73,7 +73,7 @@ void sortPomWithVersion() throws Exception { "repositories { mavenCentral() }", "spotless {", " pom {", - " sortPom '3.4.0'", + " sortPom '4.0.0'", " }", "}"); setFile("pom.xml").toResource("pom/pom_dirty.xml"); @@ -105,6 +105,7 @@ void sortPomWithParameters() throws Exception { " .nrOfIndentSpace(2)", " .indentBlankLines(false)", " .indentSchemaLocation(false)", + " .indentAttribute(null)", " .predefinedSortOrder('recommended_2008_06')", " .sortOrderFile(null)", " .sortDependencies(null)", diff --git a/plugin-maven/README.md b/plugin-maven/README.md index 383efd53ec..ff46b87bb7 100644 --- a/plugin-maven/README.md +++ b/plugin-maven/README.md @@ -667,6 +667,8 @@ All configuration settings are optional, they are described in detail [here](htt false + + recommended_2008_06 diff --git a/plugin-maven/src/main/java/com/diffplug/spotless/maven/pom/SortPom.java b/plugin-maven/src/main/java/com/diffplug/spotless/maven/pom/SortPom.java index efa2f533b8..8b0df8a7b0 100644 --- a/plugin-maven/src/main/java/com/diffplug/spotless/maven/pom/SortPom.java +++ b/plugin-maven/src/main/java/com/diffplug/spotless/maven/pom/SortPom.java @@ -56,6 +56,9 @@ public class SortPom implements FormatterStepFactory { @Parameter boolean indentSchemaLocation = defaultValues.indentSchemaLocation; + @Parameter + String indentAttribute = defaultValues.indentAttribute; + @Parameter String predefinedSortOrder = defaultValues.predefinedSortOrder; @@ -96,6 +99,7 @@ public FormatterStep newFormatterStep(FormatterStepConfig stepConfig) { cfg.nrOfIndentSpace = nrOfIndentSpace; cfg.indentBlankLines = indentBlankLines; cfg.indentSchemaLocation = indentSchemaLocation; + cfg.indentAttribute = indentAttribute; cfg.predefinedSortOrder = predefinedSortOrder; cfg.sortOrderFile = sortOrderFile; cfg.sortDependencies = sortDependencies; diff --git a/testlib/src/test/java/com/diffplug/spotless/pom/SortPomTest.java b/testlib/src/test/java/com/diffplug/spotless/pom/SortPomTest.java index 873511cdda..36a6c72612 100644 --- a/testlib/src/test/java/com/diffplug/spotless/pom/SortPomTest.java +++ b/testlib/src/test/java/com/diffplug/spotless/pom/SortPomTest.java @@ -30,7 +30,7 @@ public void testSortPomWithDefaultConfig() { @Test public void testSortPomWithVersion() { SortPomCfg cfg = new SortPomCfg(); - cfg.version = "3.4.1"; + cfg.version = "4.0.0"; FormatterStep step = SortPomStep.create(cfg, TestProvisioner.mavenCentral()); StepHarness.forStep(step).testResource("pom/pom_dirty.xml", "pom/pom_clean_default.xml"); } From cdb0510345562e1ffc9b45df82519a98dfc5aa91 Mon Sep 17 00:00:00 2001 From: Mark Chesney Date: Sun, 19 May 2024 13:11:55 -0700 Subject: [PATCH 2/5] Update changelogs --- CHANGES.md | 1 + plugin-gradle/CHANGES.md | 1 + plugin-maven/CHANGES.md | 1 + 3 files changed, 3 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 22f14f2137..5088c30325 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -19,6 +19,7 @@ We adhere to the [keepachangelog](https://keepachangelog.com/en/1.0.0/) format ( * Bump default `shfmt` version to latest `3.7.0` -> `3.8.0`. ([#2050](https://github.com/diffplug/spotless/pull/2050)) * Bump default `ktlint` version to latest `1.1.1` -> `1.2.1`. ([#2057](https://github.com/diffplug/spotless/pull/2057)) * Bump default `sortpom` version to latest `3.4.0` -> `3.4.1`. ([#2078](https://github.com/diffplug/spotless/pull/2078)) +* Bump default `sortpom` version to latest `3.4.1` -> `4.0.0`. ([#2115](https://github.com/diffplug/spotless/pull/2115)) ### Removed * **BREAKING** Remove `JarState.getMavenCoordinate(String prefix)`. ([#1945](https://github.com/diffplug/spotless/pull/1945)) * **BREAKING** Replace `PipeStepPair` with `FenceStep`. ([#1954](https://github.com/diffplug/spotless/pull/1954)) diff --git a/plugin-gradle/CHANGES.md b/plugin-gradle/CHANGES.md index ffaaa932dc..3ecceb775f 100644 --- a/plugin-gradle/CHANGES.md +++ b/plugin-gradle/CHANGES.md @@ -14,6 +14,7 @@ We adhere to the [keepachangelog](https://keepachangelog.com/en/1.0.0/) format ( * Bump default `shfmt` version to latest `3.7.0` -> `3.8.0`. ([#2050](https://github.com/diffplug/spotless/pull/2050)) * Bump default `ktlint` version to latest `1.1.1` -> `1.2.1`. ([#2057](https://github.com/diffplug/spotless/pull/2057)) * Bump default `sortpom` version to latest `3.4.0` -> `3.4.1`. ([#2078](https://github.com/diffplug/spotless/pull/2078)) +* Bump default `sortpom` version to latest `3.4.1` -> `4.0.0`. ([#2115](https://github.com/diffplug/spotless/pull/2115)) ### Added * Respect `.editorconfig` settings for formatting shell via `shfmt` ([#2031](https://github.com/diffplug/spotless/pull/2031)) * Add support for formatting and sorting Maven POMs ([#2082](https://github.com/diffplug/spotless/issues/2082)) diff --git a/plugin-maven/CHANGES.md b/plugin-maven/CHANGES.md index af419b1ad3..7de8196828 100644 --- a/plugin-maven/CHANGES.md +++ b/plugin-maven/CHANGES.md @@ -12,6 +12,7 @@ We adhere to the [keepachangelog](https://keepachangelog.com/en/1.0.0/) format ( * Bump default `shfmt` version to latest `3.7.0` -> `3.8.0`. ([#2050](https://github.com/diffplug/spotless/pull/2050)) * Bump default `ktlint` version to latest `1.1.1` -> `1.2.1`. ([#2057](https://github.com/diffplug/spotless/pull/2057)) * Bump default `sortpom` version to latest `3.4.0` -> `3.4.1`. ([#2078](https://github.com/diffplug/spotless/pull/2078)) +* Bump default `sortpom` version to latest `3.4.1` -> `4.0.0`. ([#2115](https://github.com/diffplug/spotless/pull/2115)) ### Added * Respect `.editorconfig` settings for formatting shell via `shfmt` ([#2031](https://github.com/diffplug/spotless/pull/2031)) * Skip execution in M2E (incremental) builds by default ([#1814](https://github.com/diffplug/spotless/issues/1814), [#2037](https://github.com/diffplug/spotless/issues/2037)) From 51b106fd922b4836a8e28c88f8017f2b4fff9669 Mon Sep 17 00:00:00 2001 From: Mark Chesney Date: Mon, 20 May 2024 07:08:47 -0700 Subject: [PATCH 3/5] Support sortpom versions back to 3.2.1 --- CHANGES.md | 2 +- .../glue/pom/SortPomFormatterFunc.java | 41 ++++++++++++++++--- plugin-gradle/CHANGES.md | 2 +- .../gradle/spotless/SortPomGradleTest.java | 9 ++-- plugin-maven/CHANGES.md | 2 +- 5 files changed, 44 insertions(+), 12 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 5088c30325..0e44b999e2 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -19,7 +19,7 @@ We adhere to the [keepachangelog](https://keepachangelog.com/en/1.0.0/) format ( * Bump default `shfmt` version to latest `3.7.0` -> `3.8.0`. ([#2050](https://github.com/diffplug/spotless/pull/2050)) * Bump default `ktlint` version to latest `1.1.1` -> `1.2.1`. ([#2057](https://github.com/diffplug/spotless/pull/2057)) * Bump default `sortpom` version to latest `3.4.0` -> `3.4.1`. ([#2078](https://github.com/diffplug/spotless/pull/2078)) -* Bump default `sortpom` version to latest `3.4.1` -> `4.0.0`. ([#2115](https://github.com/diffplug/spotless/pull/2115)) +* Bump default `sortpom` version to latest `3.4.1` -> `4.0.0` and support versions back to `3.2.1`. ([#2115](https://github.com/diffplug/spotless/pull/2115)) ### Removed * **BREAKING** Remove `JarState.getMavenCoordinate(String prefix)`. ([#1945](https://github.com/diffplug/spotless/pull/1945)) * **BREAKING** Replace `PipeStepPair` with `FenceStep`. ([#1954](https://github.com/diffplug/spotless/pull/1954)) diff --git a/lib/src/sortPom/java/com/diffplug/spotless/glue/pom/SortPomFormatterFunc.java b/lib/src/sortPom/java/com/diffplug/spotless/glue/pom/SortPomFormatterFunc.java index 49c416adfc..d1f6d8862d 100644 --- a/lib/src/sortPom/java/com/diffplug/spotless/glue/pom/SortPomFormatterFunc.java +++ b/lib/src/sortPom/java/com/diffplug/spotless/glue/pom/SortPomFormatterFunc.java @@ -16,6 +16,7 @@ package com.diffplug.spotless.glue.pom; import java.io.*; +import java.lang.reflect.Method; import java.nio.charset.Charset; import java.nio.file.Files; @@ -46,17 +47,45 @@ public String apply(String input) throws Exception { writer.write(input); } SortPomImpl sortPom = new SortPomImpl(); - sortPom.setup(new MySortPomLogger(), PluginParameters.builder() + PluginParameters.Builder builder = PluginParameters.builder() .setPomFile(pom) .setFileOutput(false, null, null, false) - .setEncoding(cfg.encoding) - .setFormatting(cfg.lineSeparator, cfg.expandEmptyElements, cfg.spaceBeforeCloseEmptyElement, cfg.keepBlankLines, cfg.endWithNewline) - .setIndent(cfg.nrOfIndentSpace, cfg.indentBlankLines, cfg.indentSchemaLocation, cfg.indentAttribute) + .setEncoding(cfg.encoding); + try { + builder = builder + .setFormatting(cfg.lineSeparator, cfg.expandEmptyElements, cfg.spaceBeforeCloseEmptyElement, + cfg.keepBlankLines, cfg.endWithNewline); + } catch (NoSuchMethodError e) { + try { + Method method = PluginParameters.Builder.class + .getMethod("setFormatting", String.class, boolean.class, boolean.class, boolean.class); + builder = (PluginParameters.Builder) method + .invoke(builder, cfg.lineSeparator, cfg.expandEmptyElements, cfg.spaceBeforeCloseEmptyElement, + cfg.keepBlankLines); + } catch (Exception ignore) { + throw e; + } + } + try { + builder = builder + .setIndent(cfg.nrOfIndentSpace, cfg.indentBlankLines, cfg.indentSchemaLocation, + cfg.indentAttribute); + } catch (NoSuchMethodError e) { + try { + Method method = PluginParameters.Builder.class + .getMethod("setIndent", int.class, boolean.class, boolean.class); + builder = (PluginParameters.Builder) method + .invoke(builder, cfg.nrOfIndentSpace, cfg.indentBlankLines, cfg.indentSchemaLocation); + } catch (Exception ignore) { + throw e; + } + } + builder = builder .setSortOrder(cfg.sortOrderFile, cfg.predefinedSortOrder) .setSortEntities(cfg.sortDependencies, cfg.sortDependencyExclusions, cfg.sortDependencyManagement, cfg.sortPlugins, cfg.sortProperties, cfg.sortModules, cfg.sortExecutions) - .setIgnoreLineSeparators(false) - .build()); + .setIgnoreLineSeparators(false); + sortPom.setup(new MySortPomLogger(), builder.build()); sortPom.sortPom(); return Files.readString(pom.toPath(), Charset.forName(cfg.encoding)); } diff --git a/plugin-gradle/CHANGES.md b/plugin-gradle/CHANGES.md index 3ecceb775f..9ff689d273 100644 --- a/plugin-gradle/CHANGES.md +++ b/plugin-gradle/CHANGES.md @@ -14,7 +14,7 @@ We adhere to the [keepachangelog](https://keepachangelog.com/en/1.0.0/) format ( * Bump default `shfmt` version to latest `3.7.0` -> `3.8.0`. ([#2050](https://github.com/diffplug/spotless/pull/2050)) * Bump default `ktlint` version to latest `1.1.1` -> `1.2.1`. ([#2057](https://github.com/diffplug/spotless/pull/2057)) * Bump default `sortpom` version to latest `3.4.0` -> `3.4.1`. ([#2078](https://github.com/diffplug/spotless/pull/2078)) -* Bump default `sortpom` version to latest `3.4.1` -> `4.0.0`. ([#2115](https://github.com/diffplug/spotless/pull/2115)) +* Bump default `sortpom` version to latest `3.4.1` -> `4.0.0` and support versions back to `3.2.1`. ([#2115](https://github.com/diffplug/spotless/pull/2115)) ### Added * Respect `.editorconfig` settings for formatting shell via `shfmt` ([#2031](https://github.com/diffplug/spotless/pull/2031)) * Add support for formatting and sorting Maven POMs ([#2082](https://github.com/diffplug/spotless/issues/2082)) diff --git a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SortPomGradleTest.java b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SortPomGradleTest.java index 6b798326c4..80c8f254f2 100644 --- a/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SortPomGradleTest.java +++ b/plugin-gradle/src/test/java/com/diffplug/gradle/spotless/SortPomGradleTest.java @@ -16,6 +16,8 @@ package com.diffplug.gradle.spotless; import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; class SortPomGradleTest extends GradleIntegrationHarness { @Test @@ -63,8 +65,9 @@ void sortPomWithTarget() throws Exception { assertFile("test.xml").sameAsResource("pom/pom_clean_default.xml"); } - @Test - void sortPomWithVersion() throws Exception { + @ParameterizedTest + @ValueSource(strings = {"3.2.1", "3.3.0", "3.4.1", "4.0.0"}) + void sortPomWithVersion(String version) throws Exception { // given setFile("build.gradle").toLines( "plugins {", @@ -73,7 +76,7 @@ void sortPomWithVersion() throws Exception { "repositories { mavenCentral() }", "spotless {", " pom {", - " sortPom '4.0.0'", + " sortPom '" + version + "'", " }", "}"); setFile("pom.xml").toResource("pom/pom_dirty.xml"); diff --git a/plugin-maven/CHANGES.md b/plugin-maven/CHANGES.md index 7de8196828..a759f923b9 100644 --- a/plugin-maven/CHANGES.md +++ b/plugin-maven/CHANGES.md @@ -12,7 +12,7 @@ We adhere to the [keepachangelog](https://keepachangelog.com/en/1.0.0/) format ( * Bump default `shfmt` version to latest `3.7.0` -> `3.8.0`. ([#2050](https://github.com/diffplug/spotless/pull/2050)) * Bump default `ktlint` version to latest `1.1.1` -> `1.2.1`. ([#2057](https://github.com/diffplug/spotless/pull/2057)) * Bump default `sortpom` version to latest `3.4.0` -> `3.4.1`. ([#2078](https://github.com/diffplug/spotless/pull/2078)) -* Bump default `sortpom` version to latest `3.4.1` -> `4.0.0`. ([#2115](https://github.com/diffplug/spotless/pull/2115)) +* Bump default `sortpom` version to latest `3.4.1` -> `4.0.0` and support versions back to `3.2.1`. ([#2115](https://github.com/diffplug/spotless/pull/2115)) ### Added * Respect `.editorconfig` settings for formatting shell via `shfmt` ([#2031](https://github.com/diffplug/spotless/pull/2031)) * Skip execution in M2E (incremental) builds by default ([#1814](https://github.com/diffplug/spotless/issues/1814), [#2037](https://github.com/diffplug/spotless/issues/2037)) From baaed39b5264b6c69daf84602c336981a79d9620 Mon Sep 17 00:00:00 2001 From: Mark Chesney Date: Mon, 20 May 2024 17:50:55 -0700 Subject: [PATCH 4/5] Fix SpotBugs recommendations --- .../com/diffplug/spotless/glue/pom/SortPomFormatterFunc.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/src/sortPom/java/com/diffplug/spotless/glue/pom/SortPomFormatterFunc.java b/lib/src/sortPom/java/com/diffplug/spotless/glue/pom/SortPomFormatterFunc.java index d1f6d8862d..d1ab469af0 100644 --- a/lib/src/sortPom/java/com/diffplug/spotless/glue/pom/SortPomFormatterFunc.java +++ b/lib/src/sortPom/java/com/diffplug/spotless/glue/pom/SortPomFormatterFunc.java @@ -62,7 +62,7 @@ public String apply(String input) throws Exception { builder = (PluginParameters.Builder) method .invoke(builder, cfg.lineSeparator, cfg.expandEmptyElements, cfg.spaceBeforeCloseEmptyElement, cfg.keepBlankLines); - } catch (Exception ignore) { + } catch (ReflectiveOperationException | RuntimeException ignore) { throw e; } } @@ -76,7 +76,7 @@ public String apply(String input) throws Exception { .getMethod("setIndent", int.class, boolean.class, boolean.class); builder = (PluginParameters.Builder) method .invoke(builder, cfg.nrOfIndentSpace, cfg.indentBlankLines, cfg.indentSchemaLocation); - } catch (Exception ignore) { + } catch (ReflectiveOperationException | RuntimeException ignore) { throw e; } } From 01e8639e373f8aa61a1b89f40a5f8c948b792c94 Mon Sep 17 00:00:00 2001 From: Mark Chesney Date: Mon, 20 May 2024 17:59:48 -0700 Subject: [PATCH 5/5] Ensure support for sortpom versions back to 3.2.1 --- .../test/java/com/diffplug/spotless/pom/SortPomTest.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/testlib/src/test/java/com/diffplug/spotless/pom/SortPomTest.java b/testlib/src/test/java/com/diffplug/spotless/pom/SortPomTest.java index 36a6c72612..15610ace58 100644 --- a/testlib/src/test/java/com/diffplug/spotless/pom/SortPomTest.java +++ b/testlib/src/test/java/com/diffplug/spotless/pom/SortPomTest.java @@ -16,6 +16,8 @@ package com.diffplug.spotless.pom; import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; import com.diffplug.spotless.*; @@ -27,10 +29,11 @@ public void testSortPomWithDefaultConfig() { StepHarness.forStep(step).testResource("pom/pom_dirty.xml", "pom/pom_clean_default.xml"); } - @Test - public void testSortPomWithVersion() { + @ParameterizedTest + @ValueSource(strings = {"3.2.1", "3.3.0", "3.4.1", "4.0.0"}) + public void testSortPomWithVersion(String version) { SortPomCfg cfg = new SortPomCfg(); - cfg.version = "4.0.0"; + cfg.version = version; FormatterStep step = SortPomStep.create(cfg, TestProvisioner.mavenCentral()); StepHarness.forStep(step).testResource("pom/pom_dirty.xml", "pom/pom_clean_default.xml"); }