Skip to content

Commit c92459d

Browse files
committed
chore: upgrade Gradle, Kotlin, Ktor, and all dependencies
- Gradle wrapper 8.9 → 8.14.4 - Kotlin 2.0.20 → 2.3.10 - Ktor 3.0.0-rc-1 → 3.4.0 (stable) - Dagger 2.51 → 2.59.1, migrate KAPT → KSP - kotlinx-serialization-json 1.6.3 → 1.10.0 - Logback 1.3.15 → 1.5.29 (1.3.x was EOL) - JUnit 5.10.3 → 5.14.2, MockK 1.13.12 → 1.14.9 - foojay-resolver 0.8.0 → 1.0.0 - Fix duplicate ktor-serialization-kotlinx-json dependency - Fix deprecated buildDir usage - Docker builder image gradle:9.0 → gradle:8.13
1 parent a9defa2 commit c92459d

8 files changed

Lines changed: 71 additions & 52 deletions

File tree

Dockerfile

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,4 @@
1-
FROM gradle:9.0 AS builder
2-
# ^ 2 Critical, 4 High, 23 Medium, 4 Low vulnerabilities (04.12.2025)
3-
# gradle 8.9, 8.10, 8.11, 8.12, 8.13 and 9.0 work
4-
# gradle 8.14 does nothing(doesn't build at all, no binary, no logs)
5-
# gradle 9.1 Fatal Errors due to some incompatability with jdk25
6-
# gradle 9.x with jdk21 does nothing, much like 8.14
1+
FROM gradle:8.13 AS builder
72
WORKDIR /octi-sync-server
83

94
# Copy Gradle wrapper files first for better caching

build.gradle.kts

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import java.io.ByteArrayOutputStream
22

33
plugins {
4-
kotlin("jvm") version "2.0.20"
4+
kotlin("jvm") version "2.3.10"
55
application
6-
kotlin("kapt") version "2.0.20"
7-
kotlin("plugin.serialization") version "2.0.20"
8-
id("io.ktor.plugin") version "3.0.0-rc-1"
6+
id("com.google.devtools.ksp") version "2.3.5"
7+
kotlin("plugin.serialization") version "2.3.10"
8+
id("io.ktor.plugin") version "3.4.0"
99
}
1010

1111
group = "eu.darken"
@@ -16,26 +16,25 @@ repositories {
1616
}
1717

1818
dependencies {
19-
implementation("com.google.dagger:dagger:2.51")
20-
kapt("com.google.dagger:dagger-compiler:2.51")
19+
implementation("com.google.dagger:dagger:2.59.1")
20+
ksp("com.google.dagger:dagger-compiler:2.59.1")
2121

22-
val ktorVersion = "3.0.0-rc-1"
22+
val ktorVersion = "3.4.0"
2323
implementation("io.ktor:ktor-server-core:$ktorVersion")
2424
implementation("io.ktor:ktor-server-netty:$ktorVersion")
2525
implementation("io.ktor:ktor-serialization-kotlinx-json:$ktorVersion")
2626
implementation("io.ktor:ktor-server-content-negotiation:$ktorVersion")
27-
implementation("io.ktor:ktor-serialization-kotlinx-json:$ktorVersion")
2827
implementation("io.ktor:ktor-server-body-limit:$ktorVersion")
2928
testImplementation("io.ktor:ktor-server-test-host:$ktorVersion")
3029
testImplementation("io.ktor:ktor-client-content-negotiation:$ktorVersion")
3130

32-
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3")
31+
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.10.0")
3332

34-
implementation("ch.qos.logback:logback-classic:1.3.15")
33+
implementation("ch.qos.logback:logback-classic:1.5.29")
3534

3635
testImplementation(kotlin("test"))
37-
testImplementation("org.junit.jupiter:junit-jupiter:5.10.3")
38-
testImplementation("io.mockk:mockk:1.13.12")
36+
testImplementation("org.junit.jupiter:junit-jupiter:5.14.2")
37+
testImplementation("io.mockk:mockk:1.14.9")
3938
testImplementation("io.kotest:kotest-runner-junit5:5.9.1")
4039
testImplementation("io.kotest:kotest-assertions-core:5.9.1")
4140
}
@@ -76,7 +75,7 @@ tasks.register("generateBuildInfo") {
7675
"?"
7776
}
7877

79-
val outputDir = File(buildDir, "generated/buildinfo")
78+
val outputDir = File(layout.buildDirectory.asFile.get(), "generated/buildinfo")
8079
outputDir.mkdirs()
8180
File(outputDir, "BuildInfo.kt").apply {
8281
writeText(

gradle/wrapper/gradle-wrapper.jar

-16.8 KB
Binary file not shown.
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.4-bin.zip
4+
networkTimeout=10000
5+
validateDistributionUrl=true
46
zipStoreBase=GRADLE_USER_HOME
5-
zipStorePath=wrapper/dists
7+
zipStorePath=wrapper/dists

gradlew

Lines changed: 31 additions & 13 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

gradlew.bat

Lines changed: 21 additions & 16 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

settings.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ pluginManagement {
66
}
77

88
plugins {
9-
id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0"
9+
id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0"
1010
}
1111

1212
rootProject.name = "octi-sync-server-kotlin"

src/test/kotlin/eu/darken/octi/TestRunnerExtensions.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ data class TestDevices(
106106
@Serializable
107107
data class Device(
108108
@Serializable(with = UUIDSerializer::class) val id: UUID,
109-
val version: String = "Ktor client",
109+
val version: String = "ktor-client",
110110
)
111111
}
112112

0 commit comments

Comments
 (0)