-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle.kts
107 lines (83 loc) · 3.19 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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
kotlin("jvm")
kotlin("plugin.allopen") apply false
id("io.quarkus") apply false
id("org.kordamp.gradle.jandex") apply false
id("org.jlleitschuh.gradle.ktlint") apply false
id("io.spring.dependency-management") apply true
}
repositories {
mavenCentral()
}
subprojects {
apply {
plugin("org.jetbrains.kotlin.jvm")
plugin("org.jlleitschuh.gradle.ktlint")
plugin("org.kordamp.gradle.jandex")
plugin("io.spring.dependency-management")
}
repositories {
mavenCentral()
}
group = "io.mailit"
version = "0.2.0"
val dbUtilsVersion = "1.8.1" // https://mvnrepository.com/artifact/commons-dbutils/commons-dbutils
val freemarkerVersion = "2.3.32" // https://mvnrepository.com/artifact/org.freemarker/freemarker
val jsoupVersion = "1.17.1" // https://mvnrepository.com/artifact/org.jsoup/jsoup
val kotlinLoggingVersion = "3.0.5" // https://mvnrepository.com/artifact/io.github.microutils/kotlin-logging
val kryoVersion = "5.5.0" // https://mvnrepository.com/artifact/com.esotericsoftware/kryo
val quarkusVersion = "3.6.1" // https://mvnrepository.com/artifact/io.quarkus.platform/quarkus-bom
val restAssuredKotlinExtensionsVersion = "5.4.0" // https://mvnrepository.com/artifact/io.rest-assured/kotlin-extensions
val svmVersion = "23.1.1" // https://mvnrepository.com/artifact/org.graalvm.nativeimage/svm
val mockkVersion = "1.13.8" // https://mvnrepository.com/artifact/io.mockk/mockk
dependencyManagement {
dependencies {
// persistence
dependency("com.esotericsoftware:kryo:$kryoVersion")
dependency("commons-dbutils:commons-dbutils:$dbUtilsVersion")
// logging
dependency("io.github.microutils:kotlin-logging-jvm:$kotlinLoggingVersion")
// templates
dependency("org.freemarker:freemarker:$freemarkerVersion")
// native
dependency("org.graalvm.nativeimage:svm:$svmVersion")
// tests
dependency("io.mockk:mockk:$mockkVersion")
dependency("io.rest-assured:kotlin-extensions:$restAssuredKotlinExtensionsVersion")
dependency("org.jsoup:jsoup:$jsoupVersion")
}
}
dependencies {
implementation(enforcedPlatform("io.quarkus.platform:quarkus-bom:$quarkusVersion"))
implementation("org.jetbrains.kotlin:kotlin-stdlib")
}
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
tasks.withType<KotlinCompile> {
kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString()
kotlinOptions.javaParameters = true
}
tasks.getByName("compileTestKotlin") {
dependsOn("jandex")
}
kotlin {
sourceSets {
test {
languageSettings.optIn("kotlinx.coroutines.ExperimentalCoroutinesApi")
}
}
}
tasks.withType<Test> {
useJUnitPlatform()
}
tasks.withType<Jar> {
duplicatesStrategy = DuplicatesStrategy.INCLUDE
}
}
task<Copy>("setUpGitHooks") {
from("git")
into(".git/hooks")
}