본문 바로가기
Kotlin

[깡샘의 코틀린 프로그래밍] 정리 2 - IntelliJ에서 그레이들을 이용한 개발환경

by 들풀민들레 2018. 3. 2.

본 글은 [깡샘의 코틀린 프로그래밍 - 루비페이퍼] 의 내용을 발췌한 것입니다.

좀더 자세한 내용은 책을 통해 확인해 주세요.

 

 

 

2장. 코틀린 개발환경

 

2.1.4. IntelliJ에서 그레이들을 이용한 개발환경

 

앞에서 IntelliJ를 이용한 코틀린 개발환경을 구축하는 방법에 대해 살펴보았는데 별도의 빌드 도구를 이용하지 않았습니다. 하지만 많은 개발자가 소프트웨어를 개발할 때 다양한 빌드 도구를 이용하고 있으며, 앤트(Ant), 메이븐(Maven), 그레이들(Gradle) 등이 대표적인 빌드 도구로 이용되고 있습니다.

 

빌드 도구는 개발자가 만든 코드를 컴파일하고 패키징하는 일련의 과정을 수행합니다. 또한, 빌드 도구의 중요한 역할 중 하나가 라이브러리 의존성 표현입니다. 소프트웨어를 개발할 때 다양한 라이브러리를빌드 도구에 명시적으로 선언하여 해당 라이브러리를 이용하여 빌드합니다. 이곳에서는 빌드 도구 중 유명한 그레이들(Gradle)을 이용해 코틀린 프로그램을 작성하는 방법에 대해 살펴보겠습니다.

 

Step 1 _ 그레이들로 프로젝트 생성

 

새로운 프로젝트를 그레이들로 만들어 보겠습니다. 새로운 프로젝트는 메뉴에서 [File → New → Project]를 선택하여 생성할 수 있습니다.

 

 

 

 

다음 그림처럼 IntelliJ에서 새로운 프로젝트를 만들 때 왼쪽 메뉴에서 Gradle을 선택하고, 오른쪽 메뉴에서 Kotlin(Java)를 선택하고 <Next>를 누릅니다.

 

 

 

다음 그림에서 적절한 이름으로 GroupId와 ArtifactId를 입력합니다. GroupId는 조직의 식별자이며 ArtifactId가 프로젝트 이름입니다. 이후 나머지 설정은 기본값을 그대로 유지한 상태로 프로젝트를 만들어 줍니다.

 

그레이들을 이용하여 프로젝트를 생성하면 다음 그림처럼 다양한 폴더와 파일이 추가되는 것을 확인할 수 있습니다. 이 중 개발자가 신경 써야 하는 부분은 rsc > main > kotlin과 build.gradle입니다. kotlin 폴더는 개발자의 소스 파일이 위치해야 하는 곳이고 build.gradle은 그레이들의 환경파일 정로로 이해하면 됩니다.

 

 

 

Step 2 _ 그레이들에 라이브러리 추가

 

그레이들로 만들어진 프로젝트에 간단한 코틀린 테스트를 진행해 보겠습니다. 테스트는 외부 라이브러리를 그레이들을 이용하여 의존성을 표현하고 그 라이브러리를 이용하는 테스트입니다. 우선 라이브러리 의존성을 표현하기 위해 build.gradle 파일을 열고 다음과 같이 사용하고자 하는 라이브러리를 추가해 줍니다.

 

01 dependencies {

02     compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"

03     testCompile group: 'junit', name: 'junit', version: '4.12'

04     compile 'org.apache.commons:commons-lang3:3.7'

05 }

 

이곳에서는 간단한 테스트를 진행하기 위해 apache commons 라이브러리 중 lang3 라이브러리를 추가하였습니다. 이렇게 build.gradle 파일을 수정하면 수정된 내용이 반영될 수 있게 I ntelliJ 오른쪽 아래에 다이얼로그가 보입니다. 여기서 import changes 링크를 클릭하면 그레이들에 의해 명시한라이브러리가 자동으로 다운로드되고 프로젝트에서 사용할 수 있게 됩니다.

 

이제 kotlin 폴더에 app이라는 이름으로 코틀린 파일을 하나 만들고 다음의 코드를 작성합니다.

 

 

 

01 import org.apache.commons.lang3.StringUtils

02

03 fun main(args: Array<String>) {

04     val data=" Hello World !! kkang "

05     println(StringUtils.deleteWhitespace(data))

06 }

 

위의 코드를 보면 05번 줄에서 StringUtils라는 클래스를 사용하고 있습니다. 이 클래스는 자바의 기본 클래스가 아닌 build.gradle 파일에 의존성을 명시한 commons-lang3에서 제공하는 클래스 입니다. 그레이들에 의해 자동으로 다운로드되고 프로젝트에 의존성이 적용되므로 개발자 코드에서 이용할 수 있는 것입니다.