plugins { id 'org.springframework.boot' version '3.0.0-M4' id 'io.spring.dependency-management' version '1.0.12.RELEASE' id "checkstyle" id 'java' } group = "run.halo.app" sourceCompatibility = JavaVersion.VERSION_17 checkstyle { toolVersion = "9.3" showViolations = false ignoreFailures = false } repositories { maven { url 'https://maven.aliyun.com/repository/public/' } maven { url 'https://maven.aliyun.com/repository/spring/' } maven { url 'https://repo.spring.io/milestone' } mavenLocal() mavenCentral() } configurations { compileOnly { extendsFrom annotationProcessor } } bootJar { manifest { attributes "Implementation-Title": "Halo Application", "Implementation-Version": archiveVersion } } ext['h2.version'] = '2.1.210' ext { commonsLang3 = "3.12.0" base62 = "0.1.3" pf4j = "3.6.0" javaDiffUtils = "4.12" guava = "31.1-jre" jsoup = "1.15.2" } dependencies { implementation 'org.springframework.boot:spring-boot-starter-actuator' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-mail' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-webflux' implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-data-r2dbc' // Spring Security implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.security:spring-security-oauth2-jose' implementation 'org.springframework.security:spring-security-oauth2-resource-server' implementation 'org.springdoc:springdoc-openapi-starter-webflux-ui:2.0.0-M3' implementation 'org.openapi4j:openapi-schema-validator:1.0.7' implementation "org.flywaydb:flyway-core" implementation "org.flywaydb:flyway-mysql" implementation "net.bytebuddy:byte-buddy" implementation "org.apache.commons:commons-lang3:$commonsLang3" implementation "io.seruco.encoding:base62:$base62" implementation "org.pf4j:pf4j:$pf4j" implementation "com.google.guava:guava:$guava" implementation "org.jsoup:jsoup:$jsoup" implementation "io.github.java-diff-utils:java-diff-utils:$javaDiffUtils" compileOnly 'org.projectlombok:lombok' testCompileOnly 'org.projectlombok:lombok' annotationProcessor "org.springframework.boot:spring-boot-configuration-processor" developmentOnly 'org.springframework.boot:spring-boot-devtools' // R2DBC // Currently, official doesn't support mssql and mariadb yet until drivers are available. // See https://github.com/spring-projects/spring-data-relational/commit/ee6c2c89b5c433748b22a79cf40dc8e01142caa3 // for more. runtimeOnly 'io.r2dbc:r2dbc-h2' runtimeOnly 'com.h2database:h2' runtimeOnly 'mysql:mysql-connector-java' runtimeOnly 'org.postgresql:postgresql' runtimeOnly 'org.postgresql:r2dbc-postgresql' annotationProcessor 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testImplementation 'org.springframework.security:spring-security-test' testImplementation 'io.projectreactor:reactor-test' } tasks.named('test') { useJUnitPlatform() }