plugins { id("org.springframework.boot") kotlin("plugin.spring") kotlin("plugin.jpa") } 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 implementation("com.github.f4b6a3:tsid-creator:5.2.6") runtimeOnly("com.h2database:h2") runtimeOnly("com.mysql:mysql-connector-j") // 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("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") // etc implementation("org.apache.poi:poi-ooxml:5.2.3") // submodules implementation(project(":common:config")) } tasks.jar { enabled = false }