Inceptum/launcher-gtk/build.gradle.kts

60 lines
1.8 KiB
Plaintext

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("inceptum.application")
id("com.github.johnrengelman.shadow")
kotlin("jvm") version "1.9.0"
kotlin("plugin.sam.with.receiver") version "1.9.0"
}
application {
mainClass.set("io.gitlab.jfronny.inceptum.gtk.GtkMain")
}
samWithReceiver {
annotation("io.gitlab.jfronny.commons.SamWithReceiver")
}
repositories {
mavenLocal()
maven("https://jitpack.io") {
content {
includeGroup("com.github.jwharm.java-gi")
}
}
}
dependencies {
val javagiVersion: String by rootProject.extra
implementation("com.github.jwharm.java-gi:glib:$javagiVersion")
implementation("com.github.jwharm.java-gi:gtk:$javagiVersion")
implementation("com.github.jwharm.java-gi:adwaita:$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")
}
tasks.withType(KotlinCompile::class) { compilerOptions.freeCompilerArgs.addAll("-Xlambdas=indy") }