Skip to content

Commit 3adaa1c

Browse files
authored
Fix subgroups leading catch all matcher (#1485)
2 parents 66b8dd2 + 109ffa6 commit 3adaa1c

File tree

6 files changed

+25
-2
lines changed

6 files changed

+25
-2
lines changed

CHANGES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ We adhere to the [keepachangelog](https://keepachangelog.com/en/1.0.0/) format (
1919
* Better suggested messages when user's default is set by JVM limitation. ([#995](https://github.com/diffplug/spotless/pull/995))
2020
### Fixed
2121
* Support `ktlint` 0.48+ new rule disabling syntax ([#1456](https://github.com/diffplug/spotless/pull/1456)) fixes ([#1444](https://github.com/diffplug/spotless/issues/1444))
22+
* Fix subgroups leading catch all matcher.
2223
### Changes
2324
* Bump default version for `prettier` from `2.0.5` to `2.8.1` ([#1453](https://github.com/diffplug/spotless/pull/1453))
2425
* Bump the dev version of Gradle from `7.5.1` to `7.6` ([#1409](https://github.com/diffplug/spotless/pull/1409))

lib/src/main/java/com/diffplug/spotless/java/ImportSorterImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2016-2022 DiffPlug
2+
* Copyright 2016-2023 DiffPlug
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -45,7 +45,7 @@ private static class ImportsGroup {
4545
private final List<String> subGroups;
4646

4747
public ImportsGroup(String importOrder) {
48-
this.subGroups = Stream.of(importOrder.split("\\" + SUBGROUP_SEPARATOR))
48+
this.subGroups = Stream.of(importOrder.split("\\" + SUBGROUP_SEPARATOR, -1))
4949
.map(this::normalizeStatic)
5050
.collect(Collectors.toList());
5151
}

plugin-gradle/CHANGES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ We adhere to the [keepachangelog](https://keepachangelog.com/en/1.0.0/) format (
1212
### Fixed
1313
* Prevent tool configurations from being resolved outside project ([#1447](https://github.com/diffplug/spotless/pull/1447) fixes [#1215](https://github.com/diffplug/spotless/issues/1215))
1414
* Support `ktlint` 0.48+ new rule disabling syntax ([#1456](https://github.com/diffplug/spotless/pull/1456)) fixes ([#1444](https://github.com/diffplug/spotless/issues/1444))
15+
* Fix subgroups leading catch all matcher.
1516
### Changes
1617
* Bump default `ktlint` version to latest `0.47.1` -> `0.48.1` ([#1456](https://github.com/diffplug/spotless/pull/1456))
1718
* Bump default version for `prettier` from `2.0.5` to `2.8.1` ([#1453](https://github.com/diffplug/spotless/pull/1453))

plugin-maven/CHANGES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ We adhere to the [keepachangelog](https://keepachangelog.com/en/1.0.0/) format (
1313
* Better suggested messages when user's default is set by JVM limitation. ([#995](https://github.com/diffplug/spotless/pull/995))
1414
### Fixed
1515
* Support `ktlint` 0.48+ new rule disabling syntax ([#1456](https://github.com/diffplug/spotless/pull/1456)) fixes ([#1444](https://github.com/diffplug/spotless/issues/1444))
16+
* Fix subgroups leading catch all matcher.
1617
### Changes
1718
* Bump default `ktlint` version to latest `0.47.1` -> `0.48.1` ([#1456](https://github.com/diffplug/spotless/pull/1456))
1819
* Reduce spurious invalidations of the up-to-date index file ([#1461](https://github.com/diffplug/spotless/pull/1461))
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import static com.foo.Bar;
2+
import static com.github.tomakehurst.wiremock.client.WireMock.*;
3+
import static com.github.tomakehurst.wiremock.client.WireMock.equalTo;
4+
import static java.lang.Exception.*;
5+
import static java.lang.Runnable.*;
6+
import static org.hamcrest.Matchers.*;
7+
import java.awt.*;
8+
import java.lang.Runnable;
9+
import java.lang.Thread;
10+
import java.util.*;
11+
import java.util.List;
12+
import javax.annotation.Nullable;
13+
import javax.inject.Inject;
14+
import org.dooda.Didoo;

testlib/src/test/java/com/diffplug/spotless/java/ImportOrderStepTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,12 @@ void sortImportsFromArrayWithSubgroups() {
4141
StepHarness.forStep(step).testResource("java/importsorter/JavaCodeUnsortedImportsSubgroups.test", "java/importsorter/JavaCodeSortedImportsSubgroups.test");
4242
}
4343

44+
@Test
45+
void sortImportsFromArrayWithSubgroupsLeadingCatchAll() {
46+
FormatterStep step = ImportOrderStep.forJava().createFrom("\\#|");
47+
StepHarness.forStep(step).testResource("java/importsorter/JavaCodeUnsortedImportsSubgroups.test", "java/importsorter/JavaCodeSortedImportsSubgroupsLeadingCatchAll.test");
48+
}
49+
4450
@Test
4551
void sortImportsFromFile() {
4652
FormatterStep step = ImportOrderStep.forJava().createFrom(createTestFile("java/importsorter/import.properties"));

0 commit comments

Comments
 (0)