Bepoz
파즈의 공부 일기
Bepoz
전체 방문자
오늘
어제
  • 분류 전체보기 (232)
    • 공부 기록들 (85)
      • 우테코 (17)
    • Spring (85)
    • Java (43)
    • Infra (17)
    • 책 정리 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Bepoz

파즈의 공부 일기

Spring

[Spring] Rest Docs 도입 중 맞닥뜨린 asciiDoctor에 대한 에러

2021. 7. 18. 20:37

Rest Docs 도입 중 맞닥뜨린 asciiDoctor에 대한 에러

Spring Rest Docs를 하려고 gradle 설정을 하고 테스트도 통과시키고 src/docs/asciidoc/index.adoc 까지 준비를 마쳐놓은 상태였다. 그러고선 빌드를 하니깐 다음과 같은 오류가 나왔다.

image

Type 'org.asciidoctor.gradle. xxx ' property 'xxx' is missing an input or output annotations.

에러 내용에 어떤식으로 해결하라고 나와있는데 저걸 뭘 어떻게 해야될지도 모르겠고... 이전에 똑~~같이 Rest Docs 했는데 왜 안되나 싶었다. 그 이유는 버전 문제인 것 같았다.

image

이곳에 존재하는 gradle-wrapper.properties 파일에 들어가서

image

버전을 낮춰주었다. 그리고 이 버전을 낮추니깐 스프링 부트 버전도 낮추라는 문구가 나왔다. 내가 사용하고 있는 버전은 6.5.1을 지원안해서 그런 것 같았다.

image

이제 이렇게 해결되나 싶었더니, 또 다른 문제가 발생했다.

image

build/asciidoc/html5/index.html은 생성이 되는데, 이 파일이 /resources/static/docs/ 위치로 옮겨지지 않았다!

ext {
    snippetsDir = file('build/generated-snippets')
}

test {
    outputs.dir snippetsDir
    useJUnitPlatform()
}

asciidoctor {
    inputs.dir snippetsDir
    dependsOn test
}

bootJar {
    dependsOn asciidoctor
    from ("${asciidoctor.outputDir}/html5") {
        into "static/docs"
    }
}

gradle에 위와 같은 설정이 존재하는데, 테스트 후 스니펫들을 build/generated-snippets 위치로 보내고 그 후 asciidoctor 단계에서 이것들을 가지고 html을 만들어주고, bootJar 단계에서 ${asciidoctor.outputDir}/html5의 위치해 있는 파일을 static/docs로 옮겨주어야 하는데 이 부분이 되고 있지 않은 것 같았다.

bootJar 부분을 밑의 코드와 같이 수정했다.

task copyDocument(type: Copy) {
    dependsOn asciidoctor

    from file("build/asciidoc/html5/")
    into file("src/main/resources/static/docs")
}

build {
    dependsOn copyDocument
}

신기하게도 이제 resources/static/docs 위치에 index.html 이 들어오게 된다!! build 대신 bootJar를 입력해도 수행이 되는 것을 확인할 수가 있었다.

아마 gradle 버전에 따른 지원 차이인 것 같다고 추측 중이다. 🤔


'Spring' 카테고리의 다른 글

[JPA] JPA CascadeType.PERSIST 에 대한 개인적인 궁금증 해결  (0) 2021.09.19
[JPA] @PrePersist 에 대해  (0) 2021.08.03
[JPA] DATA JPA 사용 시 조심해야할 클래스 명에 대해  (0) 2021.07.10
[Spring] Enum에 빈을 주입하는 방법에 대해  (0) 2021.07.10
[Spring] @ConfigurationProperties를 이용한 yml 설정 파일들의 객체 추상화  (0) 2021.07.08
    'Spring' 카테고리의 다른 글
    • [JPA] JPA CascadeType.PERSIST 에 대한 개인적인 궁금증 해결
    • [JPA] @PrePersist 에 대해
    • [JPA] DATA JPA 사용 시 조심해야할 클래스 명에 대해
    • [Spring] Enum에 빈을 주입하는 방법에 대해
    Bepoz
    Bepoz
    https://github.com/Be-poz/TIL

    티스토리툴바