Skip to content

Commit 99395da

Browse files
committed
- Add spotless configuration for Kotlin
- Update editorconfig to reflect spotless settings - Apply spotless to edge pulse agent
1 parent 3ed0451 commit 99395da

File tree

1 file changed

+28
-9
lines changed

1 file changed

+28
-9
lines changed

edge-plugins/src/main/kotlin/com/hivemq/spotless/SpotlessConventionPlugin.kt

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
11
package com.hivemq.spotless
22

3-
import com.diffplug.gradle.spotless.JavaExtension
4-
import com.diffplug.gradle.spotless.KotlinGradleExtension
53
import com.diffplug.gradle.spotless.SpotlessExtension
6-
import org.gradle.api.Action
74
import org.gradle.api.Plugin
85
import org.gradle.api.Project
9-
import org.gradle.api.tasks.TaskProvider
106
import java.io.File
117

128
/**
@@ -31,7 +27,7 @@ class SpotlessConventionPlugin : Plugin<Project> {
3127
spotless.encoding("UTF-8")
3228

3329
// Java formatting
34-
spotless.java(Action<JavaExtension> {
30+
spotless.java {
3531
target("src/*/java/**/*.java")
3632

3733
// License header
@@ -53,12 +49,35 @@ class SpotlessConventionPlugin : Plugin<Project> {
5349

5450
// Respect @formatter:off / @formatter:on directives
5551
toggleOffOn("@formatter:off", "@formatter:on")
56-
})
52+
}
53+
54+
spotless.kotlin {
55+
target("src/*/kotlin/**/*.kt", "**/*.kts")
56+
57+
// License header
58+
if (licenseHeaderFile != null) {
59+
licenseHeaderFile(licenseHeaderFile)
60+
}
61+
62+
ktlint("1.8.0").editorConfigOverride(
63+
mapOf(
64+
"ktlint_code_style" to "ktlint_official",
65+
"indent_size" to "4",
66+
"max_line_length" to "120",
67+
)
68+
)
69+
70+
trimTrailingWhitespace()
71+
endWithNewline()
72+
73+
// Respect @formatter:off / @formatter:on directives
74+
toggleOffOn("@formatter:off", "@formatter:on")
75+
}
5776

5877
// Kotlin Gradle DSL formatting
59-
spotless.kotlinGradle(Action<KotlinGradleExtension> {
78+
spotless.kotlinGradle {
6079
target("*.gradle.kts")
61-
ktlint("1.5.0").editorConfigOverride(
80+
ktlint("1.8.0").editorConfigOverride(
6281
mapOf(
6382
"ktlint_code_style" to "ktlint_official",
6483
"indent_size" to "4",
@@ -67,7 +86,7 @@ class SpotlessConventionPlugin : Plugin<Project> {
6786
)
6887
trimTrailingWhitespace()
6988
endWithNewline()
70-
})
89+
}
7190
}
7291

7392
/**

0 commit comments

Comments
 (0)