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  -
   409   410   411   412   413   414   415   416   417   418   419