tasks.named('test') {
useJUnitPlatform()
outputs.dir snippetsDir // REST Docs 스니펫 출력 디렉토리 설정
}
tasks.register('cleanupAsciidoc', Delete) {
delete file('src/main/resources/static/docs')
delete file('build/docs/asciidoc')
}
tasks.named('asciidoctor') {
dependsOn test, cleanupAsciidoc
configurations 'asciidoctorExt'
baseDirFollowsSourceFile()
inputs.dir snippetsDir
}
tasks.register('copyDocument', Copy) {
dependsOn asciidoctor
from file("build/docs/asciidoc")
into file("src/main/resources/static/docs")
}
tasks.named('bootJar') {
dependsOn copyDocument
}
gradle build 명령을 실행하면, build 태스크가 bootJar를 포함하고 있으므로 copyDocument가 실행되고 REST Docs 문서가 생성됩니다.
gradle bootJar 명령을 실행해도 마찬가지로 copyDocument가 실행되어 REST Docs 문서가 생성됩니다.