// Input: A Java Spring Boot project switching to Kotlin // Output: Complete build.gradle.kts with all required plugins and dependencies import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { id("org.springframework.boot") version "3.4.2" id("io.spring.dependency-management") version "1.1.7" kotlin("jvm") version "2.1.10" kotlin("plugin.spring") version "2.1.10" kotlin("plugin.jpa") version "2.1.10" kotlin("kapt") version "2.1.10" // Only if using annotation processors } group = "com.example" version = "1.0.0" java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } 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-validation") implementation("org.springframework.boot:spring-boot-starter-security") // Kotlin essentials implementation("org.jetbrains.kotlin:kotlin-reflect") implementation("com.fasterxml.jackson.module:jackson-module-kotlin") // Database runtimeOnly("org.postgresql:postgresql") // Testing testImplementation("org.springframework.boot:spring-boot-starter-test") testImplementation("io.mockk:mockk:1.13.13") testImplementation("com.ninja-squad:springmockk:4.0.2") } kotlin { compilerOptions { freeCompilerArgs.addAll("-Xjsr305=strict") } } tasks.withType { useJUnitPlatform() }