[Android] Version Catalogs로 라이브러리 버전관리하기

김준영·2024년 3월 28일
0

Android

목록 보기
4/17
post-thumbnail

* 해당글은 gradle version 8.3 기준입니다.

들어가기에 앞서...

프로젝트를 진행하면서 app 모듈에서 패캐지 단위로 계층을 나눠보다가 언젠가 한번쯤은 멀티모듈을 사용해보고 싶었습니다.

멀티모듈은 재사용에 용이하고, 단위 테스트에도 유리하다고 합니다.

멀티모듈, 즉 모듈이 여러개있다면 그만큼 관리해야할 gradle도 많다는 것을 알 수 있습니다. 본 글에서는 이런 불편한 요소들을 버전 카탈로그를 통해 손쉽게 관리할 수 있다는 것에 초점을 두셨으면 좋겠습니다!

Gradle 버전 카탈로그 사용하기

Gradle 버전 카탈로그를 사용하면 확장 가능한 방식으로 종속 항목 및 플러그인을 추가하고 유지할 수 있습니다. 여러모듈이 있을 때 종속 항목과 플러그인을 더 쉽게 관리할 수 있다고합니다.

즉, 종속항목을 업그레이드 할 때마다 종속 항목의 이름과 버전을 개별 빌드파일에 하드코딩하고 각 항목을 업데이트하는 대신, 종속 항목의 중앙 버전카탈로그를 생성하면 다양한 모듈에서 참조할 수 있습니다

직접 사용해보면 감이 확옵니다!

직접 해보기

우선 버전카탈로그 파일을 만들어야 합니다
루트 프로젝트의 gradle폴더에서 libs.versions.toml파일을 만들어야합니다!


먼저 프로젝트 범위로 변경해줍니다


gradle 폴더 하위에 file추가 -> libs.versions.toml 이름으로 파일추가

파일 생성 후 위 코드와 같이 작성해줍니다.

이후 Build를 해준다면..

이렇게 android 단위로 보아도 toml가 생겨난것을 볼 수 있습니다!

잠깐, toml는 무엇일까?

TOML(Tom's Obvious Minimla Language)은 읽기 쉬운 최소한의 구성 파일 형식을 목표로하고, TOML은 해시 테이블에 대응되도록 설계되어있습니다. TOML은 다양한 언어로 된 데이터 구조를 쉽게 구문분석할 수 있어야 한다고 합니다!
출처: https://toml.io/ko/v0.5.0

이렇게, 버전관리를 보기쉽게 하면 추후 유지보수성 측면에서도 유리하겠죠?
이제 Module을 추가해봅시다!


클린아키텍처의 전통적인 계층중 하나인 data 모듈을 추가한 후 toml 파일을 확인해볼까요?

이렇게 자동으로 버전이 선언되었음을 확인할 수 있습니다!
그럼 data 모듈의 gradle 파일도 확인해봅시다!

이런식으로 변경된 것을 확인할 수 있습니다!

마치며

혼자하는 토이프로젝트나, 몇개월하고마는 프로젝트는 사실 버전관리를 안해도 큰 문제는 없을겁니다! 하지만 규모있는 프로젝트나 쭉 유지보수를 해야하는 서비스라면 버전관리는 필수적으로 해야할 것 같습니다!

profile
Android, Flutter를 공부하고 있습니다🧐

0개의 댓글

관련 채용 정보