Android Dependency Tree Diff Viewer는 Android 프로젝트의 의존성 그래프 변경사항을 쉽게 비교할 수 있는 웹 사이트입니다.
라이브러리를 추가하거나 버전을 업데이트한 뒤, 의존성 변경 내용을 한눈에 파악하기 어렵다고 느낀 적이 있다면
해당 도구가 그 과정을 조금이나마 단순하게 만들어 줄 수 있을 것 같습니다.
자세한 내용은 아래 링크에서 확인할 수 있습니다.
GitHub - DongLab-DevTools/Android-Dependency-Tree-Diff-Viewer: Gradle 의존성 변경 사항을 시각적으로 쉽게 확인
Gradle 의존성 변경 사항을 시각적으로 쉽게 확인 할 수 있는 사이트. Contribute to DongLab-DevTools/Android-Dependency-Tree-Diff-Viewer development by creating an account on GitHub.
github.com
개발 동기
안드로이드 프로젝트 여러 개를 동시에 관리하다 보니, 의존성 변경이 발생하는 상황을 자주 마주하게 됩니다.
문제는 해당 라이브러리 내부에서 쓰는 다른 의존성이 얼마나 퍼지는지 정리하는게 쉽지 않았습니다.
Gradle의 dependencies 출력은 트리 구조로 제공되지만 단순 텍스트 diff로 비교하기에는 한계가 있습니다.
특히, 사내에서 의존성 변경에 대해 정리하여 보고가 필요할 때에는 더욱 더 곤란해집니다.
물론, CI가 있는 프로젝트에선 dependency diff 라이브러리를 활용할 수 있었겠지만 CI가 없는 프로젝트가 대부분이었기 때문에 해당 웹 사이트의 필요성을 느끼게 되었습니다.
주요 기능 소개
Android Dependency Tree Diff Viewer는 여러가지 형태로 출력을 제공합니다.
모든 출력 방식은 복사 / 스크린샷 저장 / 마크다운 저장을 지원합니다.
- (출력 방식을 다양하게 제공하다보니 실제로 사내에서 제 웹사이트를 사용하여 보고 또는 내용 정리를 하시는 분이 많았습니다.)
1. 전체 변경사항 출력
일반적인 파일 diff처럼 모든 내용을 그대로 보여줍니다.
의존성 트리 전체 흐름을 함께 확인하고 싶은 경우에 유용합니다.

2. 변경된 부분만 출력
추가되거나 삭제된 의존성만 필터링하여 표시합니다.
“어떤 부분이 바뀌었는지”를 빠르게 확인할 수 있습니다.

3. 요약
추가 / 삭제 / 변경된 의존성을 카테고리별로 정리하여 보여줍니다.
의존성 변경사항을 파악할 때 가장 중요한 건 결국 "어떤 라이브러리의 버전이 어떻게 바뀌었는가"라고 생각하기 때문에 요약 기능도 추가하게 되었습니다.

마치며
라이브러리 하나 추가했을 뿐인데, 의도하지 않은 변경사항이 발생하는 경험은 다들 한 번쯤 겪어보셨을 것이라 생각합니다.
의존성 변경이 잦거나, 의존성 변경 추적에 귀찮음을 느끼셨던 분들이라면 한 번쯤 사용해 보시면 좋을 것 같습니다.