diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 90ad73b7..fb991c0c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - java: [ '21', '25' ] + java: [ '25' ] steps: - uses: actions/checkout@v4 @@ -58,9 +58,8 @@ jobs: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 with: - distribution: 'graalvm-community' - version: '21.0.2' - java-version: '21' + distribution: 'graalvm' + java-version: '25' 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 f778268a..4c5713cf 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: 25 - name: Checkout repository uses: actions/checkout@v4 diff --git a/CHANGELOG.md b/CHANGELOG.md index 880b4a98..fb4e817c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## [Unreleased] +**Attention**: Now requires Java 25 + ### Breaking changes - Remove isRegistered method without parameters from Signal dbus interface, which always returned `true` diff --git a/Containerfile b/Containerfile index 361c2667..615ccc58 100644 --- a/Containerfile +++ b/Containerfile @@ -1,4 +1,4 @@ -FROM docker.io/azul/zulu-openjdk:21-jre-headless +FROM docker.io/azul/zulu-openjdk:25-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." diff --git a/README.md b/README.md index e8e73b8f..1d192bb3 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,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) 25 - 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 32419111..3760c9d0 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -12,8 +12,8 @@ allprojects { } java { - sourceCompatibility = JavaVersion.VERSION_21 - targetCompatibility = JavaVersion.VERSION_21 + sourceCompatibility = JavaVersion.VERSION_25 + targetCompatibility = JavaVersion.VERSION_25 if (!JavaVersion.current().isCompatibleWith(targetCompatibility)) { toolchain { @@ -39,7 +39,7 @@ graalvmNative { if (System.getenv("GRAALVM_HOME") == null) { toolchainDetection.set(true) javaLauncher.set(javaToolchains.launcherFor { - languageVersion.set(JavaLanguageVersion.of(21)) + languageVersion.set(JavaLanguageVersion.of(25)) }) } else { toolchainDetection.set(false) diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 3e8942b9..53271fd0 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -7,11 +7,11 @@ plugins { } tasks.named>("compileKotlin").configure { - compilerOptions.jvmTarget.set(JvmTarget.JVM_17) + compilerOptions.jvmTarget.set(JvmTarget.JVM_24) } java { - targetCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_24 } repositories { diff --git a/graalvm-config-dir/proxy-config.json b/graalvm-config-dir/proxy-config.json index 1a97b30a..8e56316a 100644 --- a/graalvm-config-dir/proxy-config.json +++ b/graalvm-config-dir/proxy-config.json @@ -1,26 +1 @@ -[ - { - "interfaces":["java.sql.Connection"] - }, - { - "interfaces":["org.asamk.Signal"] - }, - { - "interfaces":["org.asamk.Signal$Configuration"] - }, - { - "interfaces":["org.asamk.Signal$Device"] - }, - { - "interfaces":["org.asamk.Signal$Group"] - }, - { - "interfaces":["org.asamk.Signal$Identity"] - }, - { - "interfaces":["org.asamk.SignalControl"] - }, - { - "interfaces":["org.freedesktop.dbus.interfaces.DBus"] - } -] +[{"interfaces":["java.sql.Connection"]},{"interfaces":["org.asamk.Signal"]},{"interfaces":["org.asamk.Signal$Configuration"]},{"interfaces":["org.asamk.Signal$Device"]},{"interfaces":["org.asamk.Signal$Group"]},{"interfaces":["org.asamk.Signal$Identity"]},{"interfaces":["org.asamk.SignalControl"]},{"interfaces":["org.freedesktop.dbus.interfaces.DBus"]}] diff --git a/graalvm-config-dir/reachability-metadata.json b/graalvm-config-dir/reachability-metadata.json index ec55c4d1..7716884f 100644 --- a/graalvm-config-dir/reachability-metadata.json +++ b/graalvm-config-dir/reachability-metadata.json @@ -307,6 +307,14 @@ "name": "getCredentials", "parameterTypes": [] }, + { + "name": "getCredentialsProvider", + "parameterTypes": [] + }, + { + "name": "getCredentialsProviderClassName", + "parameterTypes": [] + }, { "name": "getDataSource", "parameterTypes": [] @@ -495,6 +503,18 @@ "com.zaxxer.hikari.util.Credentials" ] }, + { + "name": "setCredentialsProvider", + "parameterTypes": [ + "com.zaxxer.hikari.HikariCredentialsProvider" + ] + }, + { + "name": "setCredentialsProviderClassName", + "parameterTypes": [ + "java.lang.String" + ] + }, { "name": "setDataSource", "parameterTypes": [ @@ -811,7 +831,13 @@ { "type": "java.lang.Enum", "allDeclaredMethods": true, - "jniAccessible": true + "jniAccessible": true, + "methods": [ + { + "name": "ordinal", + "parameterTypes": [] + } + ] }, { "type": "java.lang.Float", @@ -931,6 +957,10 @@ { "name": "getStackTrace", "parameterTypes": [] + }, + { + "name": "isVirtual", + "parameterTypes": [] } ] }, @@ -1879,6 +1909,10 @@ "type": "org.asamk.signal.Main", "jniAccessible": true, "methods": [ + { + "name": "", + "parameterTypes": [] + }, { "name": "main", "parameterTypes": [ @@ -4516,6 +4550,33 @@ } ] }, + { + "type": "org.bouncycastle.jcajce.provider.kdf.HKDF$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "org.bouncycastle.jcajce.provider.kdf.PBEPBKDF2$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "org.bouncycastle.jcajce.provider.kdf.SCRYPT$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, { "type": "org.bouncycastle.jcajce.provider.keystore.BC$Mappings", "methods": [ @@ -4708,6 +4769,15 @@ } ] }, + { + "type": "org.bouncycastle.jcajce.provider.symmetric.HKDF$Mappings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, { "type": "org.bouncycastle.jcajce.provider.symmetric.IDEA$Mappings", "methods": [ @@ -5146,6 +5216,50 @@ } ] }, + { + "type": "org.signal.core.models.ServiceId", + "allDeclaredFields": true, + "methods": [ + { + "name": "", + "parameterTypes": [ + "org.signal.libsignal.protocol.ServiceId" + ] + }, + { + "name": "equals", + "parameterTypes": [ + "java.lang.Object" + ] + }, + { + "name": "hashCode", + "parameterTypes": [] + }, + { + "name": "logString", + "parameterTypes": [] + }, + { + "name": "toByteArray", + "parameterTypes": [] + }, + { + "name": "toByteString", + "parameterTypes": [] + }, + { + "name": "toProtocolAddress", + "parameterTypes": [ + "int" + ] + }, + { + "name": "toString", + "parameterTypes": [] + } + ] + }, { "type": "org.signal.libsignal.internal.CompletableFuture", "jniAccessible": true, @@ -5214,6 +5328,12 @@ "type": "org.signal.libsignal.net.ChatConnection$ListenerBridge", "jniAccessible": true, "methods": [ + { + "name": "connectionInterrupted", + "parameterTypes": [ + "java.lang.Throwable" + ] + }, { "name": "onConnectionInterrupted", "parameterTypes": [ @@ -5237,6 +5357,24 @@ "parameterTypes": [ "java.lang.String[]" ] + }, + { + "name": "receivedAlerts", + "parameterTypes": [ + "java.lang.String[]" + ] + }, + { + "name": "receivedIncomingMessage", + "parameterTypes": [ + "byte[]", + "long", + "long" + ] + }, + { + "name": "receivedQueueEmpty", + "parameterTypes": [] } ] }, @@ -5279,6 +5417,18 @@ } ] }, + { + "type": "org.signal.libsignal.net.ChatServiceInactiveException", + "jniAccessible": true, + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.String" + ] + } + ] + }, { "type": "org.signal.libsignal.net.DeviceDeregisteredException", "jniAccessible": true, @@ -5315,6 +5465,18 @@ } ] }, + { + "type": "org.signal.libsignal.net.TransportFailureException", + "jniAccessible": true, + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.String" + ] + } + ] + }, { "type": "org.signal.libsignal.net.internal.BridgeChatListener", "jniAccessible": true @@ -6831,6 +6993,22 @@ } ] }, + { + "type": "org.whispersystems.signalservice.api.link.SetDeviceNameRequest", + "allDeclaredFields": true, + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.String" + ] + }, + { + "name": "getDeviceName", + "parameterTypes": [] + } + ] + }, { "type": "org.whispersystems.signalservice.api.messages.calls.HangupMessage", "allDeclaredFields": true, @@ -6894,7 +7072,7 @@ "allDeclaredFields": true }, { - "type": "org.signal.core.models.ServiceId", + "type": "org.whispersystems.signalservice.api.push.ServiceId", "allDeclaredFields": true, "methods": [ { @@ -9234,4 +9412,4 @@ } } ] -} +} \ No newline at end of file diff --git a/graalvm-config-dir/resource-config.json b/graalvm-config-dir/resource-config.json index 8bd8a7af..0c8e4130 100644 --- a/graalvm-config-dir/resource-config.json +++ b/graalvm-config-dir/resource-config.json @@ -1,226 +1 @@ -{ - "resources":{ - "includes":[{ - "pattern":"\\QMETA-INF/maven/org.xerial/sqlite-jdbc/pom.properties\\E" - }, { - "pattern":"\\QMETA-INF/services/ch.qos.logback.classic.spi.Configurator\\E" - }, { - "pattern":"\\QMETA-INF/services/com.sun.net.httpserver.spi.HttpServerProvider\\E" - }, { - "pattern":"\\QMETA-INF/services/java.lang.System$LoggerFinder\\E" - }, { - "pattern":"\\QMETA-INF/services/java.net.spi.InetAddressResolverProvider\\E" - }, { - "pattern":"\\QMETA-INF/services/java.net.spi.URLStreamHandlerProvider\\E" - }, { - "pattern":"\\QMETA-INF/services/java.nio.channels.spi.SelectorProvider\\E" - }, { - "pattern":"\\QMETA-INF/services/java.nio.file.spi.FileTypeDetector\\E" - }, { - "pattern":"\\QMETA-INF/services/java.sql.Driver\\E" - }, { - "pattern":"\\QMETA-INF/services/java.time.zone.ZoneRulesProvider\\E" - }, { - "pattern":"\\QMETA-INF/services/java.util.spi.ResourceBundleControlProvider\\E" - }, { - "pattern":"\\QMETA-INF/services/kotlin.reflect.jvm.internal.impl.builtins.BuiltInsLoader\\E" - }, { - "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":"\\QMETA-INF/services/org.slf4j.spi.SLF4JServiceProvider\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AG\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AI\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AR\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AS\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AT\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AU\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AZ\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BB\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BD\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BE\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BM\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BO\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BR\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BS\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CA\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CH\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CI\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CL\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CN\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CO\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CR\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CZ\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DE\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DK\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EC\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EE\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ES\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FI\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FR\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GB\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GR\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HK\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HR\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HU\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ID\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IL\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IN\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IR\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IT\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JP\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LV\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MM\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MO\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MX\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MY\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NG\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NL\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NZ\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PA\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PE\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PH\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PL\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RO\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RU\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SA\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SI\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SK\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TH\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TR\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UA\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UG\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_US\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VE\\E" - }, { - "pattern":"\\Qcom/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_XK\\E" - }, { - "pattern":"\\Qjni/x86_64-Linux/libjffi-1.2.so\\E" - }, { - "pattern":"\\Qkotlin/annotation/annotation.kotlin_builtins\\E" - }, { - "pattern":"\\Qkotlin/collections/collections.kotlin_builtins\\E" - }, { - "pattern":"\\Qkotlin/coroutines/coroutines.kotlin_builtins\\E" - }, { - "pattern":"\\Qkotlin/internal/internal.kotlin_builtins\\E" - }, { - "pattern":"\\Qkotlin/jvm/jvm.kotlin_builtins\\E" - }, { - "pattern":"\\Qkotlin/kotlin.kotlin_builtins\\E" - }, { - "pattern":"\\Qkotlin/ranges/ranges.kotlin_builtins\\E" - }, { - "pattern":"\\Qkotlin/reflect/reflect.kotlin_builtins\\E" - }, { - "pattern":"\\Qlibsignal_jni.so\\E" - }, { - "pattern":"\\Qlibsignal_jni_aarch64.dylib\\E" - }, { - "pattern":"\\Qlibsignal_jni_amd64.dylib\\E" - }, { - "pattern":"\\Qlibsignal_jni_amd64.so\\E" - }, { - "pattern":"\\Qorg/asamk/signal/manager/config/ias.store\\E" - }, { - "pattern":"\\Qorg/asamk/signal/manager/config/whisper.store\\E" - }, { - "pattern":"\\Qorg/slf4j/impl/StaticLoggerBinder.class\\E" - }, { - "pattern":"\\Qorg/sqlite/native/Linux/x86_64/libsqlitejdbc.so\\E" - }, { - "pattern":"\\Qsignal_jni.dll\\E" - }, { - "pattern":"\\Qsignal_jni_amd64.dll\\E" - }, { - "pattern":"\\Qsqlite-jdbc.properties\\E" - }, { - "pattern":"com/google/i18n/phonenumbers/data/.*" - }, { - "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" - }, { - "pattern":"java.base:\\Qsun/net/idn/uidna.spp\\E" - }, { - "pattern":"java.base:\\Qsun/net/www/content-types.properties\\E" - }, { - "pattern":"java.base:\\Qsun/text/resources/LineBreakIteratorData\\E" - }]}, - "bundles":[{ - "name":"net.sourceforge.argparse4j.internal.ArgumentParserImpl", - "locales":["", "de", "en", "und"] - }] -} +{"resources":{"includes":[{"pattern":"com/google/i18n/phonenumbers/data/.*"},{"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"},{"pattern":"java.base:\\Qsun/net/idn/uidna.spp\\E"},{"pattern":"java.base:\\Qsun/net/www/content-types.properties\\E"},{"pattern":"java.base:\\Qsun/text/resources/LineBreakIteratorData\\E"}]},"bundles":[{"name":"net.sourceforge.argparse4j.internal.ArgumentParserImpl","locales":["de","en","und"]}],"globs":[{"glob":"META-INF/maven/org.xerial/sqlite-jdbc/pom.properties"},{"glob":"META-INF/services/ch.qos.logback.classic.spi.Configurator"},{"glob":"META-INF/services/com.sun.net.httpserver.spi.HttpServerProvider"},{"glob":"META-INF/services/java.lang.System$LoggerFinder"},{"glob":"META-INF/services/java.net.spi.InetAddressResolverProvider"},{"glob":"META-INF/services/java.net.spi.URLStreamHandlerProvider"},{"glob":"META-INF/services/java.nio.channels.spi.SelectorProvider"},{"glob":"META-INF/services/java.nio.file.spi.FileTypeDetector"},{"glob":"META-INF/services/java.sql.Driver"},{"glob":"META-INF/services/java.time.zone.ZoneRulesProvider"},{"glob":"META-INF/services/java.util.spi.ResourceBundleControlProvider"},{"glob":"META-INF/services/kotlin.reflect.jvm.internal.impl.builtins.BuiltInsLoader"},{"glob":"META-INF/services/kotlin.reflect.jvm.internal.impl.resolve.ExternalOverridabilityCondition"},{"glob":"META-INF/services/kotlin.reflect.jvm.internal.impl.util.ModuleVisibilityHelper"},{"glob":"META-INF/services/org.freedesktop.dbus.spi.message.ISocketProvider"},{"glob":"META-INF/services/org.freedesktop.dbus.spi.transport.ITransportProvider"},{"glob":"META-INF/services/org.slf4j.spi.SLF4JServiceProvider"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AG"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AI"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AR"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AS"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AT"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AU"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AZ"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BB"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BD"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BE"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BM"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BO"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BR"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BS"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CA"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CH"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CI"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CL"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CN"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CO"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CR"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CZ"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DE"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DK"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EC"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EE"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ES"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FI"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FR"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GB"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GR"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HK"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HR"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HU"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ID"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IL"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IN"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IR"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IT"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JP"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LV"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MM"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MO"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MX"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MY"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NG"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NL"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NZ"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PA"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PE"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PH"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PL"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RO"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RU"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SA"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SI"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SK"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TH"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TR"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UA"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UG"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_US"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VE"},{"glob":"com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_XK"},{"glob":"jni/x86_64-Linux/libjffi-1.2.so"},{"glob":"kotlin/annotation/annotation.kotlin_builtins"},{"glob":"kotlin/collections/collections.kotlin_builtins"},{"glob":"kotlin/coroutines/coroutines.kotlin_builtins"},{"glob":"kotlin/internal/internal.kotlin_builtins"},{"glob":"kotlin/jvm/jvm.kotlin_builtins"},{"glob":"kotlin/kotlin.kotlin_builtins"},{"glob":"kotlin/ranges/ranges.kotlin_builtins"},{"glob":"kotlin/reflect/reflect.kotlin_builtins"},{"glob":"libsignal_jni.so"},{"glob":"libsignal_jni_aarch64.dylib"},{"glob":"libsignal_jni_amd64.dylib"},{"glob":"libsignal_jni_amd64.so"},{"glob":"libsignal_jni_testing.so"},{"glob":"libsignal_jni_testing_amd64.so"},{"glob":"net/sourceforge/argparse4j/internal/ArgumentParserImpl.properties"},{"glob":"net/sourceforge/argparse4j/internal/ArgumentParserImpl_fr.properties"},{"glob":"net/sourceforge/argparse4j/internal/ArgumentParserImpl_fr_FR.properties"},{"glob":"org/asamk/signal/manager/config/ias.store"},{"glob":"org/asamk/signal/manager/config/whisper.store"},{"glob":"org/slf4j/impl/StaticLoggerBinder.class"},{"glob":"org/sqlite/native/Linux/x86_64/libsqlitejdbc.so"},{"glob":"signal_jni.dll"},{"glob":"signal_jni_amd64.dll"},{"glob":"sqlite-jdbc.properties"},{"module":"java.base","glob":"jdk/internal/icu/impl/data/icudt76b/nfc.nrm"},{"module":"java.base","glob":"jdk/internal/icu/impl/data/icudt76b/nfkc.nrm"},{"module":"java.base","glob":"jdk/internal/icu/impl/data/icudt76b/uprops.icu"},{"module":"java.base","glob":"sun/net/idn/uidna.spp"}]} diff --git a/lib/build.gradle.kts b/lib/build.gradle.kts index b105c98c..45237064 100644 --- a/lib/build.gradle.kts +++ b/lib/build.gradle.kts @@ -4,8 +4,8 @@ plugins { } java { - sourceCompatibility = JavaVersion.VERSION_21 - targetCompatibility = JavaVersion.VERSION_21 + sourceCompatibility = JavaVersion.VERSION_25 + targetCompatibility = JavaVersion.VERSION_25 if (!JavaVersion.current().isCompatibleWith(targetCompatibility)) { toolchain { diff --git a/run_tests.sh b/run_tests.sh index 339d9d7b..52e65c56 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-25-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}/"