X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/b5d578e483abeda7bb5683b674f3fba17fb279bc..a6ec71dc315e5b259a7bfe70cad46b7780b73fa9:/build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts index d4bb65e7..f51d9f1c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,14 +3,23 @@ plugins { application eclipse `check-lib-versions` - id("org.graalvm.buildtools.native") version "0.9.11" + id("org.graalvm.buildtools.native") version "0.10.4" } -version = "0.10.4.2" +allprojects { + group = "org.asamk" + version = "0.13.13-SNAPSHOT" +} java { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 + + if (!JavaVersion.current().isCompatibleWith(targetCompatibility)) { + toolchain { + languageVersion.set(JavaLanguageVersion.of(targetCompatibility.majorVersion)) + } + } } application { @@ -20,27 +29,32 @@ 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") - buildArgs.add("--report-unsupported-elements-at-runtime") + 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.70") - implementation("com.fasterxml.jackson.core", "jackson-databind", "2.13.1") - implementation("net.sourceforge.argparse4j", "argparse4j", "0.9.0") - implementation("com.github.hypfvieh", "dbus-java-transport-native-unixsocket", "4.0.0") - implementation("org.slf4j", "slf4j-api", "1.7.32") - implementation("ch.qos.logback", "logback-classic", "1.2.10") - implementation("org.slf4j", "jul-to-slf4j", "1.7.32") - implementation(project(":lib")) + 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(":libsignal-cli")) } configurations { @@ -75,10 +89,12 @@ task("fatJar", type = Jar::class) { "META-INF/*.SF", "META-INF/*.DSA", "META-INF/*.RSA", - "META-INF/NOTICE", - "META-INF/LICENSE", + "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() as CopySpec) + with(tasks.jar.get()) }