-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
120 lines (98 loc) · 3.92 KB
/
build.gradle
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
116
117
118
119
120
plugins {
id 'org.springframework.boot' version '3.3.2'
id 'io.spring.dependency-management' version '1.1.6'
id 'org.jetbrains.kotlin.plugin.jpa' version '1.9.24'
id 'org.jetbrains.kotlin.jvm' version '1.9.24'
id 'org.jetbrains.kotlin.plugin.spring' version '1.9.24'
id 'jacoco'
}
group = 'com.flab'
version = '0.0.1-SNAPSHOT'
java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'com.fasterxml.jackson.module:jackson-module-kotlin'
implementation 'org.jetbrains.kotlin:kotlin-reflect'
implementation 'org.springframework.boot:spring-boot-starter-mail'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-actuator'
runtimeOnly 'io.micrometer:micrometer-registry-prometheus'
implementation 'com.aventrix.jnanoid:jnanoid:2.0.0'
implementation 'com.google.zxing:javase:3.5.3'
implementation 'io.jsonwebtoken:jjwt-api:0.12.6'
runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.12.6'
runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.12.6'
implementation 'com.linecorp.kotlin-jdsl:jpql-dsl:3.5.1'
implementation 'com.linecorp.kotlin-jdsl:jpql-render:3.5.1'
implementation 'com.linecorp.kotlin-jdsl:spring-data-jpa-support:3.5.1'
implementation "com.mysql:mysql-connector-j"
runtimeOnly 'com.oracle.database.jdbc:ojdbc11'
implementation 'com.oracle.database.security:osdt_cert'
implementation 'com.oracle.database.security:oraclepki'
implementation 'com.oracle.database.security:osdt_core'
implementation 'net.logstash.logback:logstash-logback-encoder:8.0'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'io.kotest:kotest-assertions-core-jvm:5.9.1'
testImplementation 'io.kotest:kotest-runner-junit5-jvm:5.9.1'
implementation 'io.kotest.extensions:kotest-extensions-spring:1.3.0'
testImplementation 'com.h2database:h2:2.3.230'
testImplementation 'io.mockk:mockk:1.13.12'
testImplementation 'com.ninja-squad:springmockk:4.0.2'
testImplementation 'com.github.codemonstur:embedded-redis:1.4.3'
testImplementation 'com.icegreen:greenmail:2.0.1'
testImplementation 'com.squareup.okhttp3:okhttp:4.12.0'
testImplementation 'com.squareup.okhttp3:mockwebserver:4.12.0'
implementation "org.springframework.boot:spring-boot-starter-aop"
}
kotlin {
compilerOptions {
freeCompilerArgs.addAll '-Xjsr305=strict'
}
}
tasks.named('test') {
useJUnitPlatform()
}
tasks.named("jar") {
enabled = false // Plain jar이 생성되지 않도록 제한
}
jacoco {
toolVersion = '0.8.12'
}
jacocoTestReport {
dependsOn test
reports {
html.required.set true
xml.required.set true
csv.required.set false
}
afterEvaluate {
classDirectories.setFrom(files(classDirectories.files.collect {
fileTree(dir: it, exclude: [
"com/flab/ticketing/**/TicketingApplication.*",
"com/flab/ticketing/**/TicketingApplicationKt.*",
"com/flab/ticketing/**/dto/*",
"com/flab/ticketing/**/exception/*",
"**/config/*"
])
}))
}
}
task testCoverage(type: Test) {
group 'verification'
description 'Runs the unit tests with coverage'
dependsOn(':test',
':jacocoTestReport',
':jacocoTestCoverageVerification')
tasks['jacocoTestReport'].mustRunAfter(tasks['test'])
tasks['jacocoTestCoverageVerification'].mustRunAfter(tasks['jacocoTestReport'])
}