-
-
Notifications
You must be signed in to change notification settings - Fork 115
/
Copy pathbuild.gradle.kts
51 lines (47 loc) · 1.71 KB
/
build.gradle.kts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import com.diffplug.gradle.spotless.SpotlessTask
plugins {
// this is necessary to avoid the plugins to be loaded multiple times
// in each subproject's classloader
alias(libs.plugins.androidApplication) apply false
alias(libs.plugins.androidLibrary) apply false
alias(libs.plugins.kotlinAndroid) apply false
alias(libs.plugins.kotlinMultiplatform) apply false
alias(libs.plugins.room) apply false
alias(libs.plugins.ksp) apply false
alias(libs.plugins.kotlinx.serialization) apply false
alias(libs.plugins.compose.compiler) apply false
alias(libs.plugins.mikepenz.aboutlibraries) apply false
alias(libs.plugins.spotless)
}
subprojects {
apply(plugin = rootProject.libs.plugins.spotless.get().pluginId)
configure<com.diffplug.gradle.spotless.SpotlessExtension> {
kotlin {
target("**/*.kt")
targetExclude("${layout.buildDirectory}/**/*.kt")
ktlint()
licenseHeaderFile(rootProject.file(".spotless/license.kt"))
trimTrailingWhitespace()
endWithNewline()
}
format("xml") {
target("**/*.xml")
targetExclude("**/build/**/*.xml")
licenseHeaderFile(rootProject.file(".spotless/license.xml"), "(<[^!?])")
trimTrailingWhitespace()
endWithNewline()
}
kotlinGradle {
target("*.gradle.kts")
ktlint()
}
afterEvaluate {
tasks.named("preBuild") {
dependsOn("spotlessApply")
}
}
tasks.withType<SpotlessTask>().configureEach {
notCompatibleWithConfigurationCache("https://github.com/diffplug/spotless/issues/987")
}
}
}