gradle task 실행 결과가 반영되지 않는 문제

test 관련 gradle task 를 gradle 에 등록

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
tasks.register('generateDocs', org.asciidoctor.gradle.jvm.AsciidoctorTask) {
    group 'Documentation'
    description 'Generates HTML documentation from the Asciidoctor files'
    dependsOn 'test'

    sourceDir file('target/snippets')
    sources {
        include '**/*.adoc'
    }
    resources {
        from('target/snippets') {
            include '**'
        }
    }
    outputDir file('src/main/resources/static/docs')
    attributes(
            'doctype': 'book',
            'source-highlighter': 'rouge',
            'backend': 'html5'
    )
}

assemble.dependsOn generateDocs

위와 같은 test 관련 task 를 build.gradle 에 등록하고 test method 를 실행했을 때, asciidoctor 가 관련 adoc file 들을 html 로 변환하여 outputDir 에 생성할 수 있도록 만들려고 했다.

문제 발생

하지만, test 코드를 실행하고 나면 분명 아무런 문제없이 build 가 성공했는데 outputDir(“src/main/resources/static/docs) 에 html file 이 생기지 않는 문제가 있었다. 이렇게 에러 없이 오히려 아무런 반응이 없는 경우 디버깅이 더 어렵던데 참 걱정이었다.

해당 task 를 직접 터미널에서 했는데 딱히 의미있는 정보를 얻지 못해서

./gradlew generateDocs –info

와 같이 –info 옵션을 추가로 하여 실행했다.

로그 결과

해당 테스크를 gradle 이 up-to-date 로 인식하고 skip 했다는 로그가 있다.

rerun-tasks 옵션

./gradlew generateDocs –info –rerun-tasks

위와 같이 rerun 옵션을 붙여 실행했더니 원하는 대로 html file 들로 잘 변환되는 것을 확인할 수 있었다..!

생성된 html files

comments powered by Disqus