티스토리 뷰
1. gradle wrapper 는 무엇 일까?
프로젝트 개발을 할 때 개발자 별 로 각기 다른 버전의 gradle 를 사용 하고 있을 수가 있다.
예를 보자
"
A 개발자는 gradle 5.6 버전을 사용하고, B 개발자가 gradle 3.0 을 사용 한다.
A 개발자가 개발하던 프로젝트에 B개발자가 합류하게 되었다.
B개발자는 빌드 중 알수없는 오류가 생겨서 한참을 헤멘뒤에 gradle 버전이 다르기 때문이란것을 알게 되었다.
"
만약에 B 개발자가 수백명이었다면?
버전이 달라서 발생한 오류를 찾기 위해 수 많은 시간이 낭비 되었을 것이다.
이런 문제를 해결하기 위해서 나온 것이 gradle wrapper 이다.
gradle wrapper 는 각기 다른 개발 환경에서도 기본으로 설치된 gradle 버전과 상관 없이
해당 프로젝트에 종속된 gradle 버전으로 사용 할 수 있도록 해준다.
그렇기 때문에, 남이 하던 프로젝트도 빠르게 이어서 작업 할 수 있다.
2. 어떻게 그게 가능 한가?
프로젝트폴더/gradle/wrapper/gradle-wrapper.properties 를 보자
(* 만약 wrapper 폴더가 없다면 gradle wrapper 를 실행 한다.
-> 현재 사용 하는 gradle 버전 기준으로 wrapper 를 생성 한다.)
Gradle-wrapper.properties
"distributionUrl=https\://services.gradle.org/distributions/gradle-5.6-bin.zip"
위와 같이 해당 프로젝트의 gradle 버전이 gradle-wrapper.properties 의
distributionUrl 에 url 형태로 생성 되어 있다.
이 url 로 인해서 다른 개발자가 이 프로젝트를 받아서 바로 사용 할 수 있는 것이다.
(1) A 개발자가 현재 프로젝트 에서 gradle wrapper 를 실행한다
(2) B 개발자가 프로젝트를 받는다.
(3) ./gradlew build 를 실행 한다.
(4) B 개발자의 개발환경은 gradle 3.0 이라도 gradlew 덕분에 은 5.6으로 빌드 한다.
참 편리하다.