60 lines
1.8 KiB
Plaintext
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") } |