Skip to content

Commit 57788b8

Browse files
committed
feat: ktlint editorConfigOverrides for plugin-maven
1 parent 92bbd96 commit 57788b8

File tree

3 files changed

+27
-1
lines changed

3 files changed

+27
-1
lines changed

plugin-maven/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,10 @@ Groovy-Eclipse formatting errors/warnings lead per default to a build failure. T
359359
```xml
360360
<ktlint>
361361
<version>0.43.2</version> <!-- optional -->
362+
<editorConfigOverride> <!-- optional -->
363+
<ij_kotlin_allow_trailing_comma>true</ij_kotlin_allow_trailing_comma>
364+
<ij_kotlin_allow_trailing_comma_on_call_site>true</ij_kotlin_allow_trailing_comma_on_call_site>
365+
</editorConfigOverride>
362366
</ktlint>
363367
```
364368

plugin-maven/src/main/java/com/diffplug/spotless/maven/kotlin/Ktlint.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,26 @@
2222
import com.diffplug.spotless.maven.FormatterStepConfig;
2323
import com.diffplug.spotless.maven.FormatterStepFactory;
2424

25+
import java.util.Collections;
26+
import java.util.HashMap;
27+
import java.util.Map;
28+
2529
public class Ktlint implements FormatterStepFactory {
2630

2731
@Parameter
2832
private String version;
2933

34+
@Parameter
35+
private Map<String, Object> editorConfigOverride;
36+
3037
@Override
3138
public FormatterStep newFormatterStep(FormatterStepConfig config) {
3239
String ktlintVersion = version != null ? version : KtLintStep.defaultVersion();
33-
return KtLintStep.create(ktlintVersion, config.getProvisioner());
40+
41+
if (editorConfigOverride == null) {
42+
editorConfigOverride = new HashMap<>();
43+
}
44+
45+
return KtLintStep.create(ktlintVersion, config.getProvisioner(), false, Collections.emptyMap(), editorConfigOverride);
3446
}
3547
}

plugin-maven/src/test/java/com/diffplug/spotless/maven/kotlin/KtlintTest.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,14 @@ void testKtlint() throws Exception {
2929
mavenRunner().withArguments("spotless:apply").runNoError();
3030
assertFile(path).sameAsResource("kotlin/ktlint/basic.clean");
3131
}
32+
33+
@Test
34+
void testKtlintEditorConfigOverride() throws Exception {
35+
writePomWithKotlinSteps("<ktlint><editorConfigOverride><ij_kotlin_allow_trailing_comma>true</ij_kotlin_allow_trailing_comma><ij_kotlin_allow_trailing_comma_on_call_site>true</ij_kotlin_allow_trailing_comma_on_call_site></editorConfigOverride></ktlint>");
36+
37+
String path = "src/main/kotlin/Main.kt";
38+
setFile(path).toResource("kotlin/ktlint/experimentalEditorConfigOverride.dirty");
39+
mavenRunner().withArguments("spotless:apply").runNoError();
40+
assertFile(path).sameAsResource("kotlin/ktlint/experimentalEditorConfigOverride.clean");
41+
}
3242
}

0 commit comments

Comments
 (0)