From 1ffe938c22024d8b74d5cfe1617cb258aefa7107 Mon Sep 17 00:00:00 2001 From: Walter Oggioni Date: Wed, 22 Oct 2025 20:42:20 +0800 Subject: [PATCH] update to JDK 25 --- .gitea/workflows/build-dev.yaml | 2 +- build.gradle | 2 +- docker/Dockerfile | 2 +- docker/README.md | 2 +- gradle.properties | 2 +- rbcs-cli/build.gradle | 4 ++-- rbcs-cli/native-image/reflect-config.json | 20 +++++++++++++------- rbcs-cli/native-image/resource-config.json | 2 ++ 8 files changed, 22 insertions(+), 14 deletions(-) diff --git a/.gitea/workflows/build-dev.yaml b/.gitea/workflows/build-dev.yaml index c35d820..a25b3a0 100644 --- a/.gitea/workflows/build-dev.yaml +++ b/.gitea/workflows/build-dev.yaml @@ -5,7 +5,7 @@ on: - 'dev' jobs: build: - runs-on: woryzen + runs-on: hostinger steps: - name: Checkout sources uses: actions/checkout@v4 diff --git a/build.gradle b/build.gradle index 4407119..c0349f9 100644 --- a/build.gradle +++ b/build.gradle @@ -38,7 +38,7 @@ allprojects { subproject -> withSourcesJar() modularity.inferModulePath = true toolchain { - languageVersion = JavaLanguageVersion.of(21) + languageVersion = JavaLanguageVersion.of(25) } } diff --git a/docker/Dockerfile b/docker/Dockerfile index d59451d..daf882e 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,4 +1,4 @@ -FROM eclipse-temurin:21-jre-alpine AS base-release +FROM eclipse-temurin:25-jre-alpine AS base-release RUN adduser -D luser USER luser WORKDIR /home/luser diff --git a/docker/README.md b/docker/README.md index 605a995..800be9e 100644 --- a/docker/README.md +++ b/docker/README.md @@ -5,7 +5,7 @@ There are 3 image flavours: - native The `vanilla` image only contains the envelope -jar file with no plugins and is based on `eclipse-temurin:21-jre-alpine` +jar file with no plugins and is based on `eclipse-temurin:25-jre-alpine` The `memcache` image is similar to the `vanilla` image, except that it also contains the `rbcs-server-memcache` plugin in the `plugins` folder, use this image if you don't want to use the `native` diff --git a/gradle.properties b/gradle.properties index 62e59fd..e837b41 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ org.gradle.configuration-cache=false org.gradle.parallel=true org.gradle.caching=true -rbcs.version = 0.3.4 +rbcs.version = 0.3.5 lys.version = 2025.09.30 diff --git a/rbcs-cli/build.gradle b/rbcs-cli/build.gradle index b61017f..6dd85f8 100644 --- a/rbcs-cli/build.gradle +++ b/rbcs-cli/build.gradle @@ -89,7 +89,7 @@ Provider envelopeJarTaskProvider = tasks.named(EnvelopePlugin.E tasks.named(NativeImagePlugin.CONFIGURE_NATIVE_IMAGE_TASK_NAME, NativeImageConfigurationTask) { toolchain { - languageVersion = JavaLanguageVersion.of(21) + languageVersion = JavaLanguageVersion.of(25) vendor = JvmVendorSpec.GRAAL_VM } mainClass = "net.woggioni.rbcs.cli.graal.GraalNativeImageConfiguration" @@ -107,7 +107,7 @@ tasks.named(NativeImagePlugin.CONFIGURE_NATIVE_IMAGE_TASK_NAME, NativeImageConfi nativeImage { toolchain { - languageVersion = JavaLanguageVersion.of(23) + languageVersion = JavaLanguageVersion.of(25) vendor = JvmVendorSpec.GRAAL_VM } mainClass = mainClassName diff --git a/rbcs-cli/native-image/reflect-config.json b/rbcs-cli/native-image/reflect-config.json index ab5c762..42f21f0 100644 --- a/rbcs-cli/native-image/reflect-config.json +++ b/rbcs-cli/native-image/reflect-config.json @@ -183,9 +183,6 @@ "name":"io.netty.channel.SimpleChannelInboundHandler", "methods":[{"name":"channelRead","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }] }, -{ - "name":"io.netty.channel.embedded.EmbeddedChannel$2" -}, { "name":"io.netty.channel.pool.SimpleChannelPool$1" }, @@ -195,7 +192,7 @@ }, { "name":"io.netty.handler.codec.ByteToMessageDecoder", - "methods":[{"name":"channelInactive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, {"name":"channelRead","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, {"name":"channelReadComplete","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, {"name":"userEventTriggered","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }] + "methods":[{"name":"channelInactive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, {"name":"channelRead","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, {"name":"userEventTriggered","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }] }, { "name":"io.netty.handler.codec.MessageAggregator", @@ -214,7 +211,8 @@ "methods":[{"name":"channelRead","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }] }, { - "name":"io.netty.handler.codec.compression.JdkZlibDecoder" + "name":"io.netty.handler.codec.compression.JdkZlibDecoder", + "methods":[{"name":"channelReadComplete","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }] }, { "name":"io.netty.handler.codec.compression.JdkZlibEncoder", @@ -227,6 +225,10 @@ "name":"io.netty.handler.codec.http.HttpContentDecoder", "methods":[{"name":"channelInactive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, {"name":"channelReadComplete","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }] }, +{ + "name":"io.netty.handler.codec.http.HttpContentDecoder$ByteBufForwarder", + "methods":[{"name":"channelRead","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }] +}, { "name":"io.netty.handler.codec.http.HttpContentDecompressor" }, @@ -278,9 +280,13 @@ "name":"io.netty.util.concurrent.DefaultPromise", "fields":[{"name":"result"}] }, +{ + "name":"io.netty.util.concurrent.MpscIntQueue$MpscAtomicIntegerArrayQueue", + "fields":[{"name":"consumerIndex"}, {"name":"producerIndex"}, {"name":"producerLimit"}] +}, { "name":"io.netty.util.concurrent.SingleThreadEventExecutor", - "fields":[{"name":"state"}, {"name":"threadProperties"}] + "fields":[{"name":"accumulatedActiveTimeNanos"}, {"name":"consecutiveBusyCycles"}, {"name":"consecutiveIdleCycles"}, {"name":"state"}, {"name":"threadProperties"}] }, { "name":"io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueColdProducerFields", @@ -566,7 +572,7 @@ }, { "name":"net.woggioni.rbcs.server.handler.ReadTriggerDuplexHandler", - "methods":[{"name":"channelRead","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, {"name":"write","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object","io.netty.channel.ChannelPromise"] }] + "methods":[{"name":"channelInactive","parameterTypes":["io.netty.channel.ChannelHandlerContext"] }, {"name":"channelRead","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, {"name":"write","parameterTypes":["io.netty.channel.ChannelHandlerContext","java.lang.Object","io.netty.channel.ChannelPromise"] }] }, { "name":"net.woggioni.rbcs.server.handler.ServerHandler", diff --git a/rbcs-cli/native-image/resource-config.json b/rbcs-cli/native-image/resource-config.json index 2480018..74d4869 100644 --- a/rbcs-cli/native-image/resource-config.json +++ b/rbcs-cli/native-image/resource-config.json @@ -36,6 +36,8 @@ "pattern":"\\Qnet/woggioni/rbcs/server/memcache/schema/rbcs-memcache.xsd\\E" }, { "pattern":"\\Qnet/woggioni/rbcs/server/schema/rbcs-server.xsd\\E" + }, { + "pattern":"jdk.jfr:\\Qjdk/jfr/internal/types/metadata.bin\\E" }]}, "bundles":[{ "name":"com.sun.org.apache.xerces.internal.impl.xpath.regex.message",