티스토리 뷰

gradle

gradle wrapper 는 왜 필요 하나?

비가온다 2019. 9. 28. 08:56

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으로 빌드 한다.  

 

 

참 편리하다.

 

 

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday