fix(gradle) gradle.build
This commit is contained in:
@@ -1,15 +1,15 @@
|
|||||||
plugins {
|
plugins {
|
||||||
// Definiert dieses Modul als ein Standard Kotlin/JVM-Modul.
|
// Definiert dieses Modul als ein Standard Kotlin/JVM-Modul.
|
||||||
// kotlin("jvm")
|
alias(libs.plugins.kotlin.jvm)
|
||||||
// Aktiviert das Kotlinx Serialization Plugin, da unsere DTOs und Enums
|
// Aktiviert das Kotlinx Serialization Plugin, da unsere DTOs und Enums
|
||||||
// als @Serializable markiert sind.
|
// als @Serializable markiert sind.
|
||||||
alias(libs.plugins.kotlin.jvm)
|
|
||||||
alias(libs.plugins.kotlin.serialization)
|
alias(libs.plugins.kotlin.serialization)
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
// Stellt sicher, dass dieses Modul Zugriff auf die im zentralen Katalog
|
// Stellt sicher, dass dieses Modul die zentralen Versionen aus unserem BOM (Bill of Materials)
|
||||||
// definierten Bibliotheken hat.
|
// im platform-Modul respektiert. `api` wird verwendet, damit abhängige Module
|
||||||
|
// diese Platform-Definitionen ebenfalls "erben".
|
||||||
api(projects.platform.platformDependencies)
|
api(projects.platform.platformDependencies)
|
||||||
|
|
||||||
// --- Kern-Abhängigkeiten für das Domänen-Modell ---
|
// --- Kern-Abhängigkeiten für das Domänen-Modell ---
|
||||||
@@ -26,7 +26,7 @@ dependencies {
|
|||||||
// Stellt moderne Datums- und Zeit-Typen wie `Instant` und `LocalDate` bereit.
|
// Stellt moderne Datums- und Zeit-Typen wie `Instant` und `LocalDate` bereit.
|
||||||
api(libs.kotlinx.datetime)
|
api(libs.kotlinx.datetime)
|
||||||
|
|
||||||
// --- Test-Abhängigkeiten ---
|
// --- Testing ---
|
||||||
// Stellt die notwendigen Bibliotheken für das Schreiben von Tests bereit.
|
// Stellt die notwendigen Bibliotheken für das Schreiben von Tests bereit.
|
||||||
// `testImplementation` sorgt dafür, dass diese Bibliotheken nicht Teil
|
// `testImplementation` sorgt dafür, dass diese Bibliotheken nicht Teil
|
||||||
// des finalen produktiven Codes werden.
|
// des finalen produktiven Codes werden.
|
||||||
|
|||||||
@@ -1,9 +1,14 @@
|
|||||||
plugins {
|
plugins {
|
||||||
|
// Wendet das Kotlin JVM Plugin über den zentralen Alias an.
|
||||||
alias(libs.plugins.kotlin.jvm)
|
alias(libs.plugins.kotlin.jvm)
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
// Stellt sicher, dass dieses Modul die zentralen Versionen aus unserem BOM respektiert.
|
||||||
api(projects.platform.platformDependencies)
|
api(projects.platform.platformDependencies)
|
||||||
|
|
||||||
|
// Stellt die reinen Domänen-Klassen und -Interfaces aus dem `core-domain`-Modul bereit.
|
||||||
|
// `api` ist hier zwingend, da `core-utils` eine Implementierung von `core-domain` ist.
|
||||||
api(projects.core.coreDomain)
|
api(projects.core.coreDomain)
|
||||||
|
|
||||||
// --- Coroutines & Asynchronität ---
|
// --- Coroutines & Asynchronität ---
|
||||||
@@ -13,7 +18,8 @@ dependencies {
|
|||||||
api(libs.exposed.core)
|
api(libs.exposed.core)
|
||||||
api(libs.exposed.dao)
|
api(libs.exposed.dao)
|
||||||
api(libs.exposed.jdbc)
|
api(libs.exposed.jdbc)
|
||||||
api(libs.exposed.kotlin.datetime)
|
api(libs.exposed.kotlin.datetime) // exposed-kotlin-datetime -> exposed.kotlin.datetime
|
||||||
|
// KORREKTUR: Der Alias `hikari-cp` wird zu `hikariCp` umgewandelt.
|
||||||
api(libs.hikari.cp)
|
api(libs.hikari.cp)
|
||||||
api(libs.flyway.core)
|
api(libs.flyway.core)
|
||||||
api(libs.flyway.postgresql)
|
api(libs.flyway.postgresql)
|
||||||
@@ -22,7 +28,7 @@ dependencies {
|
|||||||
api(libs.consul.client)
|
api(libs.consul.client)
|
||||||
|
|
||||||
// --- Utilities ---
|
// --- Utilities ---
|
||||||
// KORREKTUR: Fehlende Abhängigkeit für den BigDecimalSerializer hinzugefügt.
|
// Stellt die BigDecimal-Implementierung für den Serializer bereit.
|
||||||
api(libs.bignum)
|
api(libs.bignum)
|
||||||
|
|
||||||
// --- Testing ---
|
// --- Testing ---
|
||||||
|
|||||||
+5
-2
@@ -1,8 +1,10 @@
|
|||||||
package at.mocode.core.utils.discovery
|
package at.mocode.core.utils.discovery
|
||||||
|
|
||||||
import at.mocode.core.utils.config.AppConfig // AppConfig ist jetzt eine Klasse
|
import at.mocode.core.utils.config.AppConfig
|
||||||
import com.orbitz.consul.Consul
|
import com.orbitz.consul.Consul
|
||||||
import com.orbitz.consul.model.agent.ImmutableRegistration
|
import com.orbitz.consul.model.agent.ImmutableRegistration
|
||||||
|
// KORREKTUR: Expliziter Import für die `Registration`-Klasse, die den `RegCheck` enthält.
|
||||||
|
import com.orbitz.consul.model.agent.Registration
|
||||||
import java.net.InetAddress
|
import java.net.InetAddress
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
@@ -64,7 +66,8 @@ class ServiceRegistrar(private val appConfig: AppConfig) {
|
|||||||
val serviceId = "$serviceName-${UUID.randomUUID()}"
|
val serviceId = "$serviceName-${UUID.randomUUID()}"
|
||||||
val hostAddress = InetAddress.getLocalHost().hostAddress
|
val hostAddress = InetAddress.getLocalHost().hostAddress
|
||||||
|
|
||||||
val healthCheck = ImmutableRegistration.RegCheck.http(
|
// KORREKTUR: Der Aufruf erfolgt über die `Registration`-Klasse, nicht `ImmutableRegistration`.
|
||||||
|
val healthCheck = Registration.RegCheck.http(
|
||||||
"http://$hostAddress:$servicePort/health", // Standard-Health-Check-Pfad
|
"http://$hostAddress:$servicePort/health", // Standard-Health-Check-Pfad
|
||||||
10L, // Intervall in Sekunden
|
10L, // Intervall in Sekunden
|
||||||
5L // Timeout in Sekunden
|
5L // Timeout in Sekunden
|
||||||
|
|||||||
+35
-44
@@ -1,44 +1,44 @@
|
|||||||
# This file defines all dependencies for the Meldestelle_Pro project.
|
# This file is the SINGLE SOURCE OF TRUTH for all project dependencies.
|
||||||
# It allows for centralized version management and ensures consistency across all modules.
|
# It allows for centralized version management and ensures consistency.
|
||||||
# Last updated: 2025-07-29
|
# Last updated: 2025-07-30
|
||||||
|
|
||||||
[versions]
|
[versions]
|
||||||
# --- Kotlin Ecosystem ---
|
# --- Kotlin Ecosystem ---
|
||||||
# Defines the primary Kotlin version for the compiler and all related plugins.
|
|
||||||
kotlin = "2.2.0"
|
kotlin = "2.2.0"
|
||||||
kotlinxCoroutines = "1.9.1"
|
kotlinxCoroutines = "1.9.1"
|
||||||
kotlinxSerialization = "1.7.1"
|
kotlinxSerialization = "1.7.1"
|
||||||
kotlinxDatetime = "0.6.0"
|
kotlinxDatetime = "0.6.0"
|
||||||
|
|
||||||
# --- Database & Persistence ---
|
# --- Spring Ecosystem ---
|
||||||
exposed = "0.51.1"
|
|
||||||
postgresql = "42.7.3"
|
|
||||||
h2 = "2.2.224"
|
|
||||||
hikari = "5.1.0"
|
|
||||||
flyway = "10.15.2"
|
|
||||||
|
|
||||||
# --- Service Discovery ---
|
|
||||||
consulClient = "1.5.3"
|
|
||||||
micrometer = "1.12.2"
|
|
||||||
|
|
||||||
# --- Utilities ---
|
|
||||||
uuid = "0.8.4"
|
|
||||||
bignum = "0.3.9"
|
|
||||||
|
|
||||||
springBoot = "3.2.5"
|
springBoot = "3.2.5"
|
||||||
springDependencyManagement = "1.1.5"
|
springDependencyManagement = "1.1.5"
|
||||||
springdoc = "2.5.0"
|
springdoc = "2.5.0"
|
||||||
|
|
||||||
# --- Compose (UI) ---
|
# --- Compose UI ---
|
||||||
composeMultiplatform = "1.6.10"
|
composeMultiplatform = "1.6.10"
|
||||||
|
|
||||||
# --- Ktor (API Layer & Client) ---
|
# --- Ktor (API Layer & Client) ---
|
||||||
ktor = "3.0.0-beta-2" # Stable release for Ktor 3
|
ktor = "3.0.0-beta-2"
|
||||||
ktor-openapi = "2.1.4"
|
|
||||||
|
# --- Database & Persistence ---
|
||||||
|
exposed = "0.51.1"
|
||||||
|
postgresql = "42.7.3"
|
||||||
|
hikari = "5.1.0"
|
||||||
|
h2 = "2.2.224"
|
||||||
|
flyway = "10.15.2"
|
||||||
|
|
||||||
|
# --- Service Discovery & Monitoring ---
|
||||||
|
consulClient = "1.5.3"
|
||||||
|
micrometer = "1.12.2"
|
||||||
|
|
||||||
# --- Testing ---
|
# --- Testing ---
|
||||||
junitJupiter = "5.10.2"
|
junitJupiter = "5.10.2"
|
||||||
|
|
||||||
|
# --- Utilities ---
|
||||||
|
uuid = "0.8.4"
|
||||||
|
bignum = "0.3.9"
|
||||||
|
logback = "1.5.6"
|
||||||
|
|
||||||
[libraries]
|
[libraries]
|
||||||
# --- Kotlin & Coroutines ---
|
# --- Kotlin & Coroutines ---
|
||||||
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
|
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
|
||||||
@@ -54,70 +54,62 @@ ktor-server-netty = { module = "io.ktor:ktor-server-netty-jvm", version.ref = "k
|
|||||||
ktor-server-contentNegotiation = { module = "io.ktor:ktor-server-content-negotiation-jvm", version.ref = "ktor" }
|
ktor-server-contentNegotiation = { module = "io.ktor:ktor-server-content-negotiation-jvm", version.ref = "ktor" }
|
||||||
ktor-server-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json-jvm", version.ref = "ktor" }
|
ktor-server-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json-jvm", version.ref = "ktor" }
|
||||||
ktor-server-statusPages = { module = "io.ktor:ktor-server-status-pages-jvm", version.ref = "ktor" }
|
ktor-server-statusPages = { module = "io.ktor:ktor-server-status-pages-jvm", version.ref = "ktor" }
|
||||||
ktor-server-tests = { module = "io.ktor:ktor-server-tests-jvm", version.ref = "ktor" }
|
|
||||||
ktor-server-auth = { module = "io.ktor:ktor-server-auth-jvm", version.ref = "ktor" }
|
ktor-server-auth = { module = "io.ktor:ktor-server-auth-jvm", version.ref = "ktor" }
|
||||||
ktor-server-authJwt = { module = "io.ktor:ktor-server-auth-jwt-jvm", version.ref = "ktor" }
|
ktor-server-authJwt = { module = "io.ktor:ktor-server-auth-jwt-jvm", version.ref = "ktor" }
|
||||||
ktor-server-openapi = { module = "io.ktor:ktor-server-openapi", version.ref = "ktor" }
|
|
||||||
ktor-server-swagger = { module = "io.ktor:ktor-server-swagger", version.ref = "ktor" }
|
|
||||||
ktor-server-cors = { module = "io.ktor:ktor-server-cors-jvm", version.ref = "ktor" }
|
ktor-server-cors = { module = "io.ktor:ktor-server-cors-jvm", version.ref = "ktor" }
|
||||||
ktor-server-callLogging = { module = "io.ktor:ktor-server-call-logging-jvm", version.ref = "ktor" }
|
ktor-server-callLogging = { module = "io.ktor:ktor-server-call-logging-jvm", version.ref = "ktor" }
|
||||||
ktor-server-defaultHeaders = { module = "io.ktor:ktor-server-default-headers-jvm", version.ref = "ktor" }
|
ktor-server-defaultHeaders = { module = "io.ktor:ktor-server-default-headers-jvm", version.ref = "ktor" }
|
||||||
ktor-server-rateLimit = { module = "io.ktor:ktor-server-rate-limit-jvm", version.ref = "ktor" }
|
ktor-server-rateLimit = { module = "io.ktor:ktor-server-rate-limit-jvm", version.ref = "ktor" }
|
||||||
ktor-server-metrics-micrometer = { module = "io.ktor:ktor-server-metrics-micrometer-jvm", version.ref = "ktor" }
|
ktor-server-metrics-micrometer = { module = "io.ktor:ktor-server-metrics-micrometer-jvm", version.ref = "ktor" }
|
||||||
|
ktor-server-openapi = { module = "io.ktor:ktor-server-openapi", version.ref = "ktor" }
|
||||||
|
ktor-server-swagger = { module = "io.ktor:ktor-server-swagger", version.ref = "ktor" }
|
||||||
|
ktor-server-tests = { module = "io.ktor:ktor-server-tests-jvm", version.ref = "ktor" }
|
||||||
|
|
||||||
# --- Ktor Client ---
|
# --- Ktor Client ---
|
||||||
ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" }
|
ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" }
|
||||||
ktor-client-cio = { module = "io.ktor:ktor-client-cio-jvm", version.ref = "ktor" }
|
ktor-client-cio = { module = "io.ktor:ktor-client-cio-jvm", version.ref = "ktor" }
|
||||||
ktor-client-js = { module = "io.ktor:ktor-client-js", version.ref = "ktor" }
|
ktor-client-js = { module = "io.ktor:ktor-client-js", version.ref = "ktor" }
|
||||||
ktor-client-contentNegotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" }
|
ktor-client-contentNegotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" }
|
||||||
ktor-client-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" } # Eindeutiger Alias
|
ktor-client-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" }
|
||||||
|
|
||||||
# --- Spring Boot Starters ---
|
# --- Spring Boot ---
|
||||||
spring-boot-starter-web = { module = "org.springframework.boot:spring-boot-starter-web" }
|
spring-boot-starter-web = { module = "org.springframework.boot:spring-boot-starter-web" }
|
||||||
spring-boot-starter-validation = { module = "org.springframework.boot:spring-boot-starter-validation" }
|
spring-boot-starter-validation = { module = "org.springframework.boot:spring-boot-starter-validation" }
|
||||||
spring-boot-starter-actuator = { module = "org.springframework.boot:spring-boot-starter-actuator" }
|
spring-boot-starter-actuator = { module = "org.springframework.boot:spring-boot-starter-actuator" }
|
||||||
spring-boot-starter-test = { module = "org.springframework.boot:spring-boot-starter-test" }
|
|
||||||
spring-boot-starter-data-jpa = { module = "org.springframework.boot:spring-boot-starter-data-jpa" }
|
spring-boot-starter-data-jpa = { module = "org.springframework.boot:spring-boot-starter-data-jpa" }
|
||||||
# Spring Web als eigenständige Abhängigkeit
|
spring-boot-starter-test = { module = "org.springframework.boot:spring-boot-starter-test" }
|
||||||
spring-web = { module = "org.springframework:spring-web" }
|
spring-web = { module = "org.springframework:spring-web" }
|
||||||
|
|
||||||
# --- SpringDoc (OpenAPI) ---
|
|
||||||
# springdoc-openapi-starter-webmvc-ui = { module = "org.springdoc:springdoc-openapi-starter-webmvc-ui", version.ref = "springdoc" }
|
|
||||||
springdoc-openapi-starter-common = { module = "org.springdoc:springdoc-openapi-starter-common", version.ref = "springdoc" }
|
springdoc-openapi-starter-common = { module = "org.springdoc:springdoc-openapi-starter-common", version.ref = "springdoc" }
|
||||||
|
springdoc-openapi-starter-webmvc-ui = { module = "org.springdoc:springdoc-openapi-starter-webmvc-ui", version.ref = "springdoc" }
|
||||||
# --- Datenbank-Treiber ---
|
|
||||||
postgresql-driver = { module = "org.postgresql:postgresql", version.ref = "postgresql" }
|
|
||||||
h2-driver = { module = "com.h2database:h2", version.ref = "h2" }
|
|
||||||
|
|
||||||
# --- Database & Persistence ---
|
# --- Database & Persistence ---
|
||||||
exposed-core = { module = "org.jetbrains.exposed:exposed-core", version.ref = "exposed" }
|
exposed-core = { module = "org.jetbrains.exposed:exposed-core", version.ref = "exposed" }
|
||||||
exposed-dao = { module = "org.jetbrains.exposed:exposed-dao", version.ref = "exposed" }
|
exposed-dao = { module = "org.jetbrains.exposed:exposed-dao", version.ref = "exposed" }
|
||||||
exposed-jdbc = { module = "org.jetbrains.exposed:exposed-jdbc", version.ref = "exposed" }
|
exposed-jdbc = { module = "org.jetbrains.exposed:exposed-jdbc", version.ref = "exposed" }
|
||||||
exposed-kotlin-datetime = { module = "org.jetbrains.exposed:exposed-kotlin-datetime", version.ref = "exposed" }
|
exposed-kotlin-datetime = { module = "org.jetbrains.exposed:exposed-kotlin-datetime", version.ref = "exposed" }
|
||||||
|
postgresql-driver = { module = "org.postgresql:postgresql", version.ref = "postgresql" }
|
||||||
hikari-cp = { module = "com.zaxxer:HikariCP", version.ref = "hikari" }
|
hikari-cp = { module = "com.zaxxer:HikariCP", version.ref = "hikari" }
|
||||||
|
h2-driver = { module = "com.h2database:h2", version.ref = "h2" }
|
||||||
flyway-core = { module = "org.flywaydb:flyway-core", version.ref = "flyway" }
|
flyway-core = { module = "org.flywaydb:flyway-core", version.ref = "flyway" }
|
||||||
flyway-postgresql = { module = "org.flywaydb:flyway-database-postgresql", version.ref = "flyway" }
|
flyway-postgresql = { module = "org.flywaydb:flyway-database-postgresql", version.ref = "flyway" }
|
||||||
|
|
||||||
# --- Service Discovery ---
|
# --- Service Discovery & Monitoring ---
|
||||||
consul-client = { module = "com.orbitz.consul:consul-client", version.ref = "consulClient" }
|
consul-client = { module = "com.orbitz.consul:consul-client", version.ref = "consulClient" }
|
||||||
|
micrometer-prometheus = { module = "io.micrometer:micrometer-registry-prometheus", version.ref = "micrometer" }
|
||||||
# --- Monitoring ---
|
|
||||||
micrometer-prometheus = { group = "io.micrometer", name = "micrometer-registry-prometheus", version.ref = "micrometer" }
|
|
||||||
|
|
||||||
# --- Utilities ---
|
# --- Utilities ---
|
||||||
uuid = { module = "com.benasher44:uuid", version.ref = "uuid" }
|
uuid = { module = "com.benasher44:uuid", version.ref = "uuid" }
|
||||||
bignum = { module = "com.ionspin.kotlin:bignum", version.ref = "bignum" }
|
bignum = { module = "com.ionspin.kotlin:bignum", version.ref = "bignum" }
|
||||||
|
logback-classic = { module = "ch.qos.logback:logback-classic", version.ref = "logback" }
|
||||||
|
|
||||||
# --- Compose ---
|
# --- Compose UI ---
|
||||||
compose-runtime = { module = "org.jetbrains.compose.runtime:runtime", version.ref = "composeMultiplatform" }
|
compose-runtime = { module = "org.jetbrains.compose.runtime:runtime", version.ref = "composeMultiplatform" }
|
||||||
compose-foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "composeMultiplatform" }
|
compose-foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "composeMultiplatform" }
|
||||||
compose-material3 = { module = "org.jetbrains.compose.material3:material3", version.ref = "composeMultiplatform" }
|
compose-material3 = { module = "org.jetbrains.compose.material3:material3", version.ref = "composeMultiplatform" }
|
||||||
compose-ui = { module = "org.jetbrains.compose.ui:ui", version.ref = "composeMultiplatform" }
|
compose-ui = { module = "org.jetbrains.compose.ui:ui", version.ref = "composeMultiplatform" }
|
||||||
compose-components-resources = { module = "org.jetbrains.compose.components:components-resources", version.ref = "composeMultiplatform" }
|
compose-components-resources = { module = "org.jetbrains.compose.components:components-resources", version.ref = "composeMultiplatform" }
|
||||||
compose-materialIconsExtended = { module = "org.jetbrains.compose.material:material-icons-extended", version.ref = "composeMultiplatform" }
|
compose-materialIconsExtended = { module = "org.jetbrains.compose.material:material-icons-extended", version.ref = "composeMultiplatform" }
|
||||||
# NEU: Die Bibliothek für Compose for Web (HTML)
|
|
||||||
compose-html-core = { module = "org.jetbrains.compose.html:html-core", version.ref = "composeMultiplatform" }
|
compose-html-core = { module = "org.jetbrains.compose.html:html-core", version.ref = "composeMultiplatform" }
|
||||||
# NEU: Die Bibliothek für die Desktop-Plattform
|
|
||||||
compose-desktop-currentOs = { module = "org.jetbrains.compose.desktop:desktop", version.ref = "composeMultiplatform" }
|
compose-desktop-currentOs = { module = "org.jetbrains.compose.desktop:desktop", version.ref = "composeMultiplatform" }
|
||||||
|
|
||||||
# --- Testing (JUnit 5) ---
|
# --- Testing (JUnit 5) ---
|
||||||
@@ -125,7 +117,6 @@ junit-jupiter-api = { module = "org.junit.jupiter:junit-jupiter-api", version.re
|
|||||||
junit-jupiter-engine = { module = "org.junit.jupiter:junit-jupiter-engine", version.ref = "junitJupiter" }
|
junit-jupiter-engine = { module = "org.junit.jupiter:junit-jupiter-engine", version.ref = "junitJupiter" }
|
||||||
|
|
||||||
[plugins]
|
[plugins]
|
||||||
# KORREKTUR: Wir stellen sicher, dass ALLE Plugins, die wir verwenden, hier definiert sind.
|
|
||||||
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
|
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
|
||||||
kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
|
kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
|
||||||
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
|
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
|
||||||
|
|||||||
Reference in New Issue
Block a user