Gradle이란?
- Groovy 기반의 오픈소스 빌드 도구
- 거의 모든 타입의 소프트웨어를 빌드 할 수 있는 빌드 자동화 시스템
장점
- 프로젝트를 설정 주입 방식으로 정의한다.
- 필요한 정보가 있을경우 프로젝트에 주입
- maven의 상속 구조보다 재사용에 용의하다.
- 프로젝트의 조건을 체크할 수있어서 프로젝트 별로 주입설정을 다르게 가능하다.
- 멀티 프로젝트를 빌드할 수있다.
- 하나의 Repo 내에 여러개의 하위 프로젝트 구성 가능
- 중복되는 코드를 복붙해서 사용하는 것을 피할 수 있다.
- 빌드 속도가 빠르다.
- 점진적 빌드
- 빌드 실행중 마지막 빌드 호출 이후에 변경이 된것이 없다면 빌드가 실행되지않는다.
- 불필요한 중복 빌드가 제거된다.
- 빌드 캐시
- 2개 이상의 빌드가 돌아가고, 하나의 빌드에서 다른 빌드가 사용된다면 빌드 캐시를 이용해서 이전의 빌드 결과물을 다른 빌드에서 사용한다. -> 다시 빌드를 하지않는다.
- 데몬 프로세스
- 서비스의 요청에 응답하기 위해 오랫동안 살아있는 프로세스
- 한 번 빌드된 프로젝트는 다음 빌드에서 매우 적은 시간을 소모할 수 있게해준다.
-- > maven의 자료가 많은 이유
- 이미 많은 곳에서 maven을 썼었기 때문에 유지 보수에서 꽤 많은 부분에서 maven을 사용했기 때문에
새로운 프로젝트에서는 Gradle을 사용하는 편이다. -> 공식 문서상 maven보다 100배정도 빠르기 때문에
빌드
- 소스 코드를 컴파일,테스트, 정적 분석등을 실행하여 실행가능한 어플리케이션으로 만들어주는 과정
- 다양한 라이브러리의 등장으로 라이브러리를 다운로드 및 추가하는 번거로움
- 개발자들 간의 버전관리가 어려워진다.
- 이런 문제를 해결하기 위해서 나온 것이 빌드 도구이다. = >Gradle
- 계속해서 늘어나는 라이브러리를 자동 추가 및 관리
- 프로젝트를 진행하며 라이브러리의 버전을 쉽게 동기화 시켜준다.
Groovy
- JVM 상에서 실행되는 스크립트언어
- 자바와 유사한 문법으로 호환성이 아주 좋습니다.