# @formatter:off ########## [versions] ########## ## compilation ## jvm = "11" kotlin = "1.7.0" ## libs ## camel-kafkaConnectors = "0.11.0" http4k = "4.25.16.2" kafka = "3.2.0" kvision = "5.11.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-charleskornKaml = "0.44.0" kxs-mamoeYamlkt = "0.12.0" kotlinJsWrappers = "1.0.0-pre.346" 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.3" hoplite = "2.1.5" simpleSyslogParser = "0.0.6" kotkaStreams = "dev-SNAPSHOT" ## test ## junit = "5.8.2" kotest = "5.3.1" 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" # https://github.com/node-gradle/gradle-node-plugin/releases ######### [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" } kotlinScripting-common = { group = "org.jetbrains.kotlin", name = "kotlin-scripting-common" } kotlinScripting-jvm = { group = "org.jetbrains.kotlin", name = "kotlin-scripting-jvm" } kotlinScripting-jvmHost = { group = "org.jetbrains.kotlin", name = "kotlin-scripting-jvm-host" } kotlinScripting-dependencies = { group = "org.jetbrains.kotlin", name = "kotlin-scripting-dependencies" } kotlinScripting-dependenciesMaven = { group = "org.jetbrains.kotlin", name = "kotlin-scripting-dependencies-maven" } 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-cbor = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-cbor" } kotlinx-serialization-hocon = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-hocon" } kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json" } kotlinx-serialization-properties = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-properties" } kotlinx-serialization-protobuf = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-protobuf" } kxs-charleskornKaml = { group = "com.charleskorn.kaml", name = "kaml", version.ref = "kxs-charleskornKaml" } kxs-mamoeYamlkt = { group = "net.mamoe.yamlkt", name = "yamlkt", version.ref = "kxs-mamoeYamlkt" } 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" } ktorSerialization-kotlinxJson = { group = "io.ktor", name = "ktor-serialization-kotlinx-json" } ktorClient-core = { group = "io.ktor", name = "ktor-client-core" } ktorClient-auth = { group = "io.ktor", name = "ktor-client-auth" } ktorClient-cio = { group = "io.ktor", name = "ktor-client-cio" } ktorClient-contentNegotiation = { group = "io.ktor", name = "ktor-client-content-negotiation" } ktorClient-encoding = { group = "io.ktor", name = "ktor-client-encoding" } ktorClient-logging = { group = "io.ktor", name = "ktor-client-logging" } ktorClient-resources = { group = "io.ktor", name = "ktor-client-resources" } ktorClient-websockets = { group = "io.ktor", name = "ktor-client-websockets" } ktorClient-testMock = { group = "io.ktor", name = "ktor-client-mock" } ktorServer-core = { group = "io.ktor", name = "ktor-server-core" } ktorServer-auth = { group = "io.ktor", name = "ktor-server-auth" } ktorServer-authJwt = { group = "io.ktor", name = "ktor-server-auth-jwt" } ktorServer-autoHeadResponse = { group = "io.ktor", name = "ktor-server-auto-head-response" } ktorServer-cachingHeaders = { group = "io.ktor", name = "ktor-server-caching-headers" } ktorServer-callId = { group = "io.ktor", name = "ktor-server-call-id" } ktorServer-callLogging = { group = "io.ktor", name = "ktor-server-call-logging" } ktorServer-compression = { group = "io.ktor", name = "ktor-server-compression" } ktorServer-conditionalHeaders = { group = "io.ktor", name = "ktor-server-conditional-headers" } ktorServer-contentNegotiaion = { group = "io.ktor", name = "ktor-server-content-negotiation" } ktorServer-cors = { group = "io.ktor", name = "ktor-server-cors" } ktorServer-dataConversion = { group = "io.ktor", name = "ktor-server-data-conversion" } ktorServer-defaultHeaders = { group = "io.ktor", name = "ktor-server-default-headers" } ktorServer-forwardedHeader = { group = "io.ktor", name = "ktor-server-forwarded-header" } ktorServer-hsts = { group = "io.ktor", name = "ktor-server-hsts" } ktorServer-httpRedirect = { group = "io.ktor", name = "ktor-server-http-redirect" } ktorServer-netty = { group = "io.ktor", name = "ktor-server-netty" } ktorServer-cio = { group = "io.ktor", name = "ktor-server-cio" } ktorServer-partialContent = { group = "io.ktor", name = "ktor-server-partial-content" } ktorServer-resources = { group = "io.ktor", name = "ktor-server-resources" } ktorServer-sessions = { group = "io.ktor", name = "ktor-server-sessions" } ktorServer-statusPages = { group = "io.ktor", name = "ktor-server-status-pages" } ktorServer-websockets = { group = "io.ktor", name = "ktor-server-websockets" } ktorServer-testHost = { group = "io.ktor", name = "ktor-server-test-host" } ktorNetwork-core = { group = "io.ktor", name = "ktor-network" } ktorNetwork-tls = { group = "io.ktor", name = "ktor-network-tls" } ### 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" } kafka-kotkaStreams = { group = "dev.adamko.kotka", 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" } hoplite-core = { group = "com.sksamuel.hoplite", name = "hoplite-core", version.ref = "hoplite" } hoplite-datetime = { group = "com.sksamuel.hoplite", name = "hoplite-datetime", version.ref = "hoplite" } hoplite-yaml = { group = "com.sksamuel.hoplite", name = "hoplite-yaml", version.ref = "hoplite" } simpleSyslogParser = { group = "com.github.palindromicity", name = "simple-syslog", version.ref = "simpleSyslogParser" } ############# ### 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", ] kotlinScripting-def = [ "kotlinScripting-common", "kotlinScripting-jvm", "kotlinScripting-dependencies", "kotlinScripting-dependenciesMaven", ] kotlinScripting-host = [ "kotlinScripting-common", "kotlinScripting-jvm", "kotlinScripting-jvmHost", ] hoplite = [ "hoplite-core", "hoplite-yaml", "hoplite-datetime", ]