Files
TachiyomiSY/gradle/build-logic/src/main/kotlin/PluginSpotless.kt
T
AntsyLich a7d93ae751 Cleanup and rework build logic (#3113)
# 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
2026-04-06 15:50:09 -04:00

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)
}