본문 바로가기

Software Engineering/Build Tool

BuildTool - Groovy란? (Groovy 문법과, 초간단 build.gradle 작성 예제)

Gradle의 스크립트 파일 구조

Groovy란

  • JVM에서 실행되는 스크립트 언어
  • 문법이 Java와 아주 가깝다
  • Java와 호환이 되며 Java 클래스 파일을 그대로 Groovy 클래스로 사용할 수 있다

 

 

1. Gradle 설치

https://galid1.tistory.com/467?category=761537

gradle은 설치가 되어있다는 가정하에 진행하도록 하겠습니다. 아직 설치가 되어있지 않다면 위의 (Linux - CentOS7를 기준으로 간단한 설치방법을 정리해놓은 링크입니다.) 링크를 참고하여 설치를 해주세요.

 

 

 

2. Groovy 문법 (Gradle Script 작성을 위한)

gradle 스크립트는 현재, Groovy 또는 Kotlin으로 작성이 가능합니다만, 저는 우선 Groovy문법으로 작성을 하도록 하겠습니다. Groovy라는 새로운 언어를 익혀야하는데에 거부감이 있으실 수 있겠지만, 이는 Java 문법과 매우 유사하기 때문에 새로운 언어를 익히기 보다는 약간 변형된 java 문법을 배운다고 생각하시면 됩니다.

 

문자열

문자열을 표기하는 방법은 ''(작은 따옴표)""(큰 따옴표) 가 있습니다.

''(작은 따옴표)

단순히 문자열을 출력하는데 사용됩니다.

 

""(큰 따옴표)

문자열을 출력하는데 사용이되며, 문자열 내부에 $변수를 이용해 동적인 내용을 표시하는데에 사용할 수 있습니다.

 

여러행

만약 여러줄을 사용하고 싶다면, ''' ''' (작은 따옴표 3개로 열고 닫기) 또는 """ """(큰 따옴표 3개로 열고닫기)를 사용하시면 됩니다.

 

 

메소드 호출

메소드를 호출하는 경우 Groovy 는 () 즉, 소괄호를 생략할 수 있습니다. 위 두줄의 코드는 같은 결과를 발생시킵니다.

 

 

형 생략

Groovy는 def라는 키워드를 이용하여 모든 타입의 변수를 선언할 수 있습니다. 반대로 형을 지정하여 생성하는 방법도 가능합니다. 위 두줄의 코드는 같은 결과를 발생시킵니다.

 

 

클로저(Closure)

클로저는 Java의 Lambda(람다)와 매우 유사한 성격의 기능입니다. 즉, 어떤 메소드의 인수로 전달할 처리문에 해당합니다. 클로저는 <클로저이름>.call() 또는 <클로저이름>() 으로 실행이 가능합니다.

 

 

 

3. Gradle Script 예제

간단히 groovy 문법에 대해 공부를 했으니, 이번에는 gradle script를 작성해보고 실행해보겠습니다. gradle의 기본 스크립트 파일명은 build.gradle입니다. 즉 build.gradle이란 이름으로 파일을 작성한 뒤 해당 파일이 위치한 곳에서 gradle 명령어를 입력하면 작성한 스크립트가 실행됩니다.

 


우선 build.gradle을 위 그림과 같이 작성합니다. gradle.properties는 gradle 실행시 설정정보를 로딩하는데 사용하는 파일이므로, 우선은 생성하지 않으셔도 됩니다.

 

그 후, build.gradle 파일이 존재하는 디렉토리에서 gradle명령어를 입력하게되면, 스크립트 실행 결과를 확인하 실 수 있습니다.