plugins { id("org.springframework.boot") version "3.4.5" id("io.spring.dependency-management") version "1.1.7" kotlin("jvm") version "2.1.21" kotlin("plugin.spring") version "2.1.21" kotlin("plugin.jpa") version "2.1.21" } group = "com.condado" version = "0.0.1-SNAPSHOT" java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } kotlin { jvmToolchain(21) } repositories { mavenCentral() } dependencies { // ── Spring Boot starters ───────────────────────────────────────────────── implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.springframework.boot:spring-boot-starter-data-jpa") implementation("org.springframework.boot:spring-boot-starter-mail") implementation("org.springframework.boot:spring-boot-starter-validation") implementation("org.springframework.boot:spring-boot-starter-security") // ── Kotlin ─────────────────────────────────────────────────────────────── implementation("org.jetbrains.kotlin:kotlin-reflect") implementation("com.fasterxml.jackson.module:jackson-module-kotlin") // ── JWT (JJWT 0.12.x) ──────────────────────────────────────────────────── implementation("io.jsonwebtoken:jjwt-api:0.12.6") runtimeOnly("io.jsonwebtoken:jjwt-impl:0.12.6") runtimeOnly("io.jsonwebtoken:jjwt-jackson:0.12.6") // ── Database ───────────────────────────────────────────────────────────── runtimeOnly("org.postgresql:postgresql") // ── IMAP (Jakarta Mail via Angus Mail) ──────────────────────────────────── implementation("org.eclipse.angus:angus-mail:2.0.3") // ── OpenAPI / Swagger UI ────────────────────────────────────────────────── implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.5.0") // ── Test ───────────────────────────────────────────────────────────────── testImplementation("org.springframework.boot:spring-boot-starter-test") { exclude(group = "org.mockito") } testImplementation("org.springframework.security:spring-security-test") testImplementation("io.mockk:mockk:1.13.11") testImplementation("com.ninja-squad:springmockk:4.0.2") testRuntimeOnly("com.h2database:h2") } tasks.withType { useJUnitPlatform() }