Page 414 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 414
정보통신기기 프로젝트
바. Gradle (그레이들)
Gradle은 Groovy를 이용한 빌드 시스템이다. Groovy와 유사한 도메인 언어를 채용하였으며, 현재 안
드로이드 앱을 만드는데 필요한 안드로이드 스튜디오의 공식 빌드 시스템이기도 하다. Java, C/C++,
Python 등과 같은 여러 가지 언어를 지원한다.
기존의 JVM-언어 build tool 들과 비교
Maven 은 configuration 에 convention 을 사용하는(convention-over-configuration) 의 paradigm
을 사용한다. 이런 방법은 application 을 합치는 방법이 명확할 때 유용하다.
만약 여러 다른 convention 들을 사용하는 기존의 project 들에서 작업을 한다면 어떨까?
Maven 에서는 한 project 에서 하나의 artifact 를 사용해야만 한다. 예를 들면 하나의 jar 만 만들 수
있다. 그럼 하나의 소스트리에서 어떻게 2개의 jar 을 만들 수 있을까? 이를 위해서는 2개의 project 를
만들어야만 한다. 아니면 새로운 tool 을 도입해서 해결할 수도 있다.
XML
hierarchical data 를 표현하는데에는 좋다. 하지만 program flow 를 표현하거나 조건부 논리
(conditional logic) 을 표현하는데에는 약하다.
ANT
ant 는 유연하다.
하지만 각각의 build script 가 unique 하고 이해하기 어렵다.
external library를 repository 에서 가져오는 기능이 없기 때문에 version checking 하는 부분이 필요
하다.
여러 프로젝트의 layout 들을 합치기 통일하기 위해서는 기업은 standard 를 정의해야 했다.
Maven
2004 년 7월에 release 됐다.
dependency 관리, directory 구조, standardized project(표준화된 프로젝트) 를 제공했다.
custom logic 은 구현하기 어려웠다.
정보통신기기과
- 407 -