별의 공부 블로그 🧑🏻‍💻
728x90
728x170

* 그레이들의 개요

 

- 그레이들 프로젝트 웹 사이트에서는 그레이들을 Build Automation Evolved, 즉 '진화된 빌드 자동화'라고 소개함. 이 '진화'에는 두 가지 의미가 있음.

 

1. 그레이들은 빌드 자동화뿐만 아니라 테스트 실행, 결과물 공개, 각종 소프트웨어 개발 태스크 자동화, 정적 웹사이트 생성, 문서 생성과 같은 소프트웨어 개발 이외의 프로젝트 자동화에도 적용할 수 있음.

2. 그레이들은 앤트의 유연성, 메이븐의 의존관계 관리와 규칙 기반 등 기존 빌드 툴의 장점을 가져왔으며, 그루비의 DSL을 도입해서 효율적인 빌드를 실현함.

 

cf) DSL(Domain-Speicifc Language) : 도메인 특화 언어라고 하며, 특정 영역이나 프로그램에 특화된 독자적인 언어를 가리킴. C나 자바 같은 범용적인 언어와 상반되는 개념.

 

- 그레이들의 주요 특징

 

1. 확장 가능한 그레이들 빌드 언어(DSL) 제공

2. 빌드 분할이나 공통 컴포넌트 추출 등을 체계화하기 쉬움

3. IDE와 연계해서 그레이들을 외부에서 제어할 수 있는 API 제공

4. 변경 내역 빌드나 병렬 빌드와 같은 빌드 효율화

5. 멀티 프로젝트를 지원하는 유연성

6. 메이븐/아이비 저장소부터 로컬 파일 시스템까지 다양한 의존관계 관리 기법 대응

7. 앤트 태스크뿐만 아니라 앤트 프로젝트 전체와 통합 가능

8. 빌드 스크립트 작성 언어로 그루비 이용

9. 그레이들 래퍼(wrapper)를 이용해서 그레이들이 설치되지 않은 환경에서도 빌드 가능

10. 호환성 배려

 

- 그레이들 창시자는 Hans Dockter.

- 그레이들 개발자 대부분은 Gradleware(http://www.gradleware.com/)에서 근무하고 있으며, 유상 기술 지원과 컨설팅 서비스를 하고 있음.

- 참고 사이트

http://www.gradle.org/ (그레이들 프로젝트의 공식 사이트)

https://github.com/gradle/gradle (코드, 라이선스는 Apach License Version 2.0)

https://docs/gradle.org/current/userguide/userguide (사용자 가이드)

 

* 그레이들 사례

 

- 그레이들은 오픈 소스 소프트웨어인 하이버네이트(Hibernate)나 스프링, 그루비 관련 제품에서 일찍부터 사용됐으며 현재도 도입 사례가 계속 늘고 있음.

- 깃허브에서 build.gradle(그레이들의 기본 빌드 스크립트 파일)로 검색하면 그레이들이 많은 프로젝트에 사용되고 있다는 것을 알 수 있음.

- 기업 시스템에서도 그레이들의 도입 사례가 늘고 있음. (예: 링크드인(LinkedIn))

- 구글이 안드로이드 애플리케이션의 표준 빌드 시스템으로 그레이들을 채택함.

- 마인크래프트(Minecraft)라는 게임의 커스텀 모듈 빌드 툴로 현재 그레이들이 사용되고 있음.

- 이처럼 기존에는 생각할 수 없었던 곳에서도 도입되는 것을 보면 실제로 Build Automation Evolved(진화된 빌드 자동화)가 실현되는 듯한 느낌을 받음.

- 그레이들 2.0 이후 버전에서는 C/C++/Object-C 같은 네이티브 언어의 빌드나 비주얼 스튜디오와의 연계 등 자바의 에코시스템을 넘어서는 강력한 기능을 갖추도록 계속 연구 중임. (향후 그레이들의 적용 영역이 JVM 언어를 넘어서 확잘될 것으로 기대됨.)

 

내용 출처 : Gradle 철저입문 (와타비키 타쿠마 외 지음, 길벗)

728x90
그리드형(광고전용)

'In-depth Study > Gradle' 카테고리의 다른 글

그루비 특유의 문법  (0) 2017.07.12
다른 빌드 툴과의 비교  (0) 2017.07.12
그레이들의 장점  (0) 2017.07.12
빌드 툴(Build Tool)  (0) 2017.07.12
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