새로운 버전 관리 방법
Gradle 7.4 (2022.02) 부터 Version Catalog 라는 새로운 버전 관리 방법이 제공된다.
Multi module 프로젝트에서 dependency 버전을 공유하는 방법은 여러 가지가 있다.
Gradle 이 수행되면, buildSrc 디렉토리가 존재하는지 체크한다.
Gradle 은 자동으로 코드를 컴파일하고 빌드 스크립트의 classpath 에 넣는다.
root 디렉토리에 buildSrc 디렉토리를 생성한다.
src/main/kotlin 디렉토리에 kotlin 파일을 생성하고, dependency 를 설정한다.
buildSrc 디렉토리에 build.gradle.kts 파일을 생성하고, kotlin-dsl 을 enable 한다.
상수로 선언된 버전이나 라이브러리를 이용한다.
하나의 파일로 여러 프로젝트 및 모듈의 버전을 관리할 수 있다.
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 의 경우 함수 호출의 형태라 상수 값의 변경 여부는 무관하기 때문에, 단순 버전 변경이 일어난다고 해도 리빌드를 하지 않으니 그만큼 시간 절약에 도움이 될 수 있다.