-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle.kts
71 lines (70 loc) · 2.24 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
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
kotlin("jvm") version "1.9.22"
checkstyle
id("com.github.sherter.google-java-format") version "0.9"
id("org.jmailen.kotlinter") version "4.2.0"
id("org.cs124.questioner") version "2024.1.3"
id("com.github.ben-manes.versions") version "0.51.0"
id("io.gitlab.arturbosch.detekt") version "1.23.4"
}
repositories {
mavenLocal()
mavenCentral()
maven("https://maven.codeawakening.com")
}
tasks.withType<Test> {
useJUnitPlatform()
enableAssertions = true
environment["JEED_USE_CACHE"] = "true"
jvmArgs(
"-ea", "--enable-preview", "-Xmx4G", "-XX:+UseZGC",
"-Dfile.encoding=UTF-8", "-XX:-OmitStackTraceInFastThrow",
"--add-opens", "java.base/java.lang=ALL-UNNAMED",
"--add-opens", "java.base/java.util=ALL-UNNAMED",
"--add-exports", "jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED",
"--add-exports", "jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED",
"--add-exports", "jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED",
"--add-exports", "jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED",
"--add-exports", "jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED",
"--add-exports", "java.management/sun.management=ALL-UNNAMED"
)
}
googleJavaFormat {
toolVersion = "1.19.2"
}
checkstyle {
toolVersion = "10.12.7"
}
tasks.dependencyUpdates {
fun String.isNonStable() = !(
listOf("RELEASE", "FINAL", "GA", "JRE").any { uppercase().contains(it) }
|| "^[0-9,.v-]+(-r)?$".toRegex().matches(this)
)
rejectVersionIf { candidate.version.isNonStable() }
gradleReleaseChannel = "current"
}
detekt {
buildUponDefaultConfig = true
}
tasks.check {
dependsOn("detekt", "checkstyleMain", "googleJavaFormat", "lintKotlinMain", "formatKotlinMain")
}
tasks.getByName("saveQuestions") {
mustRunAfter("detekt", "checkstyleMain", "googleJavaFormat", "lintKotlinMain", "formatKotlinMain")
}
tasks.withType<KotlinCompile> {
kotlinOptions {
jvmTarget = JavaVersion.VERSION_17.toString()
}
}
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(17))
}
}
configurations.checkstyle {
resolutionStrategy.capabilitiesResolution.withCapability("com.google.collections:google-collections") {
select("com.google.guava:guava:0")
}
}