[U] Java 21 -> Java 25

This commit is contained in:
Azalea
2026-07-09 02:09:42 +00:00
parent 0d70471bd6
commit 735a34a3fe
8 changed files with 30 additions and 20 deletions
+2 -2
View File
@@ -12,9 +12,9 @@ jobs:
- uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
java-version: '21'
java-version: '25'
distribution: 'temurin'
- name: Build with Gradle
+2 -2
View File
@@ -17,9 +17,9 @@ jobs:
fetch-depth: '10'
- name: Set up JDK
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
java-version: '17'
java-version: '25'
distribution: 'temurin'
server-id: github
+3 -3
View File
@@ -1,7 +1,7 @@
# Use a multi-stage build to keep the image size small
# Start with a Gradle image for building the project
#FROM gradle:jdk21-alpine as builder
FROM gradle:8.8.0-jdk21 as builder
#FROM gradle:jdk25-alpine as builder
FROM gradle:jdk25 AS builder
# Copy the Gradle wrapper and configuration files separately to leverage Docker cache
COPY --chown=gradle:gradle gradlew /home/gradle/
@@ -25,7 +25,7 @@ COPY --chown=gradle:gradle src /home/gradle/src
RUN ./gradlew build -x test
# Start with a fresh image for the runtime
FROM eclipse-temurin:21-jre-alpine
FROM eclipse-temurin:25-jre-alpine
# Set the deployment directory
WORKDIR /app
+19 -9
View File
@@ -4,7 +4,7 @@ import java.time.ZoneId
import java.time.format.DateTimeFormatter
plugins {
val ktVer = "2.1.10"
val ktVer = "2.4.0"
java
kotlin("jvm") version ktVer
@@ -13,9 +13,9 @@ plugins {
kotlin("plugin.serialization") version ktVer
kotlin("plugin.allopen") version ktVer
kotlin("kapt") version ktVer
id("org.springframework.boot") version "3.2.3"
id("org.springframework.boot") version "3.5.16"
id("com.github.ben-manes.versions") version "0.51.0"
id("org.hibernate.orm") version "6.4.4.Final"
id("org.hibernate.orm") version "7.4.4.Final"
application
}
@@ -37,8 +37,8 @@ dependencies {
implementation("io.netty:netty-all")
implementation("org.apache.commons:commons-lang3:3.14.0")
implementation("org.apache.httpcomponents.client5:httpclient5")
implementation("org.flywaydb:flyway-core:10.10.0")
implementation("org.flywaydb:flyway-mysql:10.10.0")
implementation("org.flywaydb:flyway-core:12.10.0")
implementation("org.flywaydb:flyway-mysql:12.10.0")
testImplementation("org.springframework.boot:spring-boot-starter-test") {
exclude(group = "org.junit.vintage", module = "junit-vintage-engine")
}
@@ -52,8 +52,8 @@ dependencies {
// Database
runtimeOnly("org.mariadb.jdbc:mariadb-java-client:3.3.3")
runtimeOnly("org.xerial:sqlite-jdbc:3.45.2.0")
implementation("org.hibernate.orm:hibernate-core:6.4.4.Final")
implementation("org.hibernate.orm:hibernate-community-dialects:6.4.4.Final")
implementation("org.hibernate.orm:hibernate-core:6.6.54.Final")
implementation("org.hibernate.orm:hibernate-community-dialects:6.6.54.Final")
implementation("io.github.openfeign.querydsl:querydsl-jpa:6.10.1")
kapt("io.github.openfeign.querydsl:querydsl-apt:6.10.1:jpa")
@@ -105,10 +105,20 @@ dependencies {
group = "icu.samnya"
version = "1.0.0"
description = "AquaDX Arcade Server"
java.sourceCompatibility = JavaVersion.VERSION_21
java {
sourceCompatibility = JavaVersion.VERSION_25
targetCompatibility = JavaVersion.VERSION_25
toolchain {
languageVersion.set(JavaLanguageVersion.of(25))
}
}
kotlin {
jvmToolchain(21)
jvmToolchain(25)
compilerOptions {
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_25)
}
}
springBoot {
+1 -1
View File
@@ -1,7 +1,7 @@
FROM archlinux:latest
RUN pacman -Syu --noconfirm \
&& pacman -S --noconfirm openssh sudo jdk21-openjdk wget which procps-ng zsh git curlie micro ripgrep python3 exa \
&& pacman -S --noconfirm openssh sudo jdk25-openjdk wget which procps-ng zsh git curlie micro ripgrep python3 exa \
&& rm -rf /var/cache/pacman/pkg/* \
&& mkdir -p /var/run/sshd \
&& chsh -s /bin/zsh root \
+2 -2
View File
@@ -41,10 +41,10 @@ docker compose up
```
### Building
You need to install JDK 21 on your system, then run `./gradlew clean build`. The jar file will be built into the `build/libs` folder.
You need to install JDK 25 on your system, then run `./gradlew clean build`. The jar file will be built into the `build/libs` folder.
## Why drop SQLite support?
If you wonder why I dropped SQLite support, ask SQLite devs why they still haven't supported adding a single constraint to a table without all the hassle of creating a new one and migrating all data over and finally deleting the original.
![](sqlite-sucks.png)
![](sqlite-sucks.png)
Binary file not shown.
+1 -1
View File
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME