plugins { kotlin("jvm") version "1.9.20" kotlin("plugin.spring") version "1.9.20" kotlin("plugin.jpa") version "1.9.20" id("org.springframework.boot") version "3.2.2" id("io.spring.dependency-management") version "1.1.4" } group = "com.smoa" version = "1.0.0" java { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } repositories { mavenCentral() } dependencies { 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") implementation("com.fasterxml.jackson.module:jackson-module-kotlin") implementation("org.jetbrains.kotlin:kotlin-reflect") implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") // OpenAPI / Swagger implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.3.0") // Auth implementation("org.springframework.boot:spring-boot-starter-security") // Database (H2 for development; switch to PostgreSQL in production) runtimeOnly("com.h2database:h2") implementation("org.flywaydb:flyway-core") testImplementation("org.springframework.boot:spring-boot-starter-test") testImplementation("org.springframework.security:spring-security-test") testImplementation("io.mockk:mockk:1.13.8") } tasks.withType { useJUnitPlatform() } tasks.bootRun { jvmArgs = listOf("-Dspring.profiles.active=dev") }