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.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'io.github.javaunit:autoparams:0.2.11' testImplementation 'com.tngtech.archunit:archunit-junit5:0.20.1' 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")