generated from pricelees/issue-pr-template
<!-- 제목 양식 --> <!-- [이슈번호] 작업 요약 (예시: [#10] Gitea 템플릿 생성) --> ## 📝 관련 이슈 및 PR **PR과 관련된 이슈 번호** - #26 ## ✨ 작업 내용 <!-- 어떤 작업을 했는지 알려주세요! --> - actuator, micrometer tracing / datasource 추가 - 로그에 traceId, spanId 추가 - 로깅 방식 개선: 필터가 http 요청 기록 -> 컨트롤러 요청 / 응답은 AOP를 이용하여 기록 ## 🧪 테스트 <!-- 어떤 테스트를 생각했고 진행했는지 알려주세요! --> - 로그 메시지를 만들고, 마스킹하는 두 클래스에 대한 테스트 완료 - 전체 테스트 정상 통과 확인 ## 📚 참고 자료 및 기타 <!-- 참고한 자료, 또는 논의할 사항이 있다면 알려주세요! --> Reviewed-on: #27 Co-authored-by: pricelees <priceelees@gmail.com> Co-committed-by: pricelees <priceelees@gmail.com>
91 lines
2.7 KiB
Plaintext
91 lines
2.7 KiB
Plaintext
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
|
|
|
plugins {
|
|
val springBootVersion = "3.5.3"
|
|
val kotlinVersion = "2.2.0"
|
|
|
|
id("org.springframework.boot") version springBootVersion
|
|
id("io.spring.dependency-management") version "1.1.7"
|
|
kotlin("jvm") version kotlinVersion
|
|
kotlin("plugin.spring") version kotlinVersion
|
|
kotlin("plugin.jpa") version kotlinVersion
|
|
kotlin("kapt") version kotlinVersion
|
|
}
|
|
|
|
group = "com.sangdol"
|
|
version = "0.0.1-SNAPSHOT"
|
|
|
|
java {
|
|
toolchain {
|
|
languageVersion = JavaLanguageVersion.of(17)
|
|
}
|
|
}
|
|
|
|
kapt {
|
|
keepJavacAnnotationProcessors = true
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
dependencies {
|
|
// Spring
|
|
implementation("org.springframework.boot:spring-boot-starter-web")
|
|
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
|
|
implementation("org.springframework.boot:spring-boot-starter-validation")
|
|
|
|
// API docs
|
|
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.9")
|
|
|
|
// DB
|
|
runtimeOnly("com.h2database:h2")
|
|
|
|
// Jwt
|
|
implementation("io.jsonwebtoken:jjwt:0.12.6")
|
|
|
|
// Logging
|
|
implementation("io.github.oshai:kotlin-logging-jvm:7.0.3")
|
|
implementation("net.logstash.logback:logstash-logback-encoder:8.1")
|
|
implementation("com.github.loki4j:loki-logback-appender:2.0.0")
|
|
implementation("net.ttddyy.observation:datasource-micrometer-spring-boot:1.1.1")
|
|
|
|
// Observability
|
|
implementation("org.springframework.boot:spring-boot-starter-actuator")
|
|
implementation("io.micrometer:micrometer-tracing-bridge-otel")
|
|
implementation("io.opentelemetry:opentelemetry-exporter-otlp")
|
|
runtimeOnly("io.micrometer:micrometer-registry-prometheus")
|
|
|
|
// Kotlin
|
|
implementation("org.jetbrains.kotlin:kotlin-reflect")
|
|
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
|
|
implementation("io.github.oshai:kotlin-logging-jvm:7.0.3")
|
|
|
|
// Test
|
|
testImplementation("org.springframework.boot:spring-boot-starter-test")
|
|
testImplementation("io.mockk:mockk:1.14.4")
|
|
testImplementation("com.ninja-squad:springmockk:4.0.2")
|
|
|
|
// Kotest
|
|
testImplementation("io.kotest:kotest-runner-junit5:5.9.1")
|
|
testImplementation("io.kotest.extensions:kotest-extensions-spring:1.3.0")
|
|
|
|
// RestAssured
|
|
testImplementation("io.rest-assured:rest-assured:5.5.5")
|
|
testImplementation("io.rest-assured:kotlin-extensions:5.5.5")
|
|
}
|
|
|
|
tasks.withType<Test> {
|
|
useJUnitPlatform()
|
|
}
|
|
|
|
tasks.withType<KotlinCompile> {
|
|
compilerOptions {
|
|
freeCompilerArgs.addAll(
|
|
"-Xjsr305=strict",
|
|
"-Xannotation-default-target=param-property"
|
|
)
|
|
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17)
|
|
}
|
|
}
|