-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathbuild.gradle.kts
72 lines (62 loc) · 1.97 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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import io.gitlab.arturbosch.detekt.Detekt
buildscript {
repositories {
mavenCentral()
}
}
plugins {
alias(libs.plugins.android.application).apply(false)
alias(libs.plugins.android.library).apply(false)
alias(libs.plugins.kotlinMultiplatform).apply(false)
alias(libs.plugins.compose).apply(false)
alias(libs.plugins.compose.compiler).apply(false)
alias(libs.plugins.kotlinx.atomicfu).apply(false)
alias(libs.plugins.publish).apply(false)
alias(libs.plugins.api.validator)
alias(libs.plugins.detekt)
}
apiValidation {
ignoredProjects.add("sample")
}
val projectSource = file(projectDir)
val configFiles = files("$rootDir/detekt/config.yml")
val baselineFile = File("$rootDir/detekt/baseline.xml")
val kotlinFiles = "**/*.kt"
val sampleModuleFiles = "**/sample/**"
val resourceFiles = "**/resources/**"
val buildFiles = "**/build/**"
val testFiles = "**/commonTest/**"
tasks.register<Detekt>("detektAll") {
val autoFix = project.hasProperty("detektAutoFix")
description = "Custom DETEKT task for all modules"
parallel = true
ignoreFailures = false
autoCorrect = autoFix
buildUponDefaultConfig = true
setSource(projectSource)
config.setFrom(configFiles)
baseline = baselineFile
reports {
html.required = true
xml.required = false
txt.required = false
}
}
tasks.register<io.gitlab.arturbosch.detekt.DetektCreateBaselineTask>("detektGenerateBaseline") {
description = "Custom DETEKT task to build baseline for all modules"
parallel = true
ignoreFailures = false
buildUponDefaultConfig = true
setSource(projectSource)
baseline.set(baselineFile)
config.setFrom(configFiles)
include(kotlinFiles)
exclude(sampleModuleFiles, resourceFiles, buildFiles, testFiles)
}
tasks.withType<Detekt>().configureEach {
include(kotlinFiles)
exclude(sampleModuleFiles, resourceFiles, buildFiles, testFiles)
}
dependencies {
detektPlugins(libs.detekt.formatting)
}