# 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" [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" } # --- 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) --- 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" }