import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { id("org.springframework.boot") version "3.2.5" id("io.spring.dependency-management") version "1.1.4" id("org.jetbrains.kotlin.plugin.jpa") version "2.0.0" kotlin("jvm") version "2.0.0" kotlin("plugin.spring") version "2.0.0" } group = "net.halfbinary" version = "0.0.13-SNAPSHOT" java { sourceCompatibility = JavaVersion.VERSION_21 } configurations { compileOnly { extendsFrom(configurations.annotationProcessor.get()) } } repositories { mavenCentral() } val mp3agicVersion = "0.9.1" val kotlinLoggingVersion = "6.0.9" val slf4jApiVersion = "2.0.13" val logbackVersion = "1.5.6" val coroutinesVersion = "1.8.1" dependencies { implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.springframework.boot:spring-boot-starter-webflux") implementation("org.springframework.boot:spring-boot-starter-data-jpa:3.3.0") implementation("com.fasterxml.jackson.module:jackson-module-kotlin") implementation("io.projectreactor.kotlin:reactor-kotlin-extensions") implementation("org.jetbrains.kotlin:kotlin-reflect") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactor") implementation("com.fasterxml.jackson.module:jackson-module-kotlin") implementation("org.jetbrains.kotlin:kotlin-reflect") implementation("com.mpatric:mp3agic:$mp3agicVersion") implementation("io.github.oshai:kotlin-logging:$kotlinLoggingVersion") implementation("org.slf4j:slf4j-api:$slf4jApiVersion") implementation("ch.qos.logback:logback-core:$logbackVersion") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion") implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.5.0") runtimeOnly("com.h2database:h2") developmentOnly("org.springframework.boot:spring-boot-devtools") annotationProcessor("org.springframework.boot:spring-boot-configuration-processor") testImplementation("org.springframework.boot:spring-boot-starter-test") testImplementation("ch.qos.logback:logback-classic:$logbackVersion") testImplementation("org.springframework.boot:spring-boot-starter-test") testImplementation("io.projectreactor:reactor-test") testImplementation("org.jetbrains.kotlin:kotlin-test-junit5") testRuntimeOnly("org.junit.platform:junit-platform-launcher") } tasks.withType { kotlinOptions { freeCompilerArgs += "-Xjsr305=strict" jvmTarget = "21" } } tasks.withType { useJUnitPlatform() }