mirror of
https://github.com/ccmjga/zhilu-admin
synced 2026-03-13 21:27:19 +08:00
197 lines
6.6 KiB
Kotlin
197 lines
6.6 KiB
Kotlin
import org.springframework.boot.gradle.tasks.bundling.BootJar
|
|
|
|
val jooqVersion by extra("3.19.22")
|
|
val testcontainersVersion by extra("1.20.6")
|
|
val flywayVersion by extra("11.4.0")
|
|
|
|
plugins {
|
|
java
|
|
`java-library`
|
|
jacoco
|
|
id("org.springframework.boot") version "3.3.9"
|
|
id("io.spring.dependency-management") version "1.1.7"
|
|
id("org.springdoc.openapi-gradle-plugin") version "1.9.0"
|
|
id("pmd")
|
|
id("org.jooq.jooq-codegen-gradle") version "3.19.22"
|
|
id("com.diffplug.spotless") version "7.0.2"
|
|
}
|
|
|
|
sourceSets {
|
|
main {
|
|
java {
|
|
srcDir("build/generated-sources/jooq")
|
|
}
|
|
}
|
|
test {
|
|
java {
|
|
srcDir("build/generated-sources/jooq")
|
|
}
|
|
}
|
|
}
|
|
|
|
group = "com.zl.mjga"
|
|
version = "1.0.0"
|
|
description = "make java great again!"
|
|
java.sourceCompatibility = JavaVersion.VERSION_17
|
|
|
|
configurations {
|
|
compileOnly {
|
|
extendsFrom(configurations.annotationProcessor.get())
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation("org.springframework.boot:spring-boot-starter-actuator")
|
|
implementation("org.springframework.boot:spring-boot-starter-jooq")
|
|
implementation("org.springframework.boot:spring-boot-starter-mail")
|
|
implementation("org.springframework.boot:spring-boot-starter-cache")
|
|
implementation("org.springframework.boot:spring-boot-starter-quartz")
|
|
implementation("org.springframework.boot:spring-boot-starter-security")
|
|
implementation("org.springframework.boot:spring-boot-starter-validation")
|
|
implementation("org.springframework.boot:spring-boot-starter-web")
|
|
implementation("org.springframework.boot:spring-boot-starter-aop")
|
|
implementation("org.apache.commons:commons-lang3:3.17.0")
|
|
implementation("org.apache.commons:commons-collections4:4.4")
|
|
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.6.0")
|
|
implementation("io.minio:minio:8.5.17")
|
|
implementation("org.jooq:jooq-meta:$jooqVersion")
|
|
implementation("com.auth0:java-jwt:4.4.0")
|
|
implementation("org.flywaydb:flyway-core:$flywayVersion")
|
|
implementation("org.flywaydb:flyway-database-postgresql:$flywayVersion")
|
|
implementation("com.github.ben-manes.caffeine:caffeine:3.2.0")
|
|
implementation("org.springframework.boot:spring-boot-starter-quartz")
|
|
implementation("dev.langchain4j:langchain4j:1.0.0")
|
|
implementation("dev.langchain4j:langchain4j-open-ai:1.0.0")
|
|
implementation("dev.langchain4j:langchain4j-pgvector:1.0.1-beta6")
|
|
implementation("dev.langchain4j:langchain4j-community-zhipu-ai:1.0.1-beta6")
|
|
implementation("io.projectreactor:reactor-core:3.7.6")
|
|
testImplementation("org.testcontainers:junit-jupiter:$testcontainersVersion")
|
|
testImplementation("org.testcontainers:postgresql:$testcontainersVersion")
|
|
testImplementation("org.testcontainers:testcontainers-bom:$testcontainersVersion")
|
|
runtimeOnly("org.postgresql:postgresql")
|
|
compileOnly("org.projectlombok:lombok")
|
|
developmentOnly("org.springframework.boot:spring-boot-devtools")
|
|
testImplementation("org.springframework.boot:spring-boot-testcontainers")
|
|
testImplementation("org.springframework.boot:spring-boot-starter-webflux")
|
|
testImplementation("org.springframework.boot:spring-boot-starter-test")
|
|
testImplementation("org.springframework.security:spring-security-test")
|
|
jooqCodegen("org.postgresql:postgresql")
|
|
jooqCodegen("org.jooq:jooq-codegen:$jooqVersion")
|
|
jooqCodegen("org.jooq:jooq-meta-extensions:$jooqVersion")
|
|
annotationProcessor("org.springframework.boot:spring-boot-configuration-processor")
|
|
annotationProcessor("org.projectlombok:lombok")
|
|
api("org.jspecify:jspecify:1.0.0")
|
|
}
|
|
|
|
tasks.withType<BootJar> {
|
|
archiveFileName.set("backend.jar")
|
|
}
|
|
|
|
tasks.withType<Test> {
|
|
useJUnitPlatform()
|
|
}
|
|
|
|
tasks.test {
|
|
finalizedBy(tasks.jacocoTestReport) // report is always generated after tests run
|
|
}
|
|
|
|
tasks.jacocoTestReport {
|
|
dependsOn(tasks.test) // tests are required to run before generating the report
|
|
}
|
|
|
|
jacoco {
|
|
toolVersion = "0.8.12"
|
|
reportsDirectory.set(layout.buildDirectory.dir("reports/jacoco"))
|
|
}
|
|
|
|
pmd {
|
|
sourceSets = listOf(java.sourceSets.findByName("main"))
|
|
isConsoleOutput = true
|
|
toolVersion = "7.9.0"
|
|
rulesMinimumPriority.set(5)
|
|
ruleSetFiles = files("pmd-rules.xml")
|
|
}
|
|
|
|
spotless {
|
|
format("misc") {
|
|
// define the files to apply `misc` to
|
|
target("*.gradle.kts", "*.md", ".gitignore")
|
|
// define the steps to apply to those files
|
|
trimTrailingWhitespace()
|
|
leadingTabsToSpaces()
|
|
endWithNewline()
|
|
}
|
|
|
|
java {
|
|
googleJavaFormat("1.25.2").reflowLongStrings()
|
|
formatAnnotations()
|
|
}
|
|
|
|
kotlinGradle {
|
|
target("*.gradle.kts") // default target for kotlinGradle
|
|
ktlint() // or ktfmt() or prettier()
|
|
}
|
|
}
|
|
|
|
jooq {
|
|
configuration {
|
|
generator {
|
|
database {
|
|
includes = ".*"
|
|
// excludes = "qrtz_.*"
|
|
name = "org.jooq.meta.extensions.ddl.DDLDatabase"
|
|
properties {
|
|
property {
|
|
key = "scripts"
|
|
value = "src/main/resources/db/migration/*.sql"
|
|
}
|
|
property {
|
|
key = "sort"
|
|
value = "semantic"
|
|
}
|
|
property {
|
|
key = "unqualifiedSchema"
|
|
value = "none"
|
|
}
|
|
property {
|
|
key = "defaultNameCase"
|
|
value = "lower"
|
|
}
|
|
property {
|
|
key = "logExecutedQueries"
|
|
value = "true"
|
|
}
|
|
property {
|
|
key = "logExecutionResults"
|
|
value = "true"
|
|
}
|
|
}
|
|
forcedTypes {
|
|
forcedType {
|
|
name = "varchar"
|
|
includeExpression = ".*"
|
|
includeTypes = "JSONB?"
|
|
}
|
|
forcedType {
|
|
name = "varchar"
|
|
includeExpression = ".*"
|
|
includeTypes = "INET"
|
|
}
|
|
}
|
|
}
|
|
generate {
|
|
isDaos = true
|
|
isRecords = true
|
|
isDeprecated = false
|
|
isImmutablePojos = false
|
|
isFluentSetters = true
|
|
isSpringAnnotations = true
|
|
isSpringDao = true
|
|
}
|
|
target {
|
|
packageName = "org.jooq.generated"
|
|
}
|
|
}
|
|
}
|
|
}
|