a7d93ae751
# Conflicts: # app/build.gradle.kts # app/shortcuts.xml # app/src/main/res/xml/shortcuts.xml # app/src/main/shortcuts.xml # build.gradle.kts # buildSrc/src/main/kotlin/mihon/buildlogic/AndroidConfig.kt # core/archive/build.gradle.kts # core/common/build.gradle.kts # gradle/build-logic/src/main/kotlin/mihon/gradle/BuildConfig.kt # settings.gradle.kts # source-api/build.gradle.kts # source-local/build.gradle.kts # telemetry/build.gradle.kts
45 lines
1.2 KiB
Kotlin
45 lines
1.2 KiB
Kotlin
import com.diffplug.gradle.spotless.SpotlessExtension
|
|
import mihon.gradle.extensions.alias
|
|
import mihon.gradle.extensions.libs
|
|
import mihon.gradle.extensions.plugins
|
|
import org.gradle.api.Plugin
|
|
import org.gradle.api.Project
|
|
import org.gradle.kotlin.dsl.configure
|
|
|
|
@Suppress("UNUSED")
|
|
class PluginSpotless : Plugin<Project> {
|
|
override fun apply(target: Project): Unit = with(target) {
|
|
plugins {
|
|
alias(libs.plugins.spotless)
|
|
}
|
|
|
|
// Configuration should be synced with [/gradle/build-logic/build.gradle.kts]
|
|
val ktlintVersion = libs.ktlint.bom.get().version
|
|
spotless {
|
|
kotlin {
|
|
target("src/**/*.kt")
|
|
ktlint(ktlintVersion)
|
|
trimTrailingWhitespace()
|
|
endWithNewline()
|
|
}
|
|
|
|
kotlinGradle {
|
|
target("*.kts")
|
|
ktlint(ktlintVersion)
|
|
trimTrailingWhitespace()
|
|
endWithNewline()
|
|
}
|
|
|
|
format("xml") {
|
|
target("src/**/*.xml")
|
|
trimTrailingWhitespace()
|
|
endWithNewline()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private fun Project.spotless(block: SpotlessExtension.() -> Unit) {
|
|
extensions.configure(block)
|
|
}
|