Skip to content

Instantly share code, notes, and snippets.

@ihoneymon
Last active October 26, 2018 01:43
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save ihoneymon/30ae9b596c6d61b05e3638ce67b073ae to your computer and use it in GitHub Desktop.

[gradle] asciidoctor-gradle-plugin 1.5.9: projectdir attribute not found

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. 버전을 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment