Changed synchronous mail transfer to asynchronous. You also switched to the WebTest Client without using MockMvc, which is dependent on Spring ApplicationContext. As a result, the test runs 60% faster.
104 lines
2.6 KiB
Groovy
104 lines
2.6 KiB
Groovy
import com.github.spotbugs.snom.SpotBugsTask
|
|
|
|
plugins {
|
|
id 'org.springframework.boot' version '2.5.4'
|
|
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
|
|
id 'org.asciidoctor.convert' version '1.5.8'
|
|
id 'org.ec4j.editorconfig' version '0.0.3'
|
|
id 'com.github.spotbugs' version '4.7.0'
|
|
id 'checkstyle'
|
|
id 'java'
|
|
}
|
|
|
|
group = 'com.yam'
|
|
version = '0.0.1-SNAPSHOT'
|
|
sourceCompatibility = '11'
|
|
|
|
configurations {
|
|
compileOnly {
|
|
extendsFrom annotationProcessor
|
|
}
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
ext {
|
|
set('snippetsDir', file("build/generated-snippets"))
|
|
}
|
|
|
|
asciidoctor {
|
|
inputs.dir snippetsDir
|
|
dependsOn test
|
|
}
|
|
|
|
dependencies {
|
|
compileOnly 'org.projectlombok:lombok'
|
|
annotationProcessor 'org.projectlombok:lombok'
|
|
|
|
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0'
|
|
runtimeOnly 'com.h2database:h2'
|
|
|
|
implementation 'org.springframework.boot:spring-boot-starter-mail'
|
|
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
|
|
implementation 'org.springframework.security:spring-security-crypto:5.5.2'
|
|
implementation 'org.springframework.boot:spring-boot-starter-validation'
|
|
implementation 'org.springframework.boot:spring-boot-starter-web'
|
|
implementation 'org.springframework.boot:spring-boot-starter-webflux'
|
|
|
|
testImplementation 'io.github.javaunit:autoparams:0.2.12'
|
|
testImplementation 'com.tngtech.archunit:archunit-junit5:0.20.1'
|
|
testImplementation 'org.mockito:mockito-inline:3.9.0'
|
|
|
|
testImplementation 'org.springframework.boot:spring-boot-starter-test'
|
|
testImplementation 'org.springframework.restdocs:spring-restdocs-mockmvc'
|
|
}
|
|
|
|
test {
|
|
outputs.dir snippetsDir
|
|
useJUnitPlatform()
|
|
}
|
|
|
|
editorconfig {
|
|
excludes = ["build"]
|
|
}
|
|
|
|
check.dependsOn editorconfigCheck
|
|
|
|
checkstyle {
|
|
configFile = file("${project.rootDir}/config/checkstyle/checkstyle.xml")
|
|
configProperties = ["suppressionFile": "${project.rootDir}/config/checkstyle/checkstyle/checkstyle-suppressions.xml"]
|
|
toolVersion = "8.40"
|
|
ignoreFailures = false
|
|
maxErrors = 0
|
|
maxWarnings = 0
|
|
}
|
|
|
|
spotbugs {
|
|
ignoreFailures = false
|
|
reportLevel = "high"
|
|
spotbugsTest.enabled = false
|
|
}
|
|
|
|
tasks.withType(SpotBugsTask) {
|
|
reports {
|
|
text.enabled = true
|
|
xml.enabled = false
|
|
html.enabled = false
|
|
}
|
|
}
|
|
|
|
tasks.register("printSpotbugsMain") {
|
|
doLast {
|
|
File mainResult = file("${buildDir}/reports/spotbugs/main.txt")
|
|
if (mainResult.exists()) {
|
|
mainResult.readLines().forEach {
|
|
println(it)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
tasks.getByPath("spotbugsMain").finalizedBy("printSpotbugsMain")
|