Gradle

Bam·2024년 4월 8일
0

Spring

목록 보기
6/48

Gradle

그레이들(Gradle)은 빌드 자동화 시스템입니다. 빌드 자동화 시스템이라고 하고 있긴 하지만 테스트 지원, 배포, 문서 등의 기능도 지원하고 있어서 프로젝트를 자동화하고 관리하는데 도움을 줍니다.

이전에 다뤘던 메이븐의 장점을 살려서 더 발전시킨 형태이기 때문에 프로젝트 관리쪽에서도 그레이들의 점유율이 높아지고 있는 추세입니다.

그레이들의 특징

메이븐의 대표적인 문제점으로는 읽고 쓰기 어려운 xml의 존재였었는데요. 그레이들은 이 문제점을 해결하고자 Groovy라는 언어를 기반으로한 DSL(Domain Specific Language)를 도입해서 그레이들 설정, 의존 관계 등을 작성하고 읽기 쉽게 만들어졌습니다.

Groovy는 JVM에서 사용되는 스크립트 언어입니다.

그레이들의 특징은 다음과 같은 것들이 있습니다.

  • DSL 지원
  • 멀티 프로젝트 지원
  • 캐싱을 이용해 메이븐보다 빠른 빌드 속도
  • 설정 주입 방식

Maven VS Gradle

그레이들은 DSL을 통해 읽고 쓰기 쉬운 설정 파일과 빠른 빌드, 테스트 속도 등으로 인해서 메이븐보다 높은 점유율을 기록 하고 있다고 할 수 있습니다.


그레이들 프로젝트 생성

그레이들 설치

그레이들은 점유율이 높기도 하고, 학부 강의 복습겸 그레이들 프로젝트를 한 번 생성해보려고합니다.

Windows 기준입니다.

먼저 그레이들을 설치합니다. 공식 사이트에서 다운받으실 수 있습니다. 위 페이지에서 스크롤을 내리다보면 Installing Manually 항목이 있는데 여기서 binary-only, complete 중 아무거나 선택해서 받아주세요. 저는 Binary-only 버전을 선택했습니다.

압축해제가 완료되면 환경 변수를 편집하러갑니다. 환경 변수 -> 시스템 변수 -> Path를 고르고 그레이들의 bin파일 위치를 지정해줍니다. 저는 사용자 디렉토리에 넣었기 때문에 다음과 같은 경로를 지정했습니다.

환경 변수까지 지정했다면 cmd를 열어서 gradle -v 명령을 입력했을 때 그레이들 버전 정보가 나온다면 제대로 설치가 된 것 입니다.

그레이들 프로젝트 생성

cmd에서 이어서 작업합니다.

우선 mkdir을 사용하든, 해당 위치에 GUI를 통해 만들던 빈 프로젝트(=빈 디렉토리)를 하나 생성해주세요. 저는 gradlestudy라는 이름의 빈 디렉토리를 하나 만들었습니다. 그리고 해당 위치로 이동해주세요.

cd gradlestudy

이동한 후 gradle init명령을 치면 그레이들 데몬이 실행되면서 프로젝트를 생성하는 옵션들이 나옵니다. 프로젝트 생성을 위해 몇가지 질문을 하는데요. 질문에 대해 번호만 입력하면 됩니다.

gradle init


먼저 빌드 타입을 선택하라는 질문인데요. 이는 프로젝트 유형을 묻는 질문입니다. 대부분의 경우는 1번 애플리케이션을 선택하게 됩니다. 우리도 1번을 선택하고요.

두 번째로는 프로젝트에서 사용할 언어를 묻습니다. 우리는 지금 자바 학습의 연장선이므로 1번 자바를 고릅니다.

전에는 안물어봤었는데 최신 버전인 8.7 버전에선 어떤 자바를 사용할지도 물어보네요. Java 17을 쓰고있으니 17을 입력합니다. (본인이 사용중인 자바 버전에 맞춰서 하시거나 default를 이용해주세요.)

다음으로는 프로젝트 이름을 묻습니다. default로 추천해주는 것을 선택할 수 있고 직접 작명할 수도 있습니다. 저는 firstgradle이라는 이름을 붙여주었습니다.

다음은 멀티 프로젝트 구조인지를 묻네요. default 설정인 Single을 선택하겠습니다.

DSL로 무엇을 사용할지 묻고 있습니다. 이거 제 기억에는 원래 Groovy가 default였던 것 같은데 지금은 Kotlin이 되었네요? 이건 2번 입력해서 Groovy로 해줍시다.

다음은 프로젝트에서 사용할 테스트 프레임 워크를 묻고 있네요. 시험삼아 프로젝트를 하나 만드는 것이기 때문에 지금은 default 설정을 따라갑니다.

이건 다음 버전에서 쓸 수 있는 API 등을 사용해서 빌드를 할거냐고 묻는데 최신기술 체험할 거 아니면 안정적인 버전을 사용합시다. 당연히 no.

위 질문까지 마치면 퍼센트 게이지가 올라가고 BUILD SUCCESSFUL이라는 메세지가 나오면 그레이들로 자바 프로젝트를 하나 생성하는데 성공한 것 입니다.

이후 프로젝트 파일에 가보면 빈 프로젝트 였던 곳이 그레이들 설정으로인해 프로젝트 구조가 갖춰진 상태가 되었음을 볼 수 있습니다.(.idea는 인텔리제이 설정 파일입니다.)

0개의 댓글