11package com.hivemq.spotless
22
3- import com.diffplug.gradle.spotless.JavaExtension
4- import com.diffplug.gradle.spotless.KotlinGradleExtension
53import com.diffplug.gradle.spotless.SpotlessExtension
6- import org.gradle.api.Action
74import org.gradle.api.Plugin
85import org.gradle.api.Project
9- import org.gradle.api.tasks.TaskProvider
106import 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