import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar val zircon_version: String by project val amethyst_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("org.hexworks.amethyst:amethyst.core-jvm:$amethyst_version") implementation(kotlin("stdlib-jdk8")) testImplementation("junit:junit:$junit_version") testImplementation("org.mockito:mockito-all:$mockito_version") testImplementation("org.assertj:assertj-core:$assertj_version") implementation("org.freedesktop:xdg-java:0.0.1-SNAPSHOT@jar") implementation("org.assertj:assertj-core:3.6.2") } tasks { named("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" } }