Important
|
asciidoctor-gradle-plugin 1.5.9 사용하지 말자. 1.5.8 사용하자. |
프로젝트에 Spring REST docs를 사용하고 있다. Spring REST docs는 테스트를 통해 생성된 아스키독(asciidoc) 조각을 모아 HTML로 렌더링을 하기 위해 아스키닥터(asciidoctor)를 사용한다.
그레이들에서는 asciidoctor-gradle-plugin 을 통해서 아스키닥터를 사용하는데 1.5.9 에서는 그레이들 프로젝트 디렉터리를 찾기 위해 사용한 속성명이 잘못되어 오류가 발생한다.
build.gradle
buildscript {
ext {
springBootVersion = '2.0.6.RELEASE'
asciidoctorVersion = '1.5.8' // (1)
querydslVersion = '1.0.9'
lombokPluginVersion = '1.8'
}
repositories {
mavenCentral()
maven { url "http://nexus.woowa.in/content/groups/public" }
maven { url "https://plugins.gradle.org/m2/" }
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath("gradle.plugin.com.ewerk.gradle.plugins:querydsl-plugin:${querydslVersion}")
classpath("io.franzbecker:gradle-lombok:${lombokPluginVersion}")
classpath("org.asciidoctor:asciidoctor-gradle-plugin:${asciidoctorVersion}")
}
}
-
버전을 1.5.9 로 변경하면 오류 발생
1.5.9를 사용했을 때 발생하는 오류는 다음과 같다.
> Task :{module-name}:asciidoctor FAILED
Exception in thread "main" org.asciidoctor.gradle.backported.AsciidoctorRemoteExecutionException: Error running Asciidoctor whilst attempting to process {projectDir}/src/docs/asciidoc/index.adoc using backend html5
at org.asciidoctor.gradle.backported.AsciidoctorJavaExec$_convertFiles_closure3.doCall(AsciidoctorJavaExec.groovy:63)
//생략
at org.asciidoctor.gradle.backported.AsciidoctorJavaExec.convertFiles(AsciidoctorJavaExec.groovy:56)
at org.asciidoctor.gradle.backported.AsciidoctorJavaExec.access$0(AsciidoctorJavaExec.groovy)
at org.asciidoctor.gradle.backported.AsciidoctorJavaExec$_run_closure2.doCall(AsciidoctorJavaExec.groovy:50)
at org.asciidoctor.gradle.backported.AsciidoctorJavaExec$_run_closure2.call(AsciidoctorJavaExec.groovy)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2040)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2025)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2066)
at org.asciidoctor.gradle.backported.AsciidoctorJavaExec.run(AsciidoctorJavaExec.groovy:48)
at org.asciidoctor.gradle.backported.AsciidoctorJavaExec.main(AsciidoctorJavaExec.groovy:191)
Caused by: java.lang.IllegalStateException: asciidoctor: FAILED: {projectDir}/src/docs/asciidoc/index.adoc: Failed to load AsciiDoc document
at org.springframework.restdocs.asciidoctor.SnippetsDirectoryResolver.getRequiredAttribute(org/springframework/restdocs/asciidoctor/SnippetsDirectoryResolver.java:67)
at org.springframework.restdocs.asciidoctor.SnippetsDirectoryResolver.getGradleSnippetsDirectory(org/springframework/restdocs/asciidoctor/SnippetsDirectoryResolver.java:60)
at org.springframework.restdocs.asciidoctor.SnippetsDirectoryResolver.getSnippetsDirectory(org/springframework/restdocs/asciidoctor/SnippetsDirectoryResolver.java:38)
at org.springframework.restdocs.asciidoctor.DefaultAttributesPreprocessor.process(org/springframework/restdocs/asciidoctor/DefaultAttributesPreprocessor.java:36)
// 생략
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(org/codehaus/groovy/runtime/DefaultGroovyMethods.java:2040)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(org/codehaus/groovy/runtime/DefaultGroovyMethods.java:2025)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(org/codehaus/groovy/runtime/DefaultGroovyMethods.java:2066)
at org.asciidoctor.gradle.backported.AsciidoctorJavaExec.run(org/asciidoctor/gradle/backported/AsciidoctorJavaExec.groovy:48)
at org.asciidoctor.gradle.backported.AsciidoctorJavaExec.main(org/asciidoctor/gradle/backported/AsciidoctorJavaExec.groovy:191)
Caused by: java.lang.IllegalStateException: projectdir attribute not found // 문제발생지점
... 44 more