[Android] Gradle Version Catalog 정리

HJTN·2023년 11월 7일
0

Android App 개발

목록 보기
3/5
post-thumbnail

Version Catalog 개요


Android App 개발 프로젝트를 하면서 멀티 모듈을 사용할 때, build.gradle 파일이 많이 생기고 각 파일에서 공통적으로 사용할 변수나 의존성 버전으로 인해 빌드 오류를 자주 겪는 경우가 생긴다. 그래서 ext, buildSrc 등을 이용하여 버전을 관리한다고 한다. 그런데 요즘 프로젝트를 보면 Version Catalog를 사용하여 버전 관리를 많이 하고 있다. 그래서 Version Catalog가 무엇인지 알아보고 정리하려고 한다.

Version Catalog란?


Android 공식 문서에 따르면 Version Catalog는 확장 가능한 방식으로 라이브러리 및 플러그인을 추가하고 유지할 수 있다고 한다. 즉, 버전을 bundle 형태로 묶어서 관리할 수 있고, 프로젝트에 여러 모듈이 있는 경우, 라이브러리와 플러그인을 업그레이드 해야 할 때마다 이름과 버전을 개별 빌드 파일에 하드코딩하는 대신, Version Catalog를 생성해놓으면 다른 모듈에서 스튜디오 지원을 활용하여 안전하게 참조하고 더 쉽게 관리할 수 있다.

Version Catalog의 장점


  • 하나의 파일로 여러 프로젝트나 모듈의 버전 관리를 통합하여 관리할 수 있다.
  • 공통적으로 사용하는 의존성을 bundle로 묶어서 선언할 수 있다.
  • IDE 상에서 Catalog마다 자동 완성 기능 등의 편리한 요소를 지원한다.
  • 가독성이 향상된다.

Version Catalog 적용 방법


1. Root 프로젝트의 gradle 폴더에 libs.versions.toml 파일 생성하기

2. libs.versions.toml 파일에 다음 섹션 추가 (생성하면 자동으로 추가됨)

[versions]

[libraries]

[plugins]

[bundles]
  • versions 블록: 라이브러리 및 플러그인 버전을 가진 변수 정의
  • libraries 블록: 라이브러리 정의
  • plugins 블록: 플러그인 정의
  • bundles 블록: 라이브러리를 한번에 묶어서 선언

3. 라이브러리 및 플러그인 이전

libs.versions.toml 파일의 versions, libraries, plugins 섹션에 각 라이브러리의 항목을 추가하는 작업으로 프로젝트를 동기화하고 빌드 파일의 선언을 카탈로그 이름으로 변경해준다.

4. build.gradle.kts 파일에서 TOML 파일에 정의한 이름으로 라이브러리 및 플러그인 정의

라이브러리

플러그인

Version Catalog 마무리


Version Catalog를 간단하게 정리하자면 프로젝트 내 버전을 관리할 수 있는 여러 방법 중 하나로, 프로젝트 생성 시 여러 모듈을 사용할 경우 libs.version.toml 파일을 만들어 라이브러리 및 플러그인을 정의한 후, build.gradle.kts 파일에서 toml 파일에 정의한 라이브러리, 플러그인을 참조하며 버전을 쉽게 관리할 수 있다.

참고


profile
Hello~

0개의 댓글