Update Docker images, Kotlin, Spring Boot, Gradle, and dependencies

- Upgraded Docker image versions for `postgres`, `keycloak`, `rabbitmq`, `redis`, and `minio`.
- Updated Kotlin to `1.9.25` and aligned related plugins.
- Upgraded Spring Boot to `3.4.1` and adjusted dependencies accordingly.
- Downgraded JVM target and toolchain to `17` for compatibility.
- Updated Gradle to `8.12` along with dependency version improvements (`flyway-core`, `opentelemetry`, `springdoc`, AWS SDK).
This commit is contained in:
oskar 2026-01-13 15:37:29 +01:00
parent 1315b95a72
commit 5628aa5675
4 changed files with 19 additions and 18 deletions

View file

@ -24,11 +24,12 @@ dependencies {
implementation("org.springframework.boot:spring-boot-starter-oauth2-resource-server") implementation("org.springframework.boot:spring-boot-starter-oauth2-resource-server")
implementation("org.springframework.boot:spring-boot-starter-data-redis") implementation("org.springframework.boot:spring-boot-starter-data-redis")
implementation("org.flywaydb:flyway-core") implementation("org.flywaydb:flyway-core")
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.5.0") implementation("org.flywaydb:flyway-database-postgresql")
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.7.0")
implementation("io.micrometer:micrometer-registry-prometheus") implementation("io.micrometer:micrometer-registry-prometheus")
implementation("io.micrometer:micrometer-tracing-bridge-otel") implementation("io.micrometer:micrometer-tracing-bridge-otel")
implementation("io.opentelemetry:opentelemetry-exporter-otlp:1.38.0") implementation("io.opentelemetry:opentelemetry-exporter-otlp:1.46.0")
implementation("software.amazon.awssdk:s3:2.25.63") implementation("software.amazon.awssdk:s3:2.29.52")
runtimeOnly("org.postgresql:postgresql") runtimeOnly("org.postgresql:postgresql")

View file

@ -3,11 +3,11 @@ import org.gradle.api.plugins.JavaPluginExtension
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins { plugins {
kotlin("jvm") version "1.9.23" apply false kotlin("jvm") version "1.9.25" apply false
kotlin("plugin.spring") version "1.9.23" apply false kotlin("plugin.spring") version "1.9.25" apply false
kotlin("plugin.jpa") version "1.9.23" apply false kotlin("plugin.jpa") version "1.9.25" apply false
id("org.springframework.boot") version "3.2.5" apply false id("org.springframework.boot") version "3.4.1" apply false
id("io.spring.dependency-management") version "1.1.4" apply false id("io.spring.dependency-management") version "1.1.7" apply false
} }
allprojects { allprojects {
@ -23,14 +23,14 @@ subprojects {
plugins.withId("io.spring.dependency-management") { plugins.withId("io.spring.dependency-management") {
the<DependencyManagementExtension>().apply { the<DependencyManagementExtension>().apply {
imports { imports {
mavenBom("org.springframework.boot:spring-boot-dependencies:3.2.5") mavenBom("org.springframework.boot:spring-boot-dependencies:3.4.1")
} }
} }
} }
tasks.withType<KotlinCompile> { tasks.withType<KotlinCompile> {
kotlinOptions { kotlinOptions {
jvmTarget = "21" jvmTarget = "17"
freeCompilerArgs = listOf("-Xjsr305=strict") freeCompilerArgs = listOf("-Xjsr305=strict")
} }
} }
@ -38,14 +38,14 @@ subprojects {
plugins.withId("java") { plugins.withId("java") {
extensions.configure<JavaPluginExtension> { extensions.configure<JavaPluginExtension> {
toolchain { toolchain {
languageVersion.set(JavaLanguageVersion.of(21)) languageVersion.set(JavaLanguageVersion.of(17))
} }
} }
} }
plugins.withId("org.jetbrains.kotlin.jvm") { plugins.withId("org.jetbrains.kotlin.jvm") {
extensions.configure<org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension> { extensions.configure<org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension> {
jvmToolchain(21) jvmToolchain(17)
} }
} }

View file

@ -1,6 +1,6 @@
services: services:
postgres: postgres:
image: postgres:16 image: postgres:17
environment: environment:
POSTGRES_DB: mosenioring POSTGRES_DB: mosenioring
POSTGRES_USER: mosenioring POSTGRES_USER: mosenioring
@ -11,7 +11,7 @@ services:
- pgdata:/var/lib/postgresql/data - pgdata:/var/lib/postgresql/data
keycloak: keycloak:
image: quay.io/keycloak/keycloak:22.0.5 image: quay.io/keycloak/keycloak:26.0.8
command: start-dev --import-realm command: start-dev --import-realm
environment: environment:
KEYCLOAK_ADMIN: admin KEYCLOAK_ADMIN: admin
@ -22,18 +22,18 @@ services:
- ./docker/keycloak/realm.json:/opt/keycloak/data/import/realm.json:ro - ./docker/keycloak/realm.json:/opt/keycloak/data/import/realm.json:ro
rabbitmq: rabbitmq:
image: rabbitmq:3.12-management image: rabbitmq:3.13-management
ports: ports:
- "5672:5672" - "5672:5672"
- "15672:15672" - "15672:15672"
redis: redis:
image: redis:7 image: redis:7.4
ports: ports:
- "6379:6379" - "6379:6379"
minio: minio:
image: minio/minio:RELEASE.2024-04-06T05-26-02Z image: minio/minio:latest
environment: environment:
MINIO_ROOT_USER: minio MINIO_ROOT_USER: minio
MINIO_ROOT_PASSWORD: minio123 MINIO_ROOT_PASSWORD: minio123

View file

@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip
networkTimeout=10000 networkTimeout=10000
validateDistributionUrl=true validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME