brunch

You can make anything
by writing

C.S.Lewis

by 이승현 Sep 30. 2022

Gradle Version Catalog

새로운 버전 관리 방법

Overview


Gradle 7.4 (2022.02) 부터 Version Catalog 라는 새로운 버전 관리 방법이 제공된다.




Previous


Multi module 프로젝트에서 dependency 버전을 공유하는 방법은 여러 가지가 있다.


ext block





dependencies.gradle




buildSrc


Gradle 이 수행되면, buildSrc 디렉토리가 존재하는지 체크한다.

Gradle 은 자동으로 코드를 컴파일하고 빌드 스크립트의 classpath 에 넣는다.


root 디렉토리에 buildSrc 디렉토리를 생성한다.

src/main/kotlin 디렉토리에 kotlin 파일을 생성하고, dependency 를 설정한다.



buildSrc 디렉토리에 build.gradle.kts 파일을 생성하고, kotlin-dsl 을 enable 한다.


상수로 선언된 버전이나 라이브러리를 이용한다.




Version Catalog


하나의 파일로 여러 프로젝트 및 모듈의 버전을 관리할 수 있다.


gradle/libs.versions.toml 파일을 생성하고, dependency 를 설정한다.


TOML  

Tom Preston-Werner 이 만든 언어
https://toml.io/en/


toml 파일이 아닌, 직접 추가도 가능하다.

하지만 굳이 쓸 필요는 없어 보인다.



libs prefix 와 함께 선언한다.




장점


1. IDE 에서 자동 완성을 통해 종속성을 쉽게 추가할 수 있다.


2. 하나의 파일로 모든 모듈의 종속성 버전을 관리할 수 있다.


3. bundle 을 이용할 수 있다.


4. buildSrc 구성 파일에서 버전을 변경하는 경우 Gradle 이 정의한 플러그인을 포함하여 전체 buildSrc 를 재구성한다. (빌드 캐시 무효화)

→ version catalog 의 경우 함수 호출의 형태라 상수 값의 변경 여부는 무관하기 때문에, 단순 버전 변경이 일어난다고 해도 리빌드를 하지 않으니 그만큼 시간 절약에 도움이 될 수 있다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari