# Version catalog is a central place for you to declare and version dependencies # https://docs.gradle.org/current/userguide/platforms.html#sub:version-catalog # https://docs.gradle.org/current/userguide/platforms.html#sub::toml-dependencies-format [versions] jjwt-version = "0.12.6" gradleMavenPublishPlugin-version = "0.32.0" kotlin-version = "2.0.0" kotlinxDatetime-version = "0.6.1" kotlinxSerializationJSON-version = "1.7.3" #kotlinxCoroutines-version = "1.9.0" axion-release-version = "1.18.7" spring-cloud-version = "2024.0.1" spring-boot-version = "3.4.4" slf4j-version = "2.0.17" caffeine-version = "3.2.1" redisson-version = "3.50.0" org-pf4j-version = "3.13.0" org-pf4j-spring-version = "0.10.0" org-yaml-snakeyaml-version = "2.4" [libraries] kotlinGradlePlugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin-version" } kotlinxDatetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinxDatetime-version" } kotlinxSerialization = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationJSON-version" } kotlinReflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlin-version" } #kotlinxCoroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinxCoroutines-version" } kotlinxCoroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core" } # kotlinx # 响应式协程库 kotlinxCoroutines-reactor = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-reactor" } slf4j-api = { module = "org.slf4j:slf4j-api", version.ref = "slf4j-version" } springBootDependencies-bom = { module = "org.springframework.boot:spring-boot-dependencies", version.ref = "spring-boot-version" } springBootStarter-aop = { group = "org.springframework.boot", name = "spring-boot-starter-aop" } springBootStarter-web = { group = "org.springframework.boot", name = "spring-boot-starter-web" } springBootStarter-webflux = { group = "org.springframework.boot", name = "spring-boot-starter-webflux" } springBootStarter-jpa = { group = "org.springframework.boot", name = "spring-boot-starter-data-jpa" } springBootStarter-validation = { group = "org.springframework.boot", name = "spring-boot-starter-validation" } springBootStarter-redis = { group = "org.springframework.boot", name = "spring-boot-starter-data-redis" } redisson-springBootStarter = { group = "org.redisson", name = "redisson-spring-boot-starter", version.ref = "redisson-version" } springBoot-configuration-processor = { group = "org.springframework.boot", name = "spring-boot-configuration-processor", version.ref = "spring-boot-version" } springBoot-autoconfigure = { group = "org.springframework.boot", name = "spring-boot-autoconfigure" } springBoot-starter = { group = "org.springframework.boot", name = "spring-boot-starter" } springFramework-data-commons = { group = "org.springframework.data", name = "spring-data-commons" } springCloudDependencies-bom = { module = "org.springframework.cloud:spring-cloud-dependencies", version.ref = "spring-cloud-version" } springCloudStarter-openfeign = { group = "org.springframework.cloud", name = "spring-cloud-starter-openfeign" } # Jackson jackson-core = { group = "com.fasterxml.jackson.core", name = "jackson-core" } jackson-databind = { group = "com.fasterxml.jackson.core", name = "jackson-databind" } jackson-annotations = { group = "com.fasterxml.jackson.core", name = "jackson-annotations" } jackson-datatype-jsr310 = { group = "com.fasterxml.jackson.datatype", name = "jackson-datatype-jsr310" } jackson-module-kotlin = { group = "com.fasterxml.jackson.module", name = "jackson-module-kotlin" } reactor-core = { group = "io.projectreactor", name = "reactor-core" } #org org-yaml-snakeyaml = { group = "org.yaml", name = "snakeyaml", version.ref = "org-yaml-snakeyaml-version" } org-pf4j = { group = "org.pf4j", name = "pf4j", version.ref = "org-pf4j-version" } org-pf4jSpring = { group = "org.pf4j", name = "pf4j-spring", version.ref = "org-pf4j-spring-version" } # Libraries can be bundled together for easier import # jwt jjwt-api = { module = "io.jsonwebtoken:jjwt-api", version.ref = "jjwt-version" } jjwt-impl = { module = "io.jsonwebtoken:jjwt-impl", version.ref = "jjwt-version" } jjwt-jackson = { module = "io.jsonwebtoken:jjwt-jackson", version.ref = "jjwt-version" } # com com-github-benManes-caffeine = { module = "com.github.ben-manes.caffeine:caffeine", version.ref = "caffeine-version" } # io [bundles] kotlinxEcosystem = ["kotlinxDatetime", "kotlinxSerialization", "kotlinxCoroutines-core"] jacksonAll = [ "jackson-core", "jackson-databind", "jackson-annotations", "jackson-datatype-jsr310", "jackson-module-kotlin" ] jjwtAll = [ "jjwt-api", "jjwt-impl", "jjwt-jackson" ] [plugins] # 应用 Java 插件,提供基本的 Java 代码编译和构建能力 java = { id = "java" } # 应用 Java Library 插件,支持库开发,提供 API 和实现分离的能力 javaLibrary = { id = "java-library" } kotlinPluginSerialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin-version" } axionRelease = { id = "pl.allegro.tech.build.axion-release", version.ref = "axion-release-version" } # 应用 Spring Boot 插件,提供 Spring Boot 应用的开发和运行能力 spring-boot = { id = "org.springframework.boot", version.ref = "spring-boot-version" } # 应用 Maven 发布插件,支持项目的构建产物发布到 Maven 仓库 maven-publish = { id = "maven-publish" } # 引入 Kotlin 支持 kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin-version" } # 支持 Spring 的 Kotlin 插件 kotlin-plugin-spring = { id = "org.jetbrains.kotlin.plugin.spring", version.ref = "kotlin-version" } kotlin-kapt = { id = "org.jetbrains.kotlin.kapt" } forgeboot-i18n-keygen = { id = "i18n-key-gen" } gradleMavenPublishPlugin = { id = "com.vanniktech.maven.publish", version.ref = "gradleMavenPublishPlugin-version" }