plugins { kotlin("jvm") version "2.1.20" kotlin("plugin.serialization") version "2.1.21" application } group = "me.koendev" version = "1.0.0" repositories { mavenCentral() } dependencies { implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.1") implementation("de.thelooter:toml4j:0.8.1") implementation("io.github.cdimascio:dotenv-kotlin:6.5.1") } tasks.test { useJUnitPlatform() } kotlin { jvmToolchain(21) } application.mainClass = "me.koendev.MainKt" tasks.withType { // Otherwise you'll get a "No main manifest attribute" error manifest { attributes["Main-Class"] = "me.koendev.MainKt" } // To avoid the duplicate handling strategy error duplicatesStrategy = DuplicatesStrategy.EXCLUDE // To add all the dependencies otherwise a "NoClassDefFoundError" error from(sourceSets.main.get().output) dependsOn(configurations.runtimeClasspath) from({ configurations.runtimeClasspath.get().filter { it.name.endsWith("jar") }.map { zipTree(it) } }) }