-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbuild.gradle.kts
115 lines (100 loc) · 3.14 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
108
109
110
111
112
113
114
115
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
kotlin("jvm")
kotlin("kapt")
kotlin("plugin.spring") apply false
kotlin("plugin.jpa") apply false
id("org.springframework.boot") apply false
id("io.spring.dependency-management") apply false
id("org.jlleitschuh.gradle.ktlint") version "11.6.0"
id("jacoco")
}
java {
sourceCompatibility = JavaVersion.valueOf("VERSION_${property("javaVersion")}")
}
jacoco {
toolVersion = "0.8.8"
}
configurations {
compileOnly {
extendsFrom(configurations.annotationProcessor.get())
}
}
val projectGroup: String by project
val applicationVersion: String by project
allprojects {
group = projectGroup
version = applicationVersion
repositories {
mavenCentral()
}
}
subprojects {
apply(plugin = "org.jetbrains.kotlin.jvm")
apply(plugin = "org.jetbrains.kotlin.kapt")
apply(plugin = "org.jetbrains.kotlin.plugin.spring")
apply(plugin = "org.jetbrains.kotlin.plugin.jpa")
apply(plugin = "org.springframework.boot")
apply(plugin = "io.spring.dependency-management")
apply(plugin = "jacoco")
apply(plugin = "org.jlleitschuh.gradle.ktlint")
tasks.getByName("bootJar") {
enabled = false
}
tasks.getByName("jar") {
enabled = true
}
dependencies {
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
testImplementation("org.springframework.boot:spring-boot-starter-test")
annotationProcessor("org.springframework.boot:spring-boot-configuration-processor")
kapt("org.springframework.boot:spring-boot-configuration-processor")
}
tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs += "-Xjsr305=strict"
jvmTarget = "${project.property("javaVersion")}"
}
}
tasks.register<Test>("unitTest") {
useJUnitPlatform {
excludeTags("integration")
}
extensions.configure(JacocoTaskExtension::class) {
setDestinationFile(file("build/jacoco/jacoco-unit.exec"))
}
testLogging {
events("passed", "skipped", "failed")
}
maxHeapSize = "2048m"
}
tasks.register<Test>("integrationTest") {
useJUnitPlatform {
includeTags("integration")
}
extensions.configure(JacocoTaskExtension::class) {
setDestinationFile(file("build/jacoco/jacoco-integration.exec"))
}
testLogging {
events("passed", "skipped", "failed")
}
maxHeapSize = "2048m"
}
tasks.getByName<JacocoReport>("jacocoTestReport") {
dependsOn("unitTest", "integrationTest")
reports {
xml.required.set(true)
html.required.set(true)
}
afterEvaluate {
executionData.setFrom(
files(
"$buildDir/jacoco/jacoco-unit.exec",
"$buildDir/jacoco/jacoco-integration.exec",
),
)
}
}
}