[versions] kotlin = "2.0.20" ktor = "2.3.12" exposed = "0.54.0" javacv-ffmpeg = "6.1.1-1.5.10" detekt = "1.23.6" coroutines = "1.8.1" swagger = "2.2.23" tika = "2.9.2" owl = "0.0.1" jackson = "2.17.2" protobuf = "4.28.0" grpc-java = "1.66.0" grpc-kotlin = "1.4.1" [libraries] exposed-core = { module = "org.jetbrains.exposed:exposed-core", version.ref = "exposed" } exposed-jdbc = { module = "org.jetbrains.exposed:exposed-jdbc", version.ref = "exposed" } exposed-spring = { module = "org.jetbrains.exposed:exposed-spring-boot-starter", version.ref = "exposed" } exposed-java-time = { module = "org.jetbrains.exposed:exposed-java-time", version.ref = "exposed" } coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" } coroutines-reactor = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-reactor", version.ref = "coroutines" } coroutines-slf4j = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-slf4j", version.ref = "coroutines" } coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "coroutines" } javacv = { module = "org.bytedeco:javacv", version = "1.5.10" } javacv-ffmpeg = { module = "org.bytedeco:ffmpeg", version.ref = "javacv-ffmpeg" } detekt-formatting = { module = "io.gitlab.arturbosch.detekt:detekt-formatting", version.ref = "detekt" } ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" } ktor-client-cio = { module = "io.ktor:ktor-client-cio", version.ref = "ktor" } ktor-client-content-negotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" } ktor-client-mock = { module = "io.ktor:ktor-client-mock", version.ref = "ktor" } ktor-client-logging-jvm = { module = "io.ktor:ktor-client-logging-jvm", version.ref = "ktor" } ktor-serialization-jackson = { module = "io.ktor:ktor-serialization-jackson", version.ref = "ktor" } spring-boot-oauth2-authorization = { module = "org.springframework.boot:spring-boot-starter-oauth2-authorization-server" } spring-boot-oauth2-resource = { module = "org.springframework.boot:spring-boot-starter-oauth2-resource-server" } spring-boot-oauth2-jose = { module = "org.springframework.security:spring-security-oauth2-jose" } spring-boot-data-mongodb = { module = "org.springframework.boot:spring-boot-starter-data-mongodb" } spring-boot-data-mongodb-reactive = { module = "org.springframework.boot:spring-boot-starter-data-mongodb-reactive" } jakarta-validation = { module = "jakarta.validation:jakarta.validation-api", version = "3.1.0" } jakarta-annotation = { module = "jakarta.annotation:jakarta.annotation-api", version = "3.0.0" } swagger-annotations = { module = "io.swagger.core.v3:swagger-annotations", version.ref = "swagger" } swagger-models = { module = "io.swagger.core.v3:swagger-models", version.ref = "swagger" } apache-tika-core = { module = "org.apache.tika:tika-core", version.ref = "tika" } apache-tika-parsers = { module = "org.apache.tika:tika-parsers", version.ref = "tika" } owl-producer-api = { module = "dev.usbharu:owl-producer-api", version.ref = "owl" } owl-producer-default = { module = "dev.usbharu:owl-producer-default", version.ref = "owl" } owl-producer-embedded = { module = "dev.usbharu:owl-producer-embedded", version.ref = "owl" } owl-broker = { module = "dev.usbharu:owl-broker", version.ref = "owl" } owl-broker-mongodb = { module = "dev.usbharu:owl-broker-mongodb", version.ref = "owl" } owl-common-serialize-jackson = { module = "dev.usbharu:owl-common-serialize-jackson", version.ref = "owl" } jackson-databind = { module = "com.fasterxml.jackson.core:jackson-databind", version.ref = "jackson" } jackson-module-kotlin = { module = "com.fasterxml.jackson.module:jackson-module-kotlin", version.ref = "jackson" } blurhash = { module = "io.trbl:blurhash", version = "1.0.0" } aws-s3 = { module = "software.amazon.awssdk:s3", version = "2.27.21" } jsoup = { module = "org.jsoup:jsoup", version = "1.18.1" } owasp-java-html-sanitizer = { module = "com.googlecode.owasp-java-html-sanitizer:owasp-java-html-sanitizer", version = "20240325.1" } postgresql = { module = "org.postgresql:postgresql", version = "42.7.4" } imageio-webp = { module = "com.twelvemonkeys.imageio:imageio-webp", version = "3.11.0" } thumbnailator = { module = "net.coobird:thumbnailator", version = "0.4.20" } flyway-core = { module = "org.flywaydb:flyway-core" } flyway-postgresql = { module = "org.flywaydb:flyway-database-postgresql", version = "10.17.3" } h2db = { module = "com.h2database:h2", version = "2.3.232" } kotlin-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" } grpc-kotlin-stub = { module = "io.grpc:grpc-kotlin-stub", version.ref = "grpc-kotlin" } grpc-protobuf = { module = "io.grpc:grpc-protobuf", version.ref = "grpc-java" } grpc-netty = { module = "io.grpc:grpc-netty", version.ref = "grpc-java" } protoc-gen-grpc-java = { module = "io.grpc:protoc-gen-grpc-java", version.ref = "grpc-java" } protoc-gen-grpc-kotlin = { module = "io.grpc:protoc-gen-grpc-kotlin", version.ref = "grpc-kotlin" } protobuf-kotlin = { module = "com.google.protobuf:protobuf-kotlin", version.ref = "protobuf" } protoc = { module = "com.google.protobuf:protoc", version.ref = "protobuf" } koin-bom = { module = "io.insert-koin:koin-bom", version = "3.5.6" } koin-core = { module = "io.insert-koin:koin-core" } log4j2-slf4j = { module = "org.apache.logging.log4j:log4j-slf4j2-impl", version = "2.24.0" } mongodb-kotlin-coroutine = { module = "org.mongodb:mongodb-driver-kotlin-coroutine", version = "5.1.4" } mockito-kotlin = { module = "org.mockito.kotlin:mockito-kotlin", version = "5.4.0" } http-signature = { module = "dev.usbharu:http-signature", version = "1.0.0" } emoji-kt = { module = "dev.usbharu:emoji-kt", version = "2.0.1" } logback-ecs-encoder = { module = "co.elastic.logging:logback-ecs-encoder", version = "1.6.0" } [bundles] exposed = ["exposed-core", "exposed-java-time", "exposed-jdbc", "exposed-spring"] coroutines = ["coroutines-core", "coroutines-reactor", "coroutines-slf4j"] ktor-client = ["ktor-client-cio", "ktor-client-content-negotiation", "ktor-client-core", "ktor-client-logging-jvm", "ktor-serialization-jackson"] spring-boot-oauth2 = ["spring-boot-oauth2-authorization", "spring-boot-oauth2-jose", "spring-boot-oauth2-resource"] spring-boot-data-mongodb = ["spring-boot-data-mongodb", "spring-boot-data-mongodb-reactive"] openapi = ["jakarta-annotation", "jakarta-validation", "swagger-annotations", "swagger-models"] apache-tika = ["apache-tika-core", "apache-tika-parsers"] owl-producer = ["owl-producer-api", "owl-producer-default", "owl-producer-embedded"] owl-broker = ["owl-broker", "owl-broker-mongodb"] jackson = ["jackson-databind", "jackson-module-kotlin"] grpc-kotlin = ["grpc-kotlin-stub", "grpc-netty", "grpc-protobuf", "protobuf-kotlin"] [plugins] kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } spring-boot = { id = "org.springframework.boot", version = "3.3.3" } detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" } kotlin-spring = { id = "org.jetbrains.kotlin.plugin.spring", version.ref = "kotlin" } kover = { id = "org.jetbrains.kotlinx.kover", version = "0.8.3" } openapi-generator = { id = "org.openapi.generator", version = "7.8.0" } license-report = { id = "com.github.jk1.dependency-license-report", version = "2.9" } protobuf-plugin = { id = "com.google.protobuf", version = "0.9.4" }