Android App 개발 프로젝트를 하면서 멀티 모듈을 사용할 때, build.gradle 파일이 많이 생기고 각 파일에서 공통적으로 사용할 변수나 의존성 버전으로 인해 빌드 오류를 자주 겪는 경우가 생긴다. 그래서 ext, buildSrc 등을 이용하여 버전을 관리한다고 한다. 그런데 요즘 프로젝트를 보면 Version Catalog를 사용하여 버전 관리를 많이 하고 있다. 그래서 Version Catalog가 무엇인지 알아보고 정리하려고 한다.
Android 공식 문서에 따르면 Version Catalog는 확장 가능한 방식으로 라이브러리 및 플러그인을 추가하고 유지할 수 있다고 한다. 즉, 버전을 bundle 형태로 묶어서 관리할 수 있고, 프로젝트에 여러 모듈이 있는 경우, 라이브러리와 플러그인을 업그레이드 해야 할 때마다 이름과 버전을 개별 빌드 파일에 하드코딩하는 대신, Version Catalog를 생성해놓으면 다른 모듈에서 스튜디오 지원을 활용하여 안전하게 참조하고 더 쉽게 관리할 수 있다.
[versions]
[libraries]
[plugins]
[bundles]
libs.versions.toml 파일의 versions, libraries, plugins 섹션에 각 라이브러리의 항목을 추가하는 작업으로 프로젝트를 동기화하고 빌드 파일의 선언을 카탈로그 이름으로 변경해준다.
Version Catalog를 간단하게 정리하자면 프로젝트 내 버전을 관리할 수 있는 여러 방법 중 하나로, 프로젝트 생성 시 여러 모듈을 사용할 경우 libs.version.toml 파일을 만들어 라이브러리 및 플러그인을 정의한 후, build.gradle.kts 파일에서 toml 파일에 정의한 라이브러리, 플러그인을 참조하며 버전을 쉽게 관리할 수 있다.