# @formatter:off ########## [versions] ########## ## compilation ## jvm = "11" kotlin = "1.6.21" ## libs ## camel-kafkaConnectors = "0.11.0" http4k = "4.25.16.2" kafka = "3.2.0" kvision = "5.10.0" log4j2 = "2.17.2" qosLogback = "1.2.11" slf4j = "1.7.36" okio = "3.1.0" scrimage = "4.0.31" semver = "1.2.0" kotlinx-serialization = "1.3.3" kxs-yaml = "0.44.0" kotlinJsWrappers = "1.0.0-pre.339" kotlinx-html = "0.7.5" kotlinx-nodejs = "0.0.7" kotlinx-coroutines = "1.6.1" kotlinx-cli = "0.3.4" kotlinx-datetime = "0.3.3" ktor = "2.0.1" kotkaStreams = "v22.05.25" ## test ## junit = "5.8.2" kotest = "5.3.0" mockk = "1.12.4" ## infra ## factorio = "1.1.59" confluent-kafkaConnect = "7.0.1" grafana = "8.5.0" prometheus = "v2.34.0" ## gradle plugins ## gradleNodePlugin = "3.3.0" ######### [plugins] ######### kotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } kotlinJs = { id = "org.jetbrains.kotlin.js", version.ref = "kotlin" } kotlinSerialization = { id = "org.jetbrains.kotlin.kotlin-serialization", version.ref = "kotlin" } loggingCapabilities = { id = "dev.jacomet.logging-capabilities", version = "0.10.0" } #shadowJar = { id = "com.github.jengelman.gradle.plugins.shadow", version = "6.1.0" } #dependencyCheck = { id = "com.github.ben-manes.versions", version = "0.39.0" } ########### [libraries] ########### ## kotlin ## kotlin-bom = { group = "org.jetbrains.kotlin", name = "kotlin-bom", version.ref = "kotlin" } kotlinx-serialization-bom = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-bom", version.ref = "kotlinx-serialization" } kotlinx-serialization-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-core" } kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json" } kotlinx-serialization-protobuf = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-protobuf" } kotlinx-serialization-cbor = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-cbor" } kotlinx-serialization-properties = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-properties" } kotlinx-serialization-yaml = { group = "com.charleskorn.kaml", name = "kaml", version.ref = "kxs-yaml" } kotlinx-coroutines-bom = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-bom", version.ref = "kotlinx-coroutines" } kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core" } kotlinx-html = { group = "org.jetbrains.kotlinx", name = "kotlinx-html", version.ref = "kotlinx-html" } kotlinx-nodejs = { group = "org.jetbrains.kotlinx", name = "kotlinx-nodejs", version.ref = "kotlinx-nodejs" } kotlinx-cli = { group = "org.jetbrains.kotlinx", name = "kotlinx-cli", version.ref = "kotlinx-cli" } kotlinx-datetime = { group = "org.jetbrains.kotlinx", name = "kotlinx-datetime", version.ref = "kotlinx-datetime" } kotlin-jsWrappers-bom = { group = "org.jetbrains.kotlin-wrappers", name = "kotlin-wrappers-bom", version.ref = "kotlinJsWrappers" } ## http4k ## http4k-bom = { group = "org.http4k", name = "http4k-bom", version.ref = "http4k" } http4k-core = { group = "org.http4k", name = "http4k-core" } http4k-contract = { group = "org.http4k", name = "http4k-contract" } http4k-client-okhttp = { group = "org.http4k", name = "http4k-client-okhttp" } http4k-client-ws = { group = "org.http4k", name = "http4k-client-websocket" } http4k-server = { group = "org.http4k", name = "http4k-server-undertow" } http4k-cloudnative = { group = "org.http4k", name = "http4k-cloudnative" } #http4k-format-jackson-json = { group = "org.http4k", name = "http4k-format-jackson" } #http4k-format-jackson-xml = { group = "org.http4k", name = "http4k-format-jackson-xml" } #http4k-format-jackson-yaml = { group = "org.http4k", name = "http4k-format-jackson-yaml" } http4k-format-kotlinx = { group = "org.http4k", name = "http4k-format-kotlinx-serialization" } http4k-graphql = { group = "org.http4k", name = "http4k-graphql" } ## ktor ## ktor-bom = { group = "io.ktor", name = "ktor-bom", version.ref = "ktor" } ktor-clientAuth = { group = "io.ktor", name = "ktor-client-auth" } ktor-clientCIO = { group = "io.ktor", name = "ktor-client-cio" } ktor-clientContentNegotiation = { group = "io.ktor", name = "ktor-client-content-negotiation" } ktor-clientCore = { group = "io.ktor", name = "ktor-client-core" } ktor-clientEncoding = { group = "io.ktor", name = "ktor-client-encoding" } ktor-clientLogging = { group = "io.ktor", name = "ktor-client-logging" } ktor-clientResources = { group = "io.ktor", name = "ktor-client-resources" } ktor-clientWebsockets = { group = "io.ktor", name = "ktor-client-websockets" } ktor-serializationKotlinxJson = { group = "io.ktor", name = "ktor-serialization-kotlinx-json" } ktor-serverCore = { group = "io.ktor", name = "ktor-server-core" } ktor-serverNetty = { group = "io.ktor", name = "ktor-server-netty" } ktor-serverContentNegotiaion = { group = "io.ktor", name = "ktor-server-content-negotiation" } ktor-serverCors = { group = "io.ktor", name = "ktor-server-cors" } ktor-serverResources = { group = "io.ktor", name = "ktor-server-resources" } ktor-serverAutoHeadResponse = { group = "io.ktor", name = "ktor-server-auto-head-response" } ktor-serverStatusPages = { group = "io.ktor", name = "ktor-server-status-pages" } ktor-serverAuth = { group = "io.ktor", name = "ktor-server-auth" } ktor-serverAuthJwt = { group = "io.ktor", name = "ktor-server-auth-jwt" } ktor-serverSessions = { group = "io.ktor", name = "ktor-server-sessions" } ktor-serverDataConversion = { group = "io.ktor", name = "ktor-server-data-conversion" } ktor-serverDefaultHeaders = { group = "io.ktor", name = "ktor-server-default-headers" } ktor-serverCompression = { group = "io.ktor", name = "ktor-server-compression" } ktor-serverCachingHeaders = { group = "io.ktor", name = "ktor-server-caching-headers" } ktor-serverConditionalHeaders = { group = "io.ktor", name = "ktor-server-conditional-headers" } ktor-serverForwardedHeader = { group = "io.ktor", name = "ktor-server-forwarded-header" } ktor-serverHsts = { group = "io.ktor", name = "ktor-server-hsts" } ktor-serverHttpRedirect = { group = "io.ktor", name = "ktor-server-http-redirect" } ktor-serverPartialContent = { group = "io.ktor", name = "ktor-server-partial-content" } ktor-serverWebsockets = { group = "io.ktor", name = "ktor-server-websockets" } ktor-serverCallLogging = { group = "io.ktor", name = "ktor-server-call-logging" } ktor-serverCallId = { group = "io.ktor", name = "ktor-server-call-id" } ktor-network = { group = "io.ktor", name = "ktor-network" } ktor-test-clientMock = { group = "io.ktor", name = "ktor-client-mock" } ktor-test-serverHost = { group = "io.ktor", name = "ktor-server-test-host" } ### jackson ## #jackson-bom = { group = " com.fasterxml.jackson.module", name = ":jackson-module-kotlin", version = "2.13.+" } #jackson-kotlin = { group = " com.fasterxml.jackson.module", name = ":jackson-module-kotlin", version = "2.13.+" } ## logging ## slf4j-api = { group = "org.slf4j", name = "slf4j-api", version.ref = "slf4j" } kotlin-logging = { group = "io.github.microutils", name = "kotlin-logging-jvm", version = "2.1.21" } logback-core = { group = "ch.qos.logback", name = "logback-core", version.ref = "qosLogback" } logback-classic = { group = "ch.qos.logback", name = "logback-classic", version.ref = "qosLogback" } logback-encoder = { group = "net.logstash.logback", name = "logstash-logback-encoder", version = "6.6" } ## gcp ## #gcp-bom = { group = "com.google.cloud", name = "libraries-bom", version = "23.1.0" } #gcp-pubsub = { group = "com.google.cloud", name = "google-cloud-pubsub" } #gcp-speech = { group = "com.google.cloud", name = "google-cloud-speech" } ## kafka ## kafka-streams = { group = "org.apache.kafka", name = "kafka-streams", version.ref = "kafka" } kafka-streamsTestUtils = { group = "org.apache.kafka", name = "kafka-streams-test-utils", version.ref = "kafka" } # kafka helpers #kotka = { group = "com.github.blueanvil", name = "kotka", version = "1.1.1" } kafka-kotkaStreams = { group = "com.github.adamko-dev.kotka-streams", name = "kotka-streams", version.ref = "kotkaStreams" } rocksdb = { group = "io.maryk.rocksdb", name = "rocksdb-multiplatform", version = "7.0.3" } jsoup = { group = "org.jsoup", name = "jsoup", version = "1.14.3" } skrapeit = { group = "it.skrape", name = "skrapeit", version = "1.2.0" } scrimage-core = { group = "com.sksamuel.scrimage", name = "scrimage-core", version.ref = "scrimage" } semver = { group = "net.swiftzer.semver", name = "semver", version.ref = "semver" } ## okio ## okio-bom = { group = "com.squareup.okio", name = "okio-bom", version.ref = "okio" } okio-core = { group = "com.squareup.okio", name = "okio" } ############# ### test ### ############# mockk = { group = "io.mockk", name = "mockk", version.ref = "mockk" } ## junit ## junit-bom = { group = "org.junit", name = "junit-bom", version.ref = "junit" } junit-api = { group = "org.junit.jupiter", name = "junit-jupiter-api" } # version.ref = "junit" } junit-engine = { group = "org.junit.jupiter", name = "junit-jupiter-engine" } # version.ref = "junit" } junit-launcher = { group = "org.junit.platform", name = "junit-platform-launcher" } # version = "1.7.2" } ## kotest ## kotest-bom = { group = "io.kotest", name = "kotest-bom", version.ref = "kotest" } kotest-core = { group = "io.kotest", name = "kotest-assertions-core", version.ref = "kotest" } kotest-datatest = { group = "io.kotest", name = "kotest-framework-datatest", version.ref = "kotest" } kotest-runner = { group = "io.kotest", name = "kotest-runner-junit5", version.ref = "kotest" } kotest-prop = { group = "io.kotest", name = "kotest-property", version.ref = "kotest" } kotest-json = { group = "io.kotest", name = "kotest-assertions-json", version.ref = "kotest" } ## http4k ## http4k-test-chaos = { group = "org.http4k", name = "http4k-testing-chaos", version.ref = "http4k" } http4k-test-approval = { group = "org.http4k", name = "http4k-testing-approval", version.ref = "http4k" } http4k-test-kotest = { group = "org.http4k", name = "http4k-testing-kotest", version.ref = "http4k" } ######### [bundles] ######### logging = [ "slf4j-api", "kotlin-logging", "logback-core", "logback-classic", "logback-encoder", ] kt-testing = [ "kotest-core", "kotest-datatest", "kotest-runner", "kotest-prop", "kotest-json", "mockk", ] junit-runtime = [ "junit-engine", "junit-launcher", ] http4k = [ "http4k-core", "http4k-contract", "http4k-client-okhttp", "http4k-client-ws", "http4k-server", "http4k-cloudnative", # "http4k-format-jackson-xml", # "http4k-format-jackson-json", # "http4k-format-jackson-yaml", "http4k-format-kotlinx", ] http4k-test = [ "http4k-test-chaos", "http4k-test-approval", "http4k-test-kotest", ]