Files
ebookcmd/build.gradle.kts
2026-01-19 01:16:17 +01:00

72 lines
2.2 KiB
Kotlin

plugins {
application
kotlin("jvm") version masterLibs.versions.kotlinVersion
kotlin("plugin.serialization") version masterLibs.versions.kotlinVersion
id("org.graalvm.buildtools.native") version "0.11.3"
alias(masterLibs.plugins.versionPlugin)
}
application {
mainClass = "net.keinekekse.MainKt"
}
// FAT JAR
//tasks.withType<Jar> {
// 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 = "Serien-EPUBs in die Calibre-Bibliothek importieren oder\\n" +
"Metadaten von EPUB-Dateien anzeigen bzw. verändern."
extra["displayname"] = "eBook CMD"
extra["copyright"] = "Copyright (c) 2025-2026 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()))
}
}
graalvmNative {
binaries {
named("main") {
buildArgs.add("--initialize-at-build-time")
}
}
}