]> nmode's Git Repositories - signal-cli/commitdiff
Switch to Java 21
authorAsamK <asamk@gmx.de>
Sat, 30 Sep 2023 20:38:24 +0000 (22:38 +0200)
committerAsamK <asamk@gmx.de>
Tue, 24 Oct 2023 15:36:32 +0000 (17:36 +0200)
.github/workflows/ci.yml
.github/workflows/codeql-analysis.yml
Containerfile
README.md
build.gradle.kts
graalvm-config-dir/reflect-config.json
graalvm-config-dir/resource-config.json
lib/build.gradle.kts
run_tests.sh

index 5976805e4757a290e20010d45124f4680ad56471..1c6bb3c0677650b00da19aa2831341e7d96c4a2b 100644 (file)
@@ -16,7 +16,7 @@ jobs:
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        java: [ '17', '21' ]
+        java: [ '21' ]
 
     steps:
       - uses: actions/checkout@v4
@@ -48,7 +48,7 @@ jobs:
       - uses: graalvm/setup-graalvm@v1
         with:
           version: 'latest'
-          java-version: '17'
+          java-version: '21'
           cache: 'gradle'
           github-token: ${{ secrets.GITHUB_TOKEN }}
       - name: Build with Gradle
index 9bb10c389bf8eda65e5b3ea069cf18d31dd293a5..ff13469a19cd9b62221a2dbe244e99ef6d0acca8 100644 (file)
@@ -24,7 +24,7 @@ jobs:
         uses: actions/setup-java@v3
         with:
           distribution: 'zulu'
-          java-version: 17
+          java-version: 21
 
       - name: Checkout repository
         uses: actions/checkout@v4
index 1a1167baeedaa22d4bc9bfd0c3aca28aa1cfc550..361c266754dd90843ffbac2aa79e7cc83b2155fd 100644 (file)
@@ -1,4 +1,4 @@
-FROM docker.io/eclipse-temurin:17-jre
+FROM docker.io/azul/zulu-openjdk:21-jre-headless
 
 LABEL org.opencontainers.image.source=https://github.com/AsamK/signal-cli
 LABEL org.opencontainers.image.description="signal-cli provides an unofficial commandline, dbus and JSON-RPC interface for the Signal messenger."
index a254e267cf071cc17e9a97399090830039d1d77c..8d61bc1fb75ac323743a9e8ed0a341aa67267b2c 100644 (file)
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@ Windows. There's also a [docker image and some Linux packages](https://github.co
 
 System requirements:
 
-- at least Java Runtime Environment (JRE) 17
+- at least Java Runtime Environment (JRE) 21
 - native library: libsignal-client
 
   The native libs are bundled for x86_64 Linux (with recent enough glibc), Windows and MacOS. For other
index 5879660e09c2601bb8cc766e8390a1922f53fd2e..68eed610b3e04e9cc30e6064284bf097fb2c023d 100644 (file)
@@ -9,8 +9,12 @@ plugins {
 version = "0.12.4"
 
 java {
-    sourceCompatibility = JavaVersion.VERSION_17
-    targetCompatibility = JavaVersion.VERSION_17
+    sourceCompatibility = JavaVersion.VERSION_21
+    targetCompatibility = JavaVersion.VERSION_21
+
+    toolchain {
+        languageVersion.set(JavaLanguageVersion.of(21))
+    }
 }
 
 application {
@@ -25,7 +29,7 @@ graalvmNative {
             if (System.getenv("GRAALVM_HOME") == null) {
                 toolchainDetection.set(true)
                 javaLauncher.set(javaToolchains.launcherFor {
-                    languageVersion.set(JavaLanguageVersion.of(17))
+                    languageVersion.set(JavaLanguageVersion.of(21))
                 })
             } else {
                 toolchainDetection.set(false)
index 24763591de9f9fa7df93b619422db5f7f75945a9..9f2935ce79be63b529094bc96c3b2b92301b8ac0 100644 (file)
@@ -48,6 +48,9 @@
 {
   "name":"[Lorg.whispersystems.signalservice.internal.push.GroupStaleDevices;"
 },
+{
+  "name":"android.os.Build$VERSION"
+},
 {
   "name":"byte[]",
   "allDeclaredMethods":true,
index 7332edb83c6ed0a5c8b1f2513bdb64f91f230763..b79033ea6e81d8c258e05051f703d0ecbf4d4c3f 100644 (file)
@@ -28,6 +28,8 @@
     "pattern":"\\QMETA-INF/services/kotlin.reflect.jvm.internal.impl.resolve.ExternalOverridabilityCondition\\E"
   }, {
     "pattern":"\\QMETA-INF/services/kotlin.reflect.jvm.internal.impl.util.ModuleVisibilityHelper\\E"
+  }, {
+    "pattern":"\\QMETA-INF/services/org.freedesktop.dbus.spi.message.ISocketProvider\\E"
   }, {
     "pattern":"\\QMETA-INF/services/org.freedesktop.dbus.spi.transport.ITransportProvider\\E"
   }, {
     "pattern":"java.base:\\Qjdk/internal/icu/impl/data/icudt67b/nfc.nrm\\E"
   }, {
     "pattern":"java.base:\\Qjdk/internal/icu/impl/data/icudt67b/uprops.icu\\E"
+  }, {
+    "pattern":"java.base:\\Qjdk/internal/icu/impl/data/icudt72b/nfc.nrm\\E"
   }, {
     "pattern":"java.base:\\Qjdk/internal/icu/impl/data/icudt72b/uprops.icu\\E"
   }, {
index dd765cbacc77ecf6f7cb515dc59de1e62117cfa9..38d4c221170b2586e34fa69a46b352bf9e5266d0 100644 (file)
@@ -4,8 +4,12 @@ plugins {
 }
 
 java {
-    sourceCompatibility = JavaVersion.VERSION_17
-    targetCompatibility = JavaVersion.VERSION_17
+    sourceCompatibility = JavaVersion.VERSION_21
+    targetCompatibility = JavaVersion.VERSION_21
+
+    toolchain {
+        languageVersion.set(JavaLanguageVersion.of(21))
+    }
 }
 
 val libsignalClientPath = project.findProperty("libsignal_client_path")?.toString()
index ffec8b11331d2853fe104ad95dcf433710abe481..6a7c83583ab42bfacc82ba76f8930b8f5d0f8382 100755 (executable)
@@ -32,7 +32,7 @@ fi
 
 run() {
   # To update graalvm config, set GRAALVM_HOME, e.g:
-  # export GRAALVM_HOME=/usr/lib/jvm/java-17-graalvm
+  # export GRAALVM_HOME=/usr/lib/jvm/java-21-graalvm
   if [ ! -z "$GRAALVM_HOME" ]; then
     export JAVA_HOME=$GRAALVM_HOME
     export SIGNAL_CLI_OPTS="-agentlib:native-image-agent=config-merge-dir=graalvm-config-dir-${SIGNAL_CLI_AGENT_ID}/"