forked from pinterest/ktlint
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle.kts
78 lines (69 loc) · 2.54 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
78
import java.net.URL
plugins {
alias(libs.plugins.kotlin.jvm) apply false
alias(libs.plugins.checksum) apply false
alias(libs.plugins.shadow) apply false
}
allprojects {
if (project.hasProperty("isKotlinDev")) {
val definedVersion = ext["VERSION_NAME"].toString().removeSuffix("-SNAPSHOT")
ext["VERSION_NAME"] = "$definedVersion-kotlin-dev-SNAPSHOT"
}
val skipTests: String = System.getProperty("skipTests", "false")
tasks.withType<Test>().configureEach {
if (skipTests == "false") {
useJUnitPlatform()
} else {
logger.warn("Skipping tests for task '$name' as system property 'skipTests=$skipTests'")
}
val args = mutableSetOf<String>()
if (JavaVersion.current().isCompatibleWith(JavaVersion.VERSION_16)) {
// https://docs.gradle.org/7.5/userguide/upgrading_version_7.html#removes_implicit_add_opens_for_test_workers
args += listOf(
"--add-opens=java.base/java.lang=ALL-UNNAMED",
"--add-opens=java.base/java.util=ALL-UNNAMED",
)
}
if (JavaVersion.current().isCompatibleWith(JavaVersion.VERSION_18)) {
// https://openjdk.org/jeps/411
args += "-Djava.security.manager=allow"
}
jvmArgs(args)
}
}
val ktlint: Configuration by configurations.creating
dependencies {
ktlint(projects.ktlintCli)
}
tasks.register<JavaExec>("ktlint") {
group = LifecycleBasePlugin.VERIFICATION_GROUP
description = "Check Kotlin code style"
classpath = ktlint
mainClass.set("com.pinterest.ktlint.Main")
args(
"**/src/**/*.kt",
"**.kts",
"!**/build/**",
// Do not run with option "--log-level=debug" or "--log-level=trace" as the lint violations will be difficult
// to spot between the amount of output lines.
)
}
tasks.register<JavaExec>("ktlint format") {
group = LifecycleBasePlugin.VERIFICATION_GROUP
description = "Check Kotlin code style and format"
classpath = ktlint
jvmArgs = listOf("--add-opens=java.base/java.lang=ALL-UNNAMED")
mainClass.set("com.pinterest.ktlint.Main")
args(
"**/src/**/*.kt",
"**.kts",
"!**/build/**",
"--format",
// Do not run with option "--log-level=debug" or "--log-level=trace" as the lint violations will be difficult
// to spot between the amount of output lines.
)
}
tasks.wrapper {
distributionSha256Sum = URL("$distributionUrl.sha256")
.openStream().use { it.reader().readText().trim() }
}