move dependency description and version to gradle version catalog

bump kotlin version up to 2.1.10
This commit is contained in:
Denis Savosin
2025-02-25 13:45:59 +07:00
parent 853cb67455
commit 4f9ad14767
4 changed files with 97 additions and 52 deletions

View File

@@ -1,22 +1,17 @@
plugins { plugins {
id("io.spring.dependency-management") version "1.1.6" alias(libs.plugins.kotlin.jpa)
id("org.springframework.boot") version "3.2.10" alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.kotlin.spring)
alias(libs.plugins.spring.boot)
alias(libs.plugins.spring.dependencyManagement)
jacoco jacoco
kotlin("jvm") version "2.0.20"
kotlin("plugin.jpa") version "1.9.23"
kotlin("plugin.serialization") version "2.0.20"
kotlin("plugin.spring") version "1.9.23"
} }
group = "com.github.dannecron.demo" group = "com.github.dannecron.demo"
version = "single-version" version = "single-version"
val ktorVersion: String by project
val springVersion: String by project
val testContainersVersion: String by project
java { java {
sourceCompatibility = JavaVersion.VERSION_17 sourceCompatibility = JavaVersion.VERSION_17
} }
@@ -26,46 +21,44 @@ repositories {
} }
dependencies { dependencies {
api("org.springframework.boot:spring-boot-starter-data-jdbc:$springVersion") runtimeOnly(libs.micrometer.registry.prometheus)
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.15.4") implementation(libs.bundles.tracing)
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.15.4") implementation(libs.flyway.core)
implementation("io.github.optimumcode:json-schema-validator:0.2.3") implementation(libs.jackson.datatype.jsr)
implementation("io.micrometer:micrometer-tracing-bridge-otel") implementation(libs.jackson.module.kotlin)
implementation("io.opentelemetry:opentelemetry-exporter-otlp") implementation(libs.json.schema.validator)
implementation("net.logstash.logback:logstash-logback-encoder:8.0") implementation(libs.kotlin.reflect)
implementation("io.ktor:ktor-client-core:$ktorVersion") implementation(libs.kotlinx.serialization.json)
implementation("io.ktor:ktor-client-cio:$ktorVersion") implementation(libs.ktor.client.cio)
implementation("org.flywaydb:flyway-core:9.22.3") implementation(libs.ktor.client.core)
implementation("org.jetbrains.kotlin:kotlin-reflect:2.0.20") implementation(libs.logback.encoder)
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3") implementation(libs.postgres)
implementation("org.postgresql:postgresql:42.6.2") implementation(libs.spring.aspects)
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.6.0") implementation(libs.spring.boot.starter.actuator)
implementation("org.springframework:spring-aspects") implementation(libs.spring.boot.starter.jdbc)
implementation("org.springframework.boot:spring-boot-starter-actuator:$springVersion") implementation(libs.spring.boot.starter.mustache)
implementation("org.springframework.boot:spring-boot-starter-mustache:$springVersion") implementation(libs.spring.boot.starter.validation)
implementation("org.springframework.boot:spring-boot-starter-validation:$springVersion") implementation(libs.spring.boot.starter.web)
implementation("org.springframework.boot:spring-boot-starter-web:$springVersion") implementation(libs.spring.doc.openapi.starter)
implementation("org.springframework.kafka:spring-kafka:3.1.3") implementation(libs.spring.kafka)
runtimeOnly("io.micrometer:micrometer-registry-prometheus") testImplementation(libs.kotlin.test.junit)
testImplementation(libs.mockito.kotlin)
testImplementation(libs.spring.boot.starter.test)
testImplementation(libs.spring.kafka.test)
testImplementation(libs.testcontainers)
testImplementation(libs.testcontainers.junit.jupiter)
testImplementation(libs.testcontainers.postgresql)
testImplementation(libs.ktor.client.mock)
developmentOnly("org.springframework.boot:spring-boot-devtools") developmentOnly(libs.spring.boot.devtools)
testImplementation("org.jetbrains.kotlin:kotlin-test-junit5:2.0.20")
testImplementation("org.mockito.kotlin:mockito-kotlin:5.4.0")
testImplementation("org.springframework.boot:spring-boot-starter-test:$springVersion")
testImplementation("org.springframework.kafka:spring-kafka-test:3.1.3")
testImplementation("org.testcontainers:junit-jupiter:$testContainersVersion")
testImplementation("org.testcontainers:testcontainers:$testContainersVersion")
testImplementation("org.testcontainers:postgresql:$testContainersVersion")
testImplementation("io.ktor:ktor-client-mock:$ktorVersion")
} }
kotlin { kotlin {
compilerOptions { compilerOptions {
freeCompilerArgs.addAll("-Xjsr305=strict") freeCompilerArgs.addAll("-Xjsr305=strict")
apiVersion.set(org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_7) apiVersion.set(org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_2_1)
} }
} }

View File

@@ -1,3 +0,0 @@
ktorVersion=3.0.0
springVersion=3.2.10
testContainersVersion=1.19.7

50
gradle/libs.versions.toml Normal file
View File

