Skip to content

Commit 610a5a7

Browse files
authored
Merge pull request #74 from MarshallWace/upgrades
Upgrades
2 parents 9d3d7b9 + 1293da6 commit 610a5a7

File tree

19 files changed

+84
-81
lines changed

19 files changed

+84
-81
lines changed

.idea/kotlinc.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/sbt.xml

Lines changed: 0 additions & 7 deletions
This file was deleted.

build.gradle.kts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
*
33
*/
44

5+
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
6+
57
plugins {
68
id("com.diffplug.spotless")
79
kotlin("plugin.serialization")
@@ -14,16 +16,22 @@ subprojects {
1416
spotless {
1517
kotlin {
1618
trimTrailingWhitespace()
17-
indentWithSpaces()
19+
leadingTabsToSpaces()
1820
endWithNewline()
1921
licenseHeaderFile(rootProject.file("license-header.kt"))
2022
}
2123
kotlinGradle {
2224
target("*.gradle.kts")
2325
trimTrailingWhitespace()
24-
indentWithSpaces()
26+
leadingTabsToSpaces()
2527
endWithNewline()
2628
licenseHeaderFile(rootProject.file("license-header.kt"), "/\\* do not remove or change")
2729
}
2830
}
31+
32+
tasks.withType<KotlinCompile>().configureEach {
33+
compilerOptions {
34+
freeCompilerArgs.add("-opt-in=kotlin.time.ExperimentalTime")
35+
}
36+
}
2937
}

buildSrc/src/main/kotlin/buildlogic.kotlin-application-common-conventions.gradle.kts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
*/
55

66
val ktor_version: String by project
7+
val ktor_openapi_version: String by project
78
val logback_version: String by project
89
val prometheus_version: String by project
910
val koin_version: String by project
@@ -22,7 +23,8 @@ dependencies {
2223
implementation("io.ktor:ktor-server-auth-jwt-jvm:$ktor_version")
2324
implementation("io.ktor:ktor-server-webjars-jvm:$ktor_version")
2425
implementation("org.webjars:jquery:3.2.1")
25-
implementation("io.github.smiley4:ktor-swagger-ui:2.9.0")
26+
implementation("io.github.smiley4:ktor-openapi:${ktor_openapi_version}")
27+
implementation("io.github.smiley4:ktor-swagger-ui:$ktor_openapi_version")
2628
implementation("io.ktor:ktor-server-compression-jvm:$ktor_version")
2729
implementation("io.ktor:ktor-server-cors-jvm:$ktor_version")
2830
implementation("io.ktor:ktor-server-metrics-micrometer-jvm:$ktor_version")

buildSrc/src/main/kotlin/buildlogic.kotlin-common-conventions.gradle.kts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@
55

66
val kotlin_version: String by project
77
val kotlinx_coroutines_version: String by project
8+
val kotlinx_serialization_json_version: String by project
9+
val kotlinx_datetime_version: String by project
810
val kotlin_logging_version: String by project
11+
val junit_jupyter_version: String by project
12+
val arrow_version: String by project
913

1014
plugins {
1115
// Apply the org.jetbrains.kotlin.jvm Plugin to add support for Kotlin.
@@ -18,24 +22,22 @@ repositories {
1822
}
1923

2024
dependencies {
21-
testImplementation("org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version")
25+
testImplementation("org.jetbrains.kotlin:kotlin-test-junit5:$kotlin_version")
2226

2327
constraints {
2428
// Define dependency versions as constraints
2529
implementation("org.apache.commons:commons-text:1.12.0")
2630
}
2731

28-
implementation("io.arrow-kt:arrow-core:1.2.4")
29-
implementation("io.arrow-kt:arrow-fx-coroutines:1.2.4")
32+
implementation("io.arrow-kt:arrow-core:$arrow_version")
33+
implementation("io.arrow-kt:arrow-fx-coroutines:$arrow_version")
3034
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinx_coroutines_version")
3135
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:$kotlinx_coroutines_version")
32-
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3")
33-
implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.6.1")
36+
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinx_serialization_json_version")
3437
implementation("io.github.oshai:kotlin-logging-jvm:$kotlin_logging_version")
3538

3639
// Use JUnit Jupiter for testing.
37-
testImplementation("org.junit.jupiter:junit-jupiter:5.10.3")
38-
40+
testImplementation("org.junit.jupiter:junit-jupiter:$junit_jupyter_version")
3941
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
4042
}
4143

gradle.properties

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
1-
spotless_version=7.0.0.BETA2
1+
spotless_version=8.0.0
22
kotlin.code.style=official
3-
ktor_version=2.3.12
4-
kotlin_version=2.0.21
5-
kotlinx_coroutines_version=1.9.0
6-
kotlin_logging_version=7.0.0
7-
logback_version=1.4.14
8-
prometheus_version=1.6.13
9-
koin_version=3.5.6
10-
hoplite_version=2.7.5
11-
kotlin_kafka_version=0.4.0
12-
kafka_version=3.8.0
13-
plugin_serialization_version=2.0.21
3+
ktor_version=3.3.0
4+
ktor_openapi_version=5.3.0
5+
kotlin_version=2.2.20
6+
kotlinx_coroutines_version=1.10.2
7+
kotlinx_serialization_json_version=1.9.0
8+
kotlinx_datetime_version=0.7.1
9+
kotlin_logging_version=7.0.13
10+
logback_version=1.5.18
11+
prometheus_version=1.15.4
12+
koin_version=4.1.1
13+
hoplite_version=2.9.0
14+
kotlin_kafka_version=0.4.1
15+
kafka_version=4.1.0
16+
plugin_serialization_version=2.2.20
17+
junit_jupyter_version=6.0.0
18+
arrow_version=2.1.2

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# https://docs.gradle.org/current/userguide/platforms.html#sub::toml-dependencies-format
33

44
[versions]
5-
kotlin-gradle-plugin = "2.0.21"
5+
kotlin-gradle-plugin = "2.2.20"
66

77
[libraries]
88
kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin-gradle-plugin" }

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

kafkakewl-common/src/main/kotlin/com/mwam/kafkakewl/common/plugins/Configure.kt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ package com.mwam.kafkakewl.common.plugins
99
import com.auth0.jwt.JWT
1010
import com.auth0.jwt.algorithms.Algorithm
1111
import com.mwam.kafkakewl.common.metrics.metricsName
12-
import io.github.smiley4.ktorswaggerui.dsl.*
12+
import io.github.smiley4.ktoropenapi.*
1313
import io.ktor.http.*
1414
import io.ktor.serialization.JsonConvertException
1515
import io.ktor.serialization.kotlinx.json.json
@@ -18,8 +18,8 @@ import io.ktor.server.auth.*
1818
import io.ktor.server.auth.jwt.*
1919
import io.ktor.server.metrics.micrometer.*
2020
import io.ktor.server.plugins.BadRequestException
21-
import io.ktor.server.plugins.callloging.CallLogging
22-
import io.ktor.server.plugins.callloging.processingTimeMillis
21+
import io.ktor.server.plugins.calllogging.CallLogging
22+
import io.ktor.server.plugins.calllogging.processingTimeMillis
2323
import io.ktor.server.plugins.compression.*
2424
import io.ktor.server.plugins.contentnegotiation.*
2525
import io.ktor.server.plugins.cors.routing.*
@@ -32,7 +32,8 @@ import io.micrometer.core.instrument.Gauge
3232
import io.micrometer.core.instrument.MeterRegistry
3333
import io.micrometer.core.instrument.Tag
3434
import io.micrometer.core.instrument.config.MeterFilter
35-
import io.micrometer.prometheus.*
35+
import io.micrometer.prometheusmetrics.PrometheusMeterRegistry
36+
import io.micrometer.prometheusmetrics.PrometheusConfig
3637
import kotlinx.serialization.json.Json
3738
import org.koin.core.module.Module
3839
import org.koin.dsl.module
@@ -76,6 +77,7 @@ fun Application.configureMonitoring() {
7677
registry = meterRegistry
7778
// ...
7879
}
80+
7981
routing {
8082
get("/metrics", {
8183
hidden = true

kafkakewl-deploy/src/main/kotlin/com/mwam/kafkakewl/deploy/Application.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@ fun Application.module(config: Config) {
3030
configureMonitoring()
3131
configureCoreMetrics(config.kafkaCluster.name)
3232

33-
environment.monitor.subscribe(ApplicationStopped) { application ->
33+
monitor.subscribe(ApplicationStopped) { application ->
3434
application.environment.log.info("Ktor server has stopped")
3535
// TODO can this be done in a better way?
3636
// TODO this is where we can close AutoCloseable services or do any kind of clean-up tasks
37-
application.environment.monitor.unsubscribe(ApplicationStopped) {}
37+
application.monitor.unsubscribe(ApplicationStopped) {}
3838
}
3939

4040
configureRouting()

0 commit comments

Comments
 (0)