* 원조 빌드 툴 make
- 수작업이나 약간의 스크립트를 작성해야만 가능했던 작업을 Makefile 이라는 통일된 구조로 처리
- 빌드 개념을 확립
- https://www.gnu.org/software/make/
- 최근에는 SCons 라는 C언어 빌드 툴이 등장했다
* 자바를 위한 빌드 툴 Ant
- 자바와 XML 기술을 도입하며 탄생했다
- 범용성을 높였다 (= 크로스 플랫폼 대응)
- 복잡한 처리를 하는 경우에 빌드 스크립트가 장황해져 관리가 어렵다
- 라이브러리 의존관계를 관리하는 구조가 없다
* 빌드 툴의 혁명 Maven
- Lifecycle 과 POM (Project Object Model) 이라는 새로운 개념을 도입하여 Ant 의 빌드 스크립트 관련 약점을 해결
- 빌드 스크립트 작성 효율을 높였다 (= 규칙 기반)
- POM 의 meta 데이터를 이용하여 라이브러리 의존 관계를 자동으로 관리
- 복잡한 규칙을 이해해야 제대로 사용할 수 있다
* 빌드 툴의 진화
- 빌드 스크립트 작성 방식
: 정적 (XML) vs 동적 (스크립트 언어)
: 처리기반 vs 규칙기반
* Gradle
- 스크립트 언어(Groovy)를 이용한 규칙 기반 빌드 툴
- 유연성을 높였다 (= 스크립트 언어로 회귀)
- 빌드 자동화뿐만 아니라 테스트 실행, 결과물 공개, 각종 개발 태스크 자동화, 문서 생성 자동화 등도 가능
- Groovy DSL (Domain-Specific Language; 특정 영역이나 프로그램에 특화된 독자적인 언어) 을 도입
-
* Gradle 의 장점
- 빌드 스크립트 생산성이 높다
- 빌드 순서를 제어하기 쉽다
- 멀티 프로젝트에 대응한다
- 컴포넌트로 만들기 쉽다
- 별도로 설치할 필요가 없다 (gradle wrapper)
- 호환성을 최대한 배려한다
'SW 공학 > SE 서적' 카테고리의 다른 글
/////★ GoF의 디자인 패턴 / 에릭감마, 리처드 헬름, 랄프 존슨, 존 블리시디스 / 프로텍 미디어 (0) | 2021.09.20 |
---|---|
☆ 거꾸로 배우는 소프트웨어 개발 / 이호종 / 로드북 (0) | 2021.07.18 |
자바로 배우는 리팩토링 입문 / 유키 히로시 / 길벗 (0) | 2021.01.10 |
///실용주의 프로그래머 (0) | 2020.10.16 |
★클린 아키텍처 / 로버트 C.마틴 / 인사이트 (0) | 2020.10.02 |