@@ -0,0 +1,50 @@
[versions]
jackson = "2.15.4"
kotlin = "2.1.10"
ktor = "3.0.0"
spring-boot = "3.2.10"
spring-kafka = "3.1.3"
testcontainers = "1.19.7"
[libraries]
flyway-core = { module = "org.flywaydb:flyway-core", version = "9.22.3" }
jackson-datatype-jsr = { module = "com.fasterxml.jackson.datatype:jackson-datatype-jsr310", version.ref = "jackson" }
jackson-module-kotlin = { module = "com.fasterxml.jackson.module:jackson-module-kotlin", version.ref = "jackson" }
json-schema-validator = { module = "io.github.optimumcode:json-schema-validator", version = "0.2.3"}
kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlin" }
kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit5", version.ref = "kotlin" }
kotlinx-serialization-json = "org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3"
ktor-client-cio = { module = "io.ktor:ktor-client-cio", version.ref = "ktor"}
ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor"}
ktor-client-mock = { module = "io.ktor:ktor-client-mock", version.ref = "ktor"}
logback-encoder = { module = "net.logstash.logback:logstash-logback-encoder", version = "8.0" }
micrometer-bridge-otel = { module = "io.micrometer:micrometer-tracing-bridge-otel"}
micrometer-registry-prometheus = { module = "io.micrometer:micrometer-registry-prometheus" }
mockito-kotlin = { module = "org.mockito.kotlin:mockito-kotlin", version = "5.4.0" }
otel-exporter = { module = "io.opentelemetry:opentelemetry-exporter-otlp" }
postgres = { module = "org.postgresql:postgresql", version = "42.6.2" }
spring-aspects = { module = "org.springframework:spring-aspects" }
spring-boot-devtools = { module = "org.springframework.boot:spring-boot-devtools" }
spring-boot-starter-actuator = { module = "org.springframework.boot:spring-boot-starter-actuator", version.ref = "spring-boot" }
spring-boot-starter-jdbc = { module = "org.springframework.boot:spring-boot-starter-data-jdbc", version.ref = "spring-boot"}
spring-boot-starter-mustache = { module = "org.springframework.boot:spring-boot-starter-mustache", version.ref = "spring-boot" }
spring-boot-starter-test = { module = "org.springframework.boot:spring-boot-starter-test", version.ref = "spring-boot" }
spring-boot-starter-validation = { module = "org.springframework.boot:spring-boot-starter-validation", version.ref = "spring-boot" }
spring-boot-starter-web = { module = "org.springframework.boot:spring-boot-starter-web", version.ref = "spring-boot" }
spring-doc-openapi-starter = "org.springdoc:springdoc-openapi-starter-webmvc-ui:2.6.0"
spring-kafka = { module = "org.springframework.kafka:spring-kafka", version.ref = "spring-kafka"}
spring-kafka-test = { module = "org.springframework.kafka:spring-kafka-test", version.ref = "spring-kafka"}
testcontainers = { module = "org.testcontainers:testcontainers", version.ref = "testcontainers"}
testcontainers-junit-jupiter = { module = "org.testcontainers:junit-jupiter", version.ref = "testcontainers"}
testcontainers-postgresql = { module = "org.testcontainers:postgresql", version.ref = "testcontainers"}
[bundles]
tracing = ["micrometer-bridge-otel", "otel-exporter"]
[plugins]
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
kotlin-jpa = { id = "org.jetbrains.kotlin.plugin.jpa", version.ref = "kotlin" }
kotlin-spring = { id = "org.jetbrains.kotlin.plugin.spring", version.ref = "kotlin" }
spring-boot = { id = "org.springframework.boot", version.ref = "spring-boot" }
spring-dependencyManagement = { id = "io.spring.dependency-management", version = "1.1.6"}

View File

@@ -7,6 +7,7 @@ import io.micrometer.core.instrument.MeterRegistry
import kotlinx.serialization.encodeToString import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json import kotlinx.serialization.json.Json
import org.mockito.kotlin.after import org.mockito.kotlin.after
import org.mockito.kotlin.any
import org.mockito.kotlin.doReturn import org.mockito.kotlin.doReturn
import org.mockito.kotlin.verify import org.mockito.kotlin.verify
import org.mockito.kotlin.whenever import org.mockito.kotlin.whenever
@@ -22,7 +23,7 @@ import org.springframework.test.annotation.DirtiesContext
import org.springframework.test.context.ActiveProfiles import org.springframework.test.context.ActiveProfiles
import java.time.OffsetDateTime import java.time.OffsetDateTime
import java.time.format.DateTimeFormatter import java.time.format.DateTimeFormatter
import java.util.* import java.util.UUID
import kotlin.test.Test import kotlin.test.Test
import kotlin.test.assertEquals import kotlin.test.assertEquals
@@ -34,10 +35,14 @@ import kotlin.test.assertEquals
partitions = 1, partitions = 1,
) )
@DirtiesContext @DirtiesContext
class ConsumerKfkTest( class ConsumerKfkTest {
@Autowired private val kafkaTemplate: KafkaTemplate<String, Any>,
@Autowired private val metricRegistry: MeterRegistry, @Autowired
) { private lateinit var kafkaTemplate: KafkaTemplate<String, Any>
@Autowired
private lateinit var metricRegistry: MeterRegistry
@MockBean @MockBean
private lateinit var cityService: CityService private lateinit var cityService: CityService
@@ -54,7 +59,7 @@ class ConsumerKfkTest(
deletedAt = null, deletedAt = null,
) )
whenever(cityService.create(cityCreateDto)) doReturn City( whenever(cityService.create(any<CityCreateDto>())) doReturn City(
id = 123, id = 123,
guid = cityGuid, guid = cityGuid,
name = cityName, name = cityName,