Files
LMS/gradle/libs.versions.toml

90 lines
5.2 KiB
TOML

# Version catalog: central place for dependency versions.
# https://docs.gradle.org/current/userguide/platforms.html#sub:version-catalog
[versions]
# Spring Boot 4.0.x is the release train matched by Spring Cloud 2025.1.x.
springBoot = "4.0.8"
springCloud = "2025.1.3"
kotlin = "2.4.20"
springdoc = "3.0.3"
flexmark = "0.64.8"
owaspSanitizer = "20260313.1"
apachePoi = "5.5.1"
ktlint = "14.2.0"
detekt = "1.23.8"
mockk = "1.14.11"
[libraries]
# --- Gradle plugins used from buildSrc ---
kotlinGradlePlugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
kotlinAllopenPlugin = { module = "org.jetbrains.kotlin:kotlin-allopen", version.ref = "kotlin" }
kotlinNoargPlugin = { module = "org.jetbrains.kotlin:kotlin-noarg", version.ref = "kotlin" }
springBootGradlePlugin = { module = "org.springframework.boot:spring-boot-gradle-plugin", version.ref = "springBoot" }
ktlintGradlePlugin = { module = "org.jlleitschuh.gradle:ktlint-gradle", version.ref = "ktlint" }
detektGradlePlugin = { module = "io.gitlab.arturbosch.detekt:detekt-gradle-plugin", version.ref = "detekt" }
# --- Platform BOMs (versions only) ---
springBootBom = { module = "org.springframework.boot:spring-boot-dependencies", version.ref = "springBoot" }
springCloudBom = { module = "org.springframework.cloud:spring-cloud-dependencies", version.ref = "springCloud" }
# --- Spring Boot starters (versions managed by the Boot BOM) ---
springBootStarterWeb = { module = "org.springframework.boot:spring-boot-starter-web" }
springBootStarterWebflux = { module = "org.springframework.boot:spring-boot-starter-webflux" }
springBootStarterValidation = { module = "org.springframework.boot:spring-boot-starter-validation" }
springBootStarterActuator = { module = "org.springframework.boot:spring-boot-starter-actuator" }
springBootStarterDataJpa = { module = "org.springframework.boot:spring-boot-starter-data-jpa" }
springBootStarterFlyway = { module = "org.springframework.boot:spring-boot-starter-flyway" }
springBootStarterSecurity = { module = "org.springframework.boot:spring-boot-starter-security" }
springBootStarterOauth2ResourceServer = { module = "org.springframework.boot:spring-boot-starter-oauth2-resource-server" }
springBootStarterThymeleaf = { module = "org.springframework.boot:spring-boot-starter-thymeleaf" }
springBootStarterTest = { module = "org.springframework.boot:spring-boot-starter-test" }
springBootDevtools = { module = "org.springframework.boot:spring-boot-devtools" }
springSecurityTest = { module = "org.springframework.security:spring-security-test" }
# --- Spring Cloud ---
springCloudStarterGatewayWebflux = { module = "org.springframework.cloud:spring-cloud-starter-gateway-server-webflux" }
# --- Plain Spring libraries (for shared modules) ---
springWeb = { module = "org.springframework:spring-web" }
springContext = { module = "org.springframework:spring-context" }
springBootAutoconfigure = { module = "org.springframework.boot:spring-boot-autoconfigure" }
springSecurityConfig = { module = "org.springframework.security:spring-security-config" }
springSecurityWeb = { module = "org.springframework.security:spring-security-web" }
springSecurityOauth2Jose = { module = "org.springframework.security:spring-security-oauth2-jose" }
# --- Persistence / migrations ---
flywayCore = { module = "org.flywaydb:flyway-core" }
flywayPostgresql = { module = "org.flywaydb:flyway-database-postgresql" }
postgresql = { module = "org.postgresql:postgresql" }
jacksonYaml = { module = "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml" }
jacksonModuleKotlin = { module = "com.fasterxml.jackson.module:jackson-module-kotlin" }
# --- API docs ---
springdocStarterWebmvcUi = { module = "org.springdoc:springdoc-openapi-starter-webmvc-ui", version.ref = "springdoc" }
# --- Markdown rendering ---
flexmarkAll = { module = "com.vladsch.flexmark:flexmark-all", version.ref = "flexmark" }
owaspHtmlSanitizer = { module = "com.googlecode.owasp-java-html-sanitizer:owasp-java-html-sanitizer", version.ref = "owaspSanitizer" }
# --- Spreadsheet import/export ---
apachePoiOoxml = { module = "org.apache.poi:poi-ooxml", version.ref = "apachePoi" }
# --- Tests / Testcontainers (versions managed by the Boot BOM) ---
mockk = { module = "io.mockk:mockk", version.ref = "mockk" }
junitPlatformLauncher = { module = "org.junit.platform:junit-platform-launcher" }
springBootTestcontainers = { module = "org.springframework.boot:spring-boot-testcontainers" }
testcontainersPostgresql = { module = "org.testcontainers:testcontainers-postgresql" }
testcontainersJunitJupiter = { module = "org.testcontainers:testcontainers-junit-jupiter" }
[bundles]
springWeb = ["springBootStarterWeb", "springBootStarterValidation", "springBootStarterActuator"]
springPersistence = ["springBootStarterDataJpa", "flywayCore", "flywayPostgresql", "postgresql"]
[plugins]
kotlinPluginJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
kotlinPluginSpring = { id = "org.jetbrains.kotlin.plugin.spring", version.ref = "kotlin" }
kotlinPluginJpa = { id = "org.jetbrains.kotlin.plugin.jpa", version.ref = "kotlin" }
springBootPlugin = { id = "org.springframework.boot", version.ref = "springBoot" }
ktlintPlugin = { id = "org.jlleitschuh.gradle.ktlint", version.ref = "ktlint" }
detektPlugin = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }