Inceptum/launcher-gtk/build.gradle.kts

63 lines
1.9 KiB
Plaintext

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("inceptum.application")
id("com.github.johnrengelman.shadow")
kotlin("jvm") version "1.8.21"
}
application {
mainClass.set("io.gitlab.jfronny.inceptum.gtk.GtkMain")
}
repositories {
mavenLocal()
maven { url = uri("https://maven.frohnmeyer-wds.de/java-gi") }
}
dependencies {
val javagiVersion: String by rootProject.extra
val glibVersion: String by rootProject.extra
val gtkVersion: String by rootProject.extra
val adwaitaVersion: String by rootProject.extra
implementation("io.github.jwharm.javagi:glib:$glibVersion-$javagiVersion")
implementation("io.github.jwharm.javagi:gtk:$gtkVersion-$javagiVersion")
implementation("io.github.jwharm.javagi:adwaita:$adwaitaVersion-$javagiVersion")
implementation(project(":launcher"))
}
tasks.compileJava {
options.compilerArgs.add("--enable-preview")
}
tasks.runShadow {
if (project.hasProperty("showcase")) {
environment("GTK_THEME", "Adwaita")
environment("GDK_BACKEND", "broadway")
environment("BROADWAY_DISPLAY", ":5")
var proc: Process? = null
doFirst {
proc = Runtime.getRuntime().exec(arrayOf("gtk4-broadwayd", ":5"))
Runtime.getRuntime().exec(arrayOf("xdg-open", "http://127.0.0.1:8085"))
Thread.sleep(1000)
}
doLast {
if (proc != null) Runtime.getRuntime().exec(arrayOf("kill", proc!!.pid().toString()))
}
}
workingDir = rootProject.projectDir
environment("GTK_DEBUG", "interactive") // interactive:actions
jvmArgs("--enable-preview", "--enable-native-access=ALL-UNNAMED")
}
kotlin {
sourceSets.all {
languageSettings {
languageVersion = "2.0"
progressiveMode = true
}
}
}
tasks.withType(KotlinCompile::class) { compilerOptions.freeCompilerArgs.addAll("-Xlambdas=indy") }