potrogue/build.gradle.kts

63 lines
1.5 KiB
Text

import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
val zircon_version: String by project
val slf4j_version: String by project
val junit_version: String by project
val mockito_version: String by project
val assertj_version: String by project
val game_name: String by project
val version: String by project
plugins {
kotlin("jvm") version "1.9.10"
id("com.github.johnrengelman.shadow") version "8.1.1"
}
repositories {
mavenLocal()
mavenCentral()
jcenter()
}
java {
sourceCompatibility = JavaVersion.VERSION_20
targetCompatibility = JavaVersion.VERSION_20
}
dependencies {
implementation("org.slf4j:slf4j-api:$slf4j_version")
implementation("org.slf4j:slf4j-simple:$slf4j_version")
implementation("org.hexworks.zircon:zircon.core-jvm:$zircon_version")
implementation("org.hexworks.zircon:zircon.jvm.swing:$zircon_version")
implementation(kotlin("stdlib-jdk8"))
testImplementation("junit:junit:$junit_version")
testImplementation("org.mockito:mockito-all:$mockito_version")
testImplementation("org.assertj:assertj-core:$assertj_version")
}
tasks {
named<ShadowJar>("shadowJar") {
archiveBaseName.set("$game_name + $version")
mergeServiceFiles()
manifest {
attributes(mapOf("Main-Class" to "group.ouroboros.potrogue.MainKt"))
}
}
}
tasks {
build {
dependsOn(shadowJar)
}
}
val jar by tasks.getting(Jar::class) {
manifest {
attributes["Main-Class"] = "group.ouroboros.potrogue.MainKt"
}
}