본문 바로가기

Build/Gradle

Gradle 도큐먼트: Gradle 기본 개념

이 문서의 내용

    더보기

    Gradle은 JVM에서 가장 많이 사용되는 빌드 자동화 도구입니다.

    Gradle은 그루비(Groovy)를 기반으로 한 오픈 소스로 Apache License 2.0을 따릅니다.

    이전 세대의 빌드 도구 Ant와 Maven의 단점을 보완하고 장점을 취합하여 만들어 졌습니다.

    호환성

    Gradle은 다양한 언어와 프레임워크, IDE에서 호환됩니다.

    지원하는 Languagues and Frameworks 호환되는 IDEs
    Android Java Kotlin Multiplatform Groovy Scala C/C++ Android Studio IntelliJ IDEA Visual Studio Code Eclipse NetBeas

    Gradle 특징

    Ant 및 Maven과 달리 XML 언어가 아닌 JVM 위에서 동작하는 그루비(Groovy) 기반의 DSL(Domain Specific Language)를 사용합니다.

    특히 Maven의 pom.xml을 Gradle로 변환 할 수 있으며 중앙 저장소 역시 동일하게 지원하기 때문에 Maven에서 관리하던 라이브러리를 그대로 사용 할 수 있습니다.

    호환되는 IDE를 사용하여 Gradle 프로젝트를 생성하면 build.gradle 또는 build.gradle.kts 이름의 파일이 생성됩니다.

    plugins {
    	id 'java'
    }
    
    group 'org.example'
    version '1.0-SNAPSHOT'
    
    repositories {
    	mavenCentral()
    }
    
    dependencies {
    	testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0'
    	testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
    }
    
    test {
    	useJUnitPlatform()
    }
    더보기

    IntelliJ IDEA에서 Gradle 프로젝트를 생성하면 프로젝트의 루트 디렉토리에 build.gradle 파일이 생성됩니다.

    이 파일을 사용하여 새로운 라이브러리 종속성을 추가하고 빌드 Task를 생성하는 등의 스크립트 작성이 이뤄집니다.

    IDE가 제공하는 인터페이스에서 Gradle Task를 Unit 단위로 실행하거나 프로젝트에서 변경된 종속성을 최신화 할 수도 있습니다.

    용어 정리: 프로젝트

    프로젝트는 Gradle이 빌드하는 대상입니다.

    호환되는 IDE를 사용하면 기존 프로젝트에 Gradle을 연결하거나 새로운 Gradle 프로젝트를 생성 할 수 있습니다.

    프로젝트의 루트 디렉토리 안에는 Gradle 빌드 스크립트 파일이 위치합니다.

    • build.gradle
    • 또는 build.gradle.kts

    빌드 스크립트에서는 프로젝트에 대한 태스크, 라이브러리 의존성, 플러그인과 같은 구성을 DSL로 작성 할 수 있습니다.

    용어 정리: 태스크

    태스크는 컴파일, Unit 테스트 실행과 같은 작업을 실행하기 위한 코드로 구성됩니다.

    태스크를 사용하면 프로젝트가 빌드되는 과정에서 필요한 작업을 구체화 할 수 있습니다.

    용어 정리: 빌드

    빌드는 Gradle 프로젝트가 태스크를 실행하는 과정입니다.

    Gradle은 빌드 과정에서 어떤 태스크를 실행 할 것인지 구성 할 수 있습니다.

    빌드 과정에서 테스트 코드가 실행되거나, 다른 서비스와 연계해야 하는 태스크 등이 포함 될 수 있습니다.

    정리 및 복습

    • Gradle은 DSL 기반의 오픈 소스 빌드 자동화 도구입니다.
    • 여러 언어와 IDE에서 호환되며, 호환 IDE를 사용하면 Gradle 프로젝트 관리에 필요한 인터페이스를 제공 받을 수 있습니다.
    • Gradle이 빌드하는 단위는 프로젝트이며, 프로젝트의 루트 디렉토리에는 build.gradle 또는 build.gradle.kts 빌드 스크립트가 포함됩니다.
    • Gradle 프로젝트에서는 종속성을 관리하고, 필요한 태스크를 작성하여 빌드에 포함 시킬 수 있습니다.