plugins { kotlin("jvm") version "2.2.21" application } import org.gradle.api.file.DuplicatesStrategy group = "dev.nativeeditor" version = "0.1.0" kotlin { jvmToolchain(21) } dependencies { implementation(gradleApi()) // Kotlin Analysis API is published for IDE usage as thin POMs whose internal module // dependencies are not independently resolvable. Use the combined jars directly. implementation("org.jetbrains.kotlin:analysis-api-for-ide:2.2.21") { isTransitive = false } implementation("org.jetbrains.kotlin:analysis-api-impl-base-for-ide:2.2.21") { isTransitive = false } implementation("org.jetbrains.kotlin:analysis-api-platform-interface-for-ide:2.2.21") { isTransitive = false } implementation("org.jetbrains.kotlin:analysis-api-k2-for-ide:2.2.21") { isTransitive = false } implementation("org.jetbrains.kotlin:low-level-api-fir-for-ide:2.2.21") { isTransitive = false } implementation("org.jetbrains.kotlin:symbol-light-classes-for-ide:2.2.21") { isTransitive = false } implementation("org.jetbrains.kotlin:analysis-api-standalone-for-ide:2.2.21") { isTransitive = false } implementation("org.jetbrains.kotlin:kotlin-compiler:2.2.21") implementation("com.github.ben-manes.caffeine:caffeine:3.1.8") implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:1.7.3") implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3") } application { mainClass.set("dev.nativeeditor.daemon.MainKt") } tasks.withType().configureEach { duplicatesStrategy = DuplicatesStrategy.EXCLUDE }