-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle.kts
77 lines (68 loc) · 2 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
73
74
75
76
77
import com.adarshr.gradle.testlogger.theme.ThemeType.MOCHA_PARALLEL
import io.gitlab.arturbosch.detekt.Detekt
plugins {
alias(libs.plugins.mavenPublishPlugin)
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.testLogger)
alias(libs.plugins.versionsPlugin)
alias(libs.plugins.versionsFilterPlugin)
alias(libs.plugins.versionCatalogUpdate)
alias(libs.plugins.detekt)
}
// aggregate dependents to an all-in-one library
kotlin {
sourceSets {
commonMain.dependencies {
api(projects.core)
api(projects.example)
}
}
}
tasks {
// detektAll is a task that runs detekt on all src sets
val detektAll by registering {
allprojects {
this@registering.dependsOn(tasks.withType<Detekt>())
}
}
build {
dependsOn(detektAll)
finalizedBy(koverXmlReport, koverHtmlReport)
}
}
allprojects {
apply(plugin = rootProject.libs.plugins.kotlinMultiplatform.get().pluginId)
kotlin {
explicitApi()
jvm()
js {
browser()
nodejs()
}
}
apply(plugin = rootProject.libs.plugins.mavenPublishPlugin.get().pluginId)
mavenPublishing {
val artifactId = if (project.name == rootProject.name) project.name else "${rootProject.name}-${project.name}"
coordinates(artifactId = artifactId)
pom {
name.set(artifactId)
}
}
apply(plugin = rootProject.libs.plugins.detekt.get().pluginId)
detekt {
toolVersion = rootProject.libs.versions.detekt.get()
autoCorrect = true
config.setFrom(file("$rootDir/config/detekt/detekt.yml"))
buildUponDefaultConfig = true
// ignoreFailures = true
}
dependencies {
detektPlugins(rootProject.libs.detekt.formatting)
}
apply(plugin = rootProject.libs.plugins.testLogger.get().pluginId)
testlogger {
theme = MOCHA_PARALLEL
showFullStackTraces = false
slowThreshold = 1_000
}
}