티스토리 뷰





[Gradle UserGuide 도전기] 1. Introduction


  Gradle은 최근 주목받는 빌드 관리 툴이고 제가 공부하려고 선택한 툴이기도 합니다.

그런데 굳이 왜 Gradle이냐고요? 사실 처음에는 Maven을 공부하려고 했어요. 하하하... 그런데 제가 35000원이나 주고 산 '자바 웹 개발 워크북'에서 Gradle을 추천하더라고요. 무엇보다 저자의 'Gradle은 기존 빌드 도구들의 단점을 보강하고 장점을 잘 접목한 도구입니다.'라는 멘트에 넘어가버렸죠. 그래서 그냥 필 받아서 자료를 찾아보기 시작했습니다.


  그런데 막상 공부를 해보려니 국내에서 자료 찾는게 쉽지 않더군요. (아 영어...) 이래서 교수님들이 원서를 그렇고 고집하셨나 봅니다. 어쩌겠습니까. 목 마른 사람이 우물을 파라 했으니, 공식 홈페이지에서 UserGuide를 다운 받고 읽기로 하였습니다. 사실 제가 쓰려는 내용은 Gradle의 모든 기능을 알 필요도 없고 일부 자주 사용하는 기능만 공부하면 될 것 같지만, 이왕 공부하는거 차근차근 읽어나가보겠습니다. 제가 영어를 잘하는 것도 아니고 빌드 관리 툴을 잘하는 것도 아니지만, 제가 사용하면서 겪는 실패를 공유하는 것이 후에 발전적인 모습으로 다가오지 않을까요? 용기내서 한번 시작해보겠습니다!


  UserGuide의 챕터1의 내용도 1페이지 있으나 중요하지 않으므로 생략하고 다음 글로 넘어가겠습니다.




그래들을 조금이나마 접해보고 소감을 적어봅니다.


사실 공식 홈페이지의 유저 가이드를 차근 차근 따라가면서 들은 내용만으로는 제가 원했던 스프링 프로젝트를 빌드하는 최초의 빌드 스크립트를 작성하기까지 꽤 오랜 기간이 걸렸어요. 가이드는 차근차근 그래들의 기본구조인 프로젝트 테스크 구조와 그래들 특유의 다이나믹한 스크립트 작성법에 시간을 할애하느라 진도가 (제가 느끼기에는) 느렸습니다. 그래서 공부를 하다보니 지난 시간에 익혔던 내용이 가물가물 해지더군요.


그래서 추천하는 방법은 우선 기본 구조가 완성된 빌드 스크립트를 구해서 이를 분석하고, 이를 활용한 프로젝트 빌딩을 한번 해보는 것입니다. 이 과정을 통해서 자신이 빌드 중에 썼던 내용을 머릿속에 각인하고, 그 이후에 이 가이드를 한번 훑어 보시면 더욱 많은 내용을 쉽게 건질 수 있을 겁니다.


그런 이유로 제가 블로그에 그래들을 활용한 스프링 MVC 프로젝트 구축법을 최대한 쉽게 써보았어요. 특히 그래들의 빌드 스크립트 부분에는 최대한 주석을 많이 달아서 어떠한 내용들이 빌드에 필요했는지 적어놨습니다. 참고하셔서 보실 분들은 링크 드릴테니 오셔서 보시기 바래요.


그래들기반 스프링 MVC 프로젝트 : http://dynaticy.tistory.com/13




또 몇 마디 추가하자면...ㅋㅋ...


제가 생각하는 그래들의 장점은 자바와 비슷한 문법의 프로그래밍 기법을 활용해서 빌드 스크립트를 작성한다는 점이에요.


저는 처음에 남들이 이런 말을 하는 것을 듣고 "그게 뭐?" 라는 반응을 보였는데요...


생각보다 이는 꽤 강력한 장점이더라고요.


우선 메이븐의 XML같은 경우 하나하나 살펴보면 분명 잘 분류 되있고 문법도 그리 어렵지 않아요. 하지만 문제는 이 XML 파일이 프로젝트가 복잡해지면서 내용이 많아지기 시작하면, 엄청나게 태그가 많아진답니다. 어떻게 보면 내용보다 태그선언 자체가 더 많아지는 느낌이고, 딱 xml파일을 보았을 때 잘 눈에 들어오지도 않더군요.


예를 들면 의존성을 선언할 때 메이븐은

<dependencies>

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>3.8.1</version>

<scope>test</scope>

</dependency>

</dependencies>

이렇게 선언되는데요. 그래들에서는

dependencies() {

testCompile 'junit:junit:3.81'

}

3줄로 끝난답니다.


재밌는 점은 추가할게 많아질수록 이러한 특징이 부각된다는 것입니다. 메이븐의 경우 디펜던시를 하나 추가하면 <dependency>~</dependecy>부분을 추가해야하니 6줄이 추가되죠. 그래들은 딱 dependencies(){} 내에 딱 한줄을 추가해주면 된답니다.


코드 작성시에는 어차피 Copy&Paste를 통해 그리 어렵지 않게 추가할 수 있지만 수십여가지의 의존성이 추가된 후 두 설정 파일은 엄청난 코드의 차이로 나타난답니다. 이는 곧 코드의 직관성 차이가 극명하게 나타나죠. ( 어떤 분은 1600줄 짜리 pom.xml을 그래들로 적용해더니 몇백줄로 줄일 수 있었다고 하더군요. )


뿐만 아니라 xml은 주어진 태그에 한해서 빌드 설정을 할 수 있는 반면 그래들 같은 경우 기본적으로 프로그래밍 언어 바탕이기에 여러 조건문, 반복문 등을 활용해서 빌드 설정을 동적으로 바꾸어 줄 수 있답니다.


아직 제가 대형 프로젝트를 진행해보지 않고 기본적은 튜토리얼과 연습 프로젝트만 진행해보았기 때문에 그 이상의 특징은 발견 못했지만, 위 특성만으로도 충분히 그래들의 매력을 느낄 수 있었습니다.


지금까지 이야기를 들어주신 여러분. 꽤 끌리지 않나요?


한번 도전해보세요!

'Dev Story > Gradle' 카테고리의 다른 글

[Gradle 도전기] 6. Build Script Basics  (0) 2014.12.25
[Gradle 도전기] 5. Troubleshooting  (0) 2014.12.25
[Gradle 도전기] 4. Installing Gradle  (0) 2014.12.25
[Gradle 도전기] 3. Tutorials  (0) 2014.12.25
[Gradle 도전기] 2. Overview  (1) 2014.12.25
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함