# @formatter:off ########## [versions] ########## ## compilation ## jvm = "11" kotlin = "1.6.10" ## libs ## camel-kafkaConnectors = "0.11.0" http4k = "4.19.1.0" kafka = "3.1.0" kotlinx-serialization = "1.3.2" kvision = "5.8.1" log4j2 = "2.14.1" qosLogback = "1.2.5" slf4j = "1.7.30" ## test ## junit = "5.8.2" kotest = "5.1.0" ## infra ## factorio = "1.1.53" confluent-kafkaConnect = "7.0.1" ######### [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.9.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-yaml = { group = "com.charleskorn.kaml", name = "kaml", version = "0.37.0" } kotlinx-coroutines = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version = "1.6.0" } kotlinx-html = { group = "org.jetbrains.kotlinx", name = "kotlinx-html", version = "0.7.3" } kotlinx-nodejs = { group = "org.jetbrains.kotlinx", name = "kotlinx-nodejs", version = "0.0.7" } ## 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-json = { group = "org.http4k", name = "http4k-format-jackson" } http4k-format-xml = { group = "org.http4k", name = "http4k-format-jackson-xml" } http4k-format-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" } ### 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.0.11" } 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 helpers kotka = { group = "com.github.blueanvil", name = "kotka", version = "1.1.1" } ############# ### test ### ############# mockk = { group = "io.mockk", name = "mockk", version = "1.12.2" } ## 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-jvm", version.ref = "kotest" } kotest-datatest = { group = "io.kotest", name = "kotest-framework-datatest", version.ref = "kotest" } kotest-runner = { group = "io.kotest", name = "kotest-runner-junit5-jvm", version.ref = "kotest" } kotest-prop = { group = "io.kotest", name = "kotest-property-jvm", 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-xml", "http4k-format-json", "http4k-format-yaml", "http4k-format-kotlinx", ] http4k-test = [ "http4k-test-chaos", "http4k-test-approval", "http4k-test-kotest", ]