import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { id("org.springframework.boot") version "3.0.1" id("io.spring.dependency-management") version "1.1.0" kotlin("jvm") version "1.8.0" kotlin("plugin.spring") version "1.8.0" kotlin("plugin.allopen") version "1.8.0" kotlin("plugin.jpa") version "1.8.0" kotlin("kapt") version "1.8.0" } group = "com.example" version = "0.0.1-SNAPSHOT" java.sourceCompatibility = JavaVersion.VERSION_17 repositories { mavenCentral() } dependencies { implementation("org.springframework.boot:spring-boot-starter-data-jpa") implementation("org.springframework.boot:spring-boot-starter-mustache") implementation("org.springframework.boot:spring-boot-starter-web") implementation("com.fasterxml.jackson.module:jackson-module-kotlin") implementation("org.jetbrains.kotlin:kotlin-reflect") runtimeOnly("com.h2database:h2") runtimeOnly("org.springframework.boot:spring-boot-devtools") kapt("org.springframework.boot:spring-boot-configuration-processor") testImplementation("org.springframework.boot:spring-boot-starter-test") { exclude(module = "mockito-core") } testImplementation("org.junit.jupiter:junit-jupiter-api") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") testImplementation("com.ninja-squad:springmockk:4.0.0") } tasks.withType { kotlinOptions { jvmTarget = "17" freeCompilerArgs += "-Xjsr305=strict" } } allOpen { annotation("jakarta.persistence.Entity") annotation("jakarta.persistence.Embeddable") annotation("jakarta.persistence.MappedSuperclass") } tasks.withType { useJUnitPlatform() }