plugins { application kotlin("jvm") version masterLibs.versions.kotlinVersion kotlin("plugin.serialization") version masterLibs.versions.kotlinVersion alias(masterLibs.plugins.versionPlugin) } application { mainClass = "net.keinekekse.MainKt" } // FAT JAR //tasks.withType { // manifest { // attributes["Main-Class"] = "net.keinekekse.MainKt" // } // // // Mit dem folgenden werden alle Abhängigkeiten in das Jar gepackt // // verhindert java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics // // // To avoid the duplicate handling strategy error // duplicatesStrategy = DuplicatesStrategy.EXCLUDE // // // To add all of the dependencies -> fat jar // from(sourceSets.main.get().output) // // dependsOn(configurations.runtimeClasspath) // from({ // configurations.runtimeClasspath.get().filter { it.name.endsWith("jar") }.map { zipTree(it) } // }) //} group = "net.keinekekse" version = libs.versions.ebookcmdVersion.get() description = "E-Book Command Line Tool" extra["displayname"] = "ebook cmd" extra["copyright"] = "Copyright (c) 2025 Hartmut Bauer" repositories { maven("https://nexus.keinekekse.net/repository/maven-public/") } dependencies { implementation(masterLibs.utilLibrary) implementation(masterLibs.kotlinxSerialization) implementation(masterLibs.kotlinxCoroutines) implementation(masterLibs.exposedCore) implementation(masterLibs.exposedCrypt) implementation(masterLibs.exposedDao) implementation(masterLibs.exposedJdbc) implementation(masterLibs.exposedKotlinDatetime) implementation(masterLibs.exposedJson) implementation(masterLibs.exposedMoney) implementation(masterLibs.sqliteJdbc) } kotlin { jvmToolchain { // etwas umständlich, aber nur so fkt es mit String languageVersion.set(JavaLanguageVersion.of(masterLibs.versions.javaVersion.get())) } }