2021년 6월 19일 토요일

gradle task - bootJar, build 비교 메모

젠킨스에서 토이프로젝트 jar 생성을 위해 ./gradlew bootJar로 사용하다 ./gradlew build 로 변경했는데 테스트 실패 오류가 빵빵 터졌다.

그렇다면 bootJar는 test를 안해서 그동안 성공을 했던건가??

동일한 모듈을 실행해보고 로그를 비교해보자!!


  • bootJar : Assembles an executable jar archive containing the main classes and their dependencies.

8:11:17 오전: Executing task 'bootJar'...

> Task :module-domain:initQuerydslSourcesDir
> Task :module-domain:compileQuerydsl UP-TO-DATE
> Task :module-domain:compileJava UP-TO-DATE
> Task :module-domain:processResources UP-TO-DATE
> Task :module-domain:classes UP-TO-DATE
> Task :module-domain:jar UP-TO-DATE
> Task :module-web:initQuerydslSourcesDir
> Task :module-web:compileQuerydsl UP-TO-DATE
> Task :module-web:compileJava UP-TO-DATE
> Task :module-web:processResources UP-TO-DATE
> Task :module-web:classes UP-TO-DATE
> Task :module-web:bootJar UP-TO-DATE
...
BUILD SUCCESSFUL in 1s
10 actionable tasks: 2 executed, 8 up-to-date
  • build : Assembles and tests this project.

8:13:01 오전: Executing task 'build'...

> Task :module-domain:initQuerydslSourcesDir
> Task :module-domain:compileQuerydsl UP-TO-DATE
> Task :module-domain:compileJava UP-TO-DATE
> Task :module-domain:processResources UP-TO-DATE
> Task :module-domain:classes UP-TO-DATE
> Task :module-domain:jar UP-TO-DATE
> Task :module-web:initQuerydslSourcesDir
> Task :module-web:compileQuerydsl UP-TO-DATE
> Task :module-web:compileJava UP-TO-DATE
> Task :module-web:processResources UP-TO-DATE
> Task :module-web:classes UP-TO-DATE
> Task :module-web:bootJar UP-TO-DATE

> Task :module-web:jar SKIPPED
> Task :module-web:assemble UP-TO-DATE
> Task :module-web:compileTestJava
> Task :module-web:processTestResources NO-SOURCE
> Task :module-web:testClasses
> Task :module-web:test
> Task :module-web:check
> Task :module-web:build
...
BUILD SUCCESSFUL in 35s
12 actionable tasks: 4 executed, 8 up-to-date
  • bootJar와 비교했을 때 빨간 부분이 추가되었다. 일단 설명만 봐도 test를 한다고 써있다!!

    • bootJar는 실행 가능한 jar만 생성하는 것으로 보여진다.

    상황에 맞게 task 를 잘 선택하자!!

  • 다음과 같이 그룹 및 task를 쉽게 추가할 수 있으며 기존 task 활용, 순서 등 다양하게 활용할 수 있다.

    • 설정하지 않아도 보여지는 task 그룹들은 build.gradle 에 추가한 플러그인들을 통해 기본으로 보여지는 것 같음
    • 프로젝트 환경에 따라 build 구성을 할 수 있다.
    • 다음에 해보는 걸로...