Page 417 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 417
> gradle -q intro
Hello world!
I'm Gradle
이와 같이 Gradle은 프로젝트 요구사항에 따라 새로운 task를 추가할 수 있으며, 각 task간에 의존
관계를 설정함으로써 task의 우선순위를 결정할 수 있다. 이는 Ant 빌드 툴이 가지는 자유도를 모두
흡수할 수 있다는 것이다.
Gradle Plugin = Maven의 관례
Gradle은 참 재밌게도 Ant의 자유도를 주면서도 Maven에서 제공하는 관례를 흡수하고 있다. Ant의
자유도가 좋기는 하지만 프로젝트를 시작할 때마다 매번 같은 task를 추가하고, task간의 의존관계를
설정해야 한다. 하지만 대부분의 프로젝트에서 발생하는 빌드 task와 의존관계는 비슷하다. 예를 들어
자바 프로젝트의 경우 production code compile과 test code compile은 항상 발생하며, test code
compile은 production code compile에 의존관계가 생긴다.
이와 같이 프로젝트를 빌드할 때 공통적으로 발생하는 task와 의존관계를 관례로 만들어 제공할 수
있다. Gradle은 이 관례들을 플러그인이라는 개념으로 제공하고 있다. 1. Gradle 설치 및 프로젝트
생성 문서에서 웹 애플리케이션 프로젝트를 생성했을 때 apply plugin: 'jetty'가 자동으로 추가되었다.
이 빌드 스크립트의 의미는 현재 프로젝트에서 jetty 플러그인을 사용하겠다는 의미이다. 즉, jetty
플러그인에서 제공하는 task와 task간의 의존관계를 현재 프로젝트에 포함 시킨다는 내용이다.
1. Gradle 설치 및 프로젝트 생성에서 생성한 프로젝트에서 jetty 플러그인 설정 부분을 주석처리하고
"gradle tasks"를 실행하면 다음과 같은 결과를 얻을 수 있다. 주석은 자바의 주석과 동일하다.
build.gradle
// apply plugin: 'jetty'
group = 'net.slipp'
인천전자마이스터고등학교
- 410 -