Inceptum/launcher-gtk/build.gradle.kts

49 lines
1.5 KiB
Plaintext

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
inceptum.application
com.github.johnrengelman.shadow
kotlin("jvm") version libs.versions.kotlin
kotlin("plugin.sam.with.receiver") version libs.versions.kotlin
}
application {
mainClass.set("io.gitlab.jfronny.inceptum.gtk.GtkMain")
}
samWithReceiver {
annotation("io.gitlab.jfronny.commons.SamWithReceiver")
}
dependencies {
val javagiVersion: String by rootProject.extra
implementation(libs.bundles.javagi)
implementation(projects.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")
}
tasks.withType(KotlinCompile::class) { compilerOptions.freeCompilerArgs.addAll("-Xlambdas=indy") }