54 lines
1.1 KiB
Plaintext
54 lines
1.1 KiB
Plaintext
plugins {
|
|
kotlin("jvm") version "2.1.21"
|
|
application
|
|
id("com.github.johnrengelman.shadow") version "8.1.1"
|
|
}
|
|
|
|
group = "com.soundforce.apisign"
|
|
version = "1.0.0"
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
dependencies {
|
|
implementation(kotlin("stdlib"))
|
|
implementation("org.jetbrains.kotlinx:kotlinx-cli:0.3.6")
|
|
implementation("io.github.cdimascio:dotenv-kotlin:6.5.1")
|
|
testImplementation(kotlin("test"))
|
|
}
|
|
|
|
application {
|
|
mainClass.set("com.soundforce.apisign.MainKt")
|
|
}
|
|
|
|
tasks.test {
|
|
useJUnitPlatform()
|
|
}
|
|
|
|
java {
|
|
toolchain {
|
|
languageVersion.set(JavaLanguageVersion.of(21))
|
|
}
|
|
}
|
|
|
|
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
|
|
kotlinOptions {
|
|
jvmTarget = "21"
|
|
}
|
|
}
|
|
|
|
tasks.jar {
|
|
manifest {
|
|
attributes["Main-Class"] = "com.soundforce.apisign.MainKt"
|
|
}
|
|
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
|
from(configurations.runtimeClasspath.get().map { if (it.isDirectory) it else zipTree(it) })
|
|
}
|
|
|
|
tasks.shadowJar {
|
|
archiveBaseName.set("apisign")
|
|
archiveClassifier.set("")
|
|
archiveVersion.set("1.0.0")
|
|
mergeServiceFiles()
|
|
} |