]> nmode's Git Repositories - signal-cli/blobdiff - build.gradle.kts
Bump rustls from 0.21.10 to 0.21.11 in /client (#1511)
[signal-cli] / build.gradle.kts
index a419df8a45c38a87e9c522777a4b82973e302501..527f8146a4627acaa8ff28718a9e33dc6f7aa346 100644 (file)
@@ -3,14 +3,18 @@ plugins {
     application
     eclipse
     `check-lib-versions`
-    id("org.graalvm.buildtools.native") version "0.9.6"
+    id("org.graalvm.buildtools.native") version "0.10.1"
 }
 
-version = "0.9.1"
+version = "0.13.4-SNAPSHOT"
 
 java {
-    sourceCompatibility = JavaVersion.VERSION_11
-    targetCompatibility = JavaVersion.VERSION_11
+    sourceCompatibility = JavaVersion.VERSION_21
+    targetCompatibility = JavaVersion.VERSION_21
+
+    toolchain {
+        languageVersion.set(JavaLanguageVersion.of(21))
+    }
 }
 
 application {
@@ -20,22 +24,31 @@ application {
 graalvmNative {
     binaries {
         this["main"].run {
+            buildArgs.add("--install-exit-handlers")
+            buildArgs.add("-Dfile.encoding=UTF-8")
+            buildArgs.add("-J-Dfile.encoding=UTF-8")
+            resources.autodetect()
             configurationFileDirectories.from(file("graalvm-config-dir"))
-            buildArgs.add("--allow-incomplete-classpath")
+            if (System.getenv("GRAALVM_HOME") == null) {
+                toolchainDetection.set(true)
+                javaLauncher.set(javaToolchains.launcherFor {
+                    languageVersion.set(JavaLanguageVersion.of(21))
+                })
+            } else {
+                toolchainDetection.set(false)
+            }
         }
     }
 }
 
-repositories {
-    mavenLocal()
-    mavenCentral()
-}
-
 dependencies {
-    implementation("org.bouncycastle:bcprov-jdk15on:1.69")
-    implementation("net.sourceforge.argparse4j:argparse4j:0.9.0")
-    implementation("com.github.hypfvieh:dbus-java:3.3.0")
-    implementation("org.slf4j:slf4j-simple:1.7.30")
+    implementation(libs.bouncycastle)
+    implementation(libs.jackson.databind)
+    implementation(libs.argparse4j)
+    implementation(libs.dbusjava)
+    implementation(libs.slf4j.api)
+    implementation(libs.slf4j.jul)
+    implementation(libs.logback)
     implementation(project(":lib"))
 }
 
@@ -64,3 +77,19 @@ tasks.withType<Jar> {
         )
     }
 }
+
+task("fatJar", type = Jar::class) {
+    archiveBaseName.set("${project.name}-fat")
+    exclude(
+        "META-INF/*.SF",
+        "META-INF/*.DSA",
+        "META-INF/*.RSA",
+        "META-INF/NOTICE*",
+        "META-INF/LICENSE*",
+        "META-INF/INDEX.LIST",
+        "**/module-info.class"
+    )
+    duplicatesStrategy = DuplicatesStrategy.WARN
+    from(configurations.runtimeClasspath.get().map { if (it.isDirectory) it else zipTree(it) })
+    with(tasks.jar.get())
+}