티스토리 뷰

Infrastructure

[Gradle] build scan

Nickolodeon 2022. 11. 30. 22:22

Gradle 은 빌드 과정을 기록해서 보여주는 build scan 을 생성하는 기능을 제공해준다.

 

Gradle 4.3 이나 그 이상의 버전에서는 다음 커맨드를 사용해서 build scan 을 생성할 수 있다.

$ gradle build --scan

하지만, Intellij 에서는 조금 다르다. 터미널을 기반으로 빌드하고 있지 않기 때문이다. 다음과 같은 방법을 사용했다.

build 에서 Modify Run Configuration 을 클릭했다.
Run 에 build 만 쓰여있던 것을 build --scan 으로 변경했다.

이렇게 설정값을 바꾼 후, 새롭게 설정된 build 를 더블 클릭하면 아래와 같은 화면이 나온다.

Please enter 'yes' or 'no' 에서 yes 를 입력하면 된다.

링크가 등장하는 것을 볼 수 있었다. 클릭하니 다음 화면이 나왔다.

이메일 주소를 입력하면 활성화가 가능하다고 한다. 입력했다.
이메일 수신함을 확인하라는 메시지가 등장했다. 확인했다.
이메일 주소로 짧은 소개와 링크를 받을 수 있었다.
링크를 클릭하니 다음과 같은 깔끔한 UI 의 사이트로 이동했다.

자 이제 빌드를 프로파일링 해보자. 프로파일링은 빌드의 각 단계에 소모되는 시간은 얼마인지, 어떤 과정을 어떻게 거치고 있는지를 분석하는 것을 말한다. Performance 탭에서 프로파일링할 수 있다.

Performance 탭에 들어가보니 다양한 빌드에 관한 분석 정보를 볼 수 있었다.

 

이전 포스트의 마지막에서 언급했듯이, 내가 궁금했던 것은 Gradle 의 빌드 과정에서 언제 Jackson 의 바인딩에 영향을 주는 사건이 일어나는가 였다. 좀 더 구체적으로, 언제 @RequestBody DTO 의 @AllArgsConstructor 의 매개 변수 이름만으로도 JSON 에서 역직렬화 시 POJO 의 Property 를 파악할 수 있게 되는지를 알고 싶었다. 그래서 Jackson 과 관련된 이름들을 좀 더 자세히 보게 되었다.

결론

정말 내가 사용하는 모든 라이브러리와 의존성들을 이해하고 있지 않는 한, 찾을 수 없을 것이라는 생각에 도달했다. 과연 어떤 이유로 Gradle 로 빌드 시 @RequestBody 의 DTO 들을 properties 로 자동 인식해주는 것일까? 이 블로그를 보고 계신 분들 중 답을 알고 계신다면 부디 댓글로 알려주시길 바란다.

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함