Skip to content

Commit 12c88db

Browse files
committed
Big Spring Boot v4 Upgrade
includes Kotlin v2.3, Java 25, Jackson v3
1 parent 694faa7 commit 12c88db

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+469
-536
lines changed

.github/workflows/build.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ jobs:
4949
uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0
5050
with:
5151
distribution: "temurin"
52-
java-version: 21
52+
java-version: 25
5353

5454
- name: Print JDK info
5555
run: java -Xmx32m --version

build.gradle

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -198,10 +198,6 @@ allprojects {
198198
canBeResolved = false
199199
canBeConsumed = false
200200
}
201-
202-
//we want to go with undertow which supports both webflux and servlets (togglz console is a servlet)
203-
implementation.exclude module: "spring-boot-starter-reactor-netty"
204-
implementation.exclude module: "spring-boot-starter-tomcat"
205201
}
206202

207203
configurations.configureEach {
@@ -273,10 +269,6 @@ configurations {
273269
// fucks with spring boot jar, we dont need it anyways
274270
// be VERY careful and test the produced jar if ever reenabled
275271
compile.exclude module: 'opus-java'
276-
277-
// undertow master race
278-
implementation.exclude module: 'spring-boot-starter-reactor-netty'
279-
implementation.exclude module: 'spring-boot-starter-tomcat'
280272
}
281273

282274
ext {
@@ -293,7 +285,7 @@ dependencies {
293285

294286
implementation "ch.qos.logback:logback-classic"
295287
implementation "io.sentry:sentry-logback"
296-
implementation "io.sentry:sentry-spring-boot-starter-jakarta"
288+
implementation "io.sentry:sentry-spring-boot-4"
297289
implementation "io.sentry:sentry-kotlin-extensions"
298290

299291
implementation "org.yaml:snakeyaml"
@@ -303,8 +295,8 @@ dependencies {
303295
implementation "org.openjdk.nashorn:nashorn-core:$nashornVersion"
304296

305297
implementation "io.lettuce:lettuce-core"
306-
implementation(group: "io.netty", name: "netty-transport-native-epoll", classifier: "linux-x86_64")
307-
implementation(group: "io.netty", name: "netty-transport-native-kqueue", classifier: "osx-x86_64")
298+
implementation "io.netty:netty-transport-native-epoll:linux-x86_64"
299+
implementation "io.netty:netty-transport-native-kqueue:osx-x86_64"
308300

309301
implementation "io.prometheus:prometheus-metrics-instrumentation-caffeine"
310302
implementation "io.prometheus:prometheus-metrics-instrumentation-jvm"
@@ -327,16 +319,21 @@ dependencies {
327319
implementation "org.togglz:togglz-console:$togglzVersion"
328320
implementation "org.togglz:togglz-spring-security:$togglzVersion"
329321

330-
implementation "org.springframework.boot:spring-boot-starter-web"
331-
implementation "org.springframework.boot:spring-boot-starter-undertow"
322+
implementation "org.springframework.boot:spring-boot-starter-webmvc"
323+
implementation "org.springframework.boot:spring-boot-starter-tomcat"
332324
implementation "org.springframework.boot:spring-boot-starter-jdbc"
325+
implementation "org.springframework.boot:spring-boot-starter-jooq"
326+
implementation "org.springframework.boot:spring-boot-starter-flyway"
333327
implementation "org.springframework.boot:spring-boot-starter-security"
334328
implementation "org.springframework.boot:spring-boot-starter-data-jpa"
335329
implementation "org.springframework.boot:spring-boot-starter-oauth2-client"
336330
implementation "org.springframework.boot:spring-boot-starter-actuator"
331+
implementation "org.springframework.boot:spring-boot-starter-restclient"
332+
implementation "org.springframework.boot:spring-boot-starter-data-redis"
333+
implementation "org.springframework.boot:spring-boot-starter-session-data-redis"
337334
implementation "org.springframework.session:spring-session-data-redis"
338335
implementation "org.jetbrains.kotlin:kotlin-reflect"
339-
implementation "com.fasterxml.jackson.module:jackson-module-kotlin"
336+
implementation "tools.jackson.module:jackson-module-kotlin"
340337
annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"
341338
compileOnly("org.springframework.boot:spring-boot-devtools")
342339

@@ -350,8 +347,9 @@ dependencies {
350347
exclude module: 'android-json' // json.org clone
351348
}
352349
testImplementation "org.springframework.security:spring-security-test"
350+
testImplementation "org.springframework.boot:spring-boot-resttestclient"
353351
testImplementation "org.testcontainers:testcontainers"
354-
testImplementation "org.testcontainers:selenium"
352+
testImplementation "org.testcontainers:testcontainers-selenium"
355353
testImplementation "com.codeborne:selenide:$selenideVersion"
356354
testImplementation "org.awaitility:awaitility"
357355

buildscript-gradle.lockfile

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,10 @@
33
# This file is expected to be part of source control.
44
com.adarshr:gradle-test-logger-plugin:4.0.0=classpath
55
com.bmuschko:gradle-docker-plugin:9.4.0=classpath
6-
com.fasterxml.jackson.core:jackson-annotations:2.19.4=classpath
7-
com.fasterxml.jackson.core:jackson-core:2.19.4=classpath
8-
com.fasterxml.jackson.core:jackson-databind:2.19.4=classpath
9-
com.fasterxml.jackson.module:jackson-module-parameter-names:2.19.4=classpath
10-
com.fasterxml.jackson:jackson-bom:2.19.4=classpath
6+
com.fasterxml.jackson.core:jackson-annotations:2.20=classpath
7+
com.fasterxml.jackson.core:jackson-core:2.19.1=classpath
8+
com.fasterxml.jackson.core:jackson-databind:2.19.1=classpath
9+
com.fasterxml.jackson:jackson-bom:2.19.1=classpath
1110
com.github.ben-manes:gradle-versions-plugin:0.53.0=classpath
1211
com.google.code.findbugs:jsr305:3.0.2=classpath
1312
com.google.code.gson:gson:2.13.2=classpath
@@ -22,6 +21,7 @@ com.squareup.okio:okio-jvm:3.6.0=classpath
2221
com.squareup.okio:okio:3.6.0=classpath
2322
commons-codec:commons-codec:1.19.0=classpath
2423
commons-io:commons-io:2.20.0=classpath
24+
commons-logging:commons-logging:1.3.5=classpath
2525
gradle.plugin.org.flywaydb:gradle-plugin-publishing:11.20.3=classpath
2626
gradle.plugin.org.jetbrains.gradle.plugin.idea-ext:gradle-idea-ext:1.4=classpath
2727
io.github.hakky54:ayza:10.0.2=classpath
@@ -48,39 +48,39 @@ org.flywaydb:flyway-core:11.20.3=classpath
4848
org.flywaydb:flyway-database-postgresql:11.20.3=classpath
4949
org.fusesource.jansi:jansi:2.4.0=classpath
5050
org.jetbrains.gradle.plugin.idea-ext:org.jetbrains.gradle.plugin.idea-ext.gradle.plugin:1.4=classpath
51-
org.jetbrains.kotlin:abi-tools-api:2.2.10=classpath
52-
org.jetbrains.kotlin:fus-statistics-gradle-plugin:2.2.10=classpath
53-
org.jetbrains.kotlin:kotlin-allopen:2.2.10=classpath
51+
org.jetbrains.kotlin:abi-tools-api:2.3.0=classpath
52+
org.jetbrains.kotlin:fus-statistics-gradle-plugin:2.3.0=classpath
53+
org.jetbrains.kotlin:kotlin-allopen:2.3.0=classpath
5454
org.jetbrains.kotlin:kotlin-bom:2.0.21=classpath
55-
org.jetbrains.kotlin:kotlin-build-statistics:2.2.10=classpath
56-
org.jetbrains.kotlin:kotlin-build-tools-api:2.2.10=classpath
57-
org.jetbrains.kotlin:kotlin-compiler-runner:2.2.10=classpath
58-
org.jetbrains.kotlin:kotlin-daemon-client:2.2.10=classpath
59-
org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:2.2.10=classpath
60-
org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.2.10=classpath
61-
org.jetbrains.kotlin:kotlin-gradle-plugin-idea-proto:2.2.10=classpath
62-
org.jetbrains.kotlin:kotlin-gradle-plugin-idea:2.2.10=classpath
63-
org.jetbrains.kotlin:kotlin-gradle-plugin-model:2.2.10=classpath
64-
org.jetbrains.kotlin:kotlin-gradle-plugin:2.2.10=classpath
65-
org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.2.10=classpath
66-
org.jetbrains.kotlin:kotlin-klib-commonizer-api:2.2.10=classpath
67-
org.jetbrains.kotlin:kotlin-native-utils:2.2.10=classpath
55+
org.jetbrains.kotlin:kotlin-build-statistics:2.3.0=classpath
56+
org.jetbrains.kotlin:kotlin-build-tools-api:2.3.0=classpath
57+
org.jetbrains.kotlin:kotlin-compiler-runner:2.3.0=classpath
58+
org.jetbrains.kotlin:kotlin-daemon-client:2.3.0=classpath
59+
org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:2.3.0=classpath
60+
org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.3.0=classpath
61+
org.jetbrains.kotlin:kotlin-gradle-plugin-idea-proto:2.3.0=classpath
62+
org.jetbrains.kotlin:kotlin-gradle-plugin-idea:2.3.0=classpath
63+
org.jetbrains.kotlin:kotlin-gradle-plugin:2.3.0=classpath
64+
org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.3.0=classpath
65+
org.jetbrains.kotlin:kotlin-klib-commonizer-api:2.3.0=classpath
66+
org.jetbrains.kotlin:kotlin-native-utils:2.3.0=classpath
6867
org.jetbrains.kotlin:kotlin-reflect:2.0.21=classpath
6968
org.jetbrains.kotlin:kotlin-stdlib-common:2.0.21=classpath
7069
org.jetbrains.kotlin:kotlin-stdlib-jdk7:2.0.21=classpath
7170
org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.0.21=classpath
7271
org.jetbrains.kotlin:kotlin-stdlib:2.0.21=classpath
73-
org.jetbrains.kotlin:kotlin-tooling-core:2.2.10=classpath
74-
org.jetbrains.kotlin:kotlin-util-io:2.2.10=classpath
75-
org.jetbrains.kotlin:kotlin-util-klib-metadata:2.2.10=classpath
76-
org.jetbrains.kotlin:kotlin-util-klib:2.2.10=classpath
72+
org.jetbrains.kotlin:kotlin-tooling-core:2.3.0=classpath
73+
org.jetbrains.kotlin:kotlin-util-io:2.3.0=classpath
74+
org.jetbrains.kotlin:kotlin-util-klib-metadata:2.3.0=classpath
75+
org.jetbrains.kotlin:kotlin-util-klib:2.3.0=classpath
7776
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.8.0=classpath
7877
org.jetbrains:annotations:13.0=classpath
7978
org.jooq:jooq-codegen-gradle:3.20.11=classpath
8079
org.jooq:jooq-codegen:3.20.11=classpath
8180
org.jooq:jooq-meta:3.20.11=classpath
8281
org.jooq:jooq:3.20.11=classpath
8382
org.json:json:20240303=classpath
83+
org.jspecify:jspecify:1.0.0=classpath
8484
org.reactivestreams:reactive-streams:1.0.3=classpath
8585
org.siouan.frontend-jdk21:org.siouan.frontend-jdk21.gradle.plugin:10.0.0=classpath
8686
org.siouan:frontend-jdk21:10.0.0=classpath
@@ -89,10 +89,12 @@ org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:7.2.2.6593=classpath
8989
org.sonarsource.scanner.lib:sonar-scanner-download-cache:4.0.1.1587=classpath
9090
org.sonarsource.scanner.lib:sonar-scanner-java-library-batch-interface:4.0.1.1587=classpath
9191
org.sonarsource.scanner.lib:sonar-scanner-java-library:4.0.1.1587=classpath
92-
org.springframework.boot:spring-boot-buildpack-platform:3.5.10=classpath
93-
org.springframework.boot:spring-boot-gradle-plugin:3.5.10=classpath
94-
org.springframework.boot:spring-boot-loader-tools:3.5.10=classpath
95-
org.springframework:spring-core:6.2.15=classpath
96-
org.springframework:spring-jcl:6.2.15=classpath
92+
org.springframework.boot:spring-boot-buildpack-platform:4.0.2=classpath
93+
org.springframework.boot:spring-boot-gradle-plugin:4.0.2=classpath
94+
org.springframework.boot:spring-boot-loader-tools:4.0.2=classpath
95+
org.springframework:spring-core:7.0.3=classpath
9796
org.tomlj:tomlj:1.0.0=classpath
97+
tools.jackson.core:jackson-core:3.0.4=classpath
98+
tools.jackson.core:jackson-databind:3.0.4=classpath
99+
tools.jackson:jackson-bom:3.0.4=classpath
98100
empty=

docker/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM eclipse-temurin:21-jdk
1+
FROM eclipse-temurin:25-jdk
22
LABEL org.opencontainers.image.authors="napster@npstr.space"
33

44
RUN groupadd -g 420 wolfia && \

0 commit comments

Comments
 (0)