diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1c6bb3c0..5976805e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - java: [ '21' ] + java: [ '17', '21' ] steps: - uses: actions/checkout@v4 @@ -48,7 +48,7 @@ jobs: - uses: graalvm/setup-graalvm@v1 with: version: 'latest' - java-version: '21' + java-version: '17' cache: 'gradle' github-token: ${{ secrets.GITHUB_TOKEN }} - name: Build with Gradle diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index ff13469a..9bb10c38 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -24,7 +24,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'zulu' - java-version: 21 + java-version: 17 - name: Checkout repository uses: actions/checkout@v4 diff --git a/Containerfile b/Containerfile index 361c2667..1a1167ba 100644 --- a/Containerfile +++ b/Containerfile @@ -1,4 +1,4 @@ -FROM docker.io/azul/zulu-openjdk:21-jre-headless +FROM docker.io/eclipse-temurin:17-jre 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." diff --git a/README.md b/README.md index 6b87a745..a7676e07 100644 --- 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) 21 +- at least Java Runtime Environment (JRE) 17 - native library: libsignal-client The native libs are bundled for x86_64 Linux (with recent enough glibc), Windows and MacOS. For other diff --git a/build.gradle.kts b/build.gradle.kts index b65bce87..e0ff2632 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,12 +9,8 @@ plugins { version = "0.12.7" java { - sourceCompatibility = JavaVersion.VERSION_21 - targetCompatibility = JavaVersion.VERSION_21 - - toolchain { - languageVersion.set(JavaLanguageVersion.of(21)) - } + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } application { @@ -30,7 +26,7 @@ graalvmNative { if (System.getenv("GRAALVM_HOME") == null) { toolchainDetection.set(true) javaLauncher.set(javaToolchains.launcherFor { - languageVersion.set(JavaLanguageVersion.of(21)) + languageVersion.set(JavaLanguageVersion.of(17)) }) } else { toolchainDetection.set(false) diff --git a/graalvm-config-dir/reflect-config.json b/graalvm-config-dir/reflect-config.json index 82f9c9c3..0186abfd 100644 --- a/graalvm-config-dir/reflect-config.json +++ b/graalvm-config-dir/reflect-config.json @@ -48,9 +48,6 @@ { "name":"[Lorg.whispersystems.signalservice.internal.push.GroupStaleDevices;" }, -{ - "name":"android.os.Build$VERSION" -}, { "name":"byte[]", "allDeclaredMethods":true, diff --git a/graalvm-config-dir/resource-config.json b/graalvm-config-dir/resource-config.json index 6902124a..e5fd25b2 100644 --- a/graalvm-config-dir/resource-config.json +++ b/graalvm-config-dir/resource-config.json @@ -28,8 +28,6 @@ "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" }, { @@ -202,8 +200,6 @@ "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" }, { diff --git a/lib/build.gradle.kts b/lib/build.gradle.kts index c8f22f7c..93df49e7 100644 --- a/lib/build.gradle.kts +++ b/lib/build.gradle.kts @@ -4,12 +4,8 @@ plugins { } java { - sourceCompatibility = JavaVersion.VERSION_21 - targetCompatibility = JavaVersion.VERSION_21 - - toolchain { - languageVersion.set(JavaLanguageVersion.of(21)) - } + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } val libsignalClientPath = project.findProperty("libsignal_client_path")?.toString() diff --git a/run_tests.sh b/run_tests.sh index 6a7c8358..ffec8b11 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -32,7 +32,7 @@ fi run() { # To update graalvm config, set GRAALVM_HOME, e.g: - # export GRAALVM_HOME=/usr/lib/jvm/java-21-graalvm + # export GRAALVM_HOME=/usr/lib/jvm/java-17-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}/"