gradle

Gradle 입문 가이드: 기본 개념과 프로젝트 구조 이해하기

ai-one 2025. 4. 29. 23:52

Gradle 입문 가이드: 기본 개념과 프로젝트 구조 이해하기

안녕하세요, 개발자 여러분! 오늘부터 3일 동안 Gradle에 대한 기초부터 심화 내용까지 차근차근 알아보는 시리즈를 시작합니다. 첫 번째 포스팅에서는 Gradle의 기본 개념과 프로젝트 구조에 대해 살펴보겠습니다.

Gradle이란 무엇인가?

Gradle은 강력한 오픈 소스 빌드 자동화 도구로, Java, Kotlin, Groovy, C++, Swift 등 다양한 언어의 프로젝트를 빌드, 테스트, 배포할 수 있게 해줍니다. Gradle은 특히 Android 앱 개발에서 공식 빌드 시스템으로 채택되어 널리 사용되고 있습니다.

Gradle의 주요 특징:

  • 유연성: 빌드 스크립트를 Groovy 또는 Kotlin DSL로 작성 가능
  • 성능: 증분 빌드와 빌드 캐시를 통해 빌드 속도 최적화
  • 확장성: 풍부한 플러그인 에코시스템
  • 의존성 관리: Maven, Ivy 등과 호환되는 강력한 의존성 관리 기능

Gradle의 핵심 개념

Gradle을 이해하기 위해 알아야 할 핵심 개념들이 있습니다:

1. 프로젝트(Projects)

프로젝트는 빌드할 수 있는 소프트웨어의 한 단위입니다. 단일 프로젝트 빌드에서는 루트 프로젝트 하나만 있고, 멀티 프로젝트 빌드에서는 루트 프로젝트와 여러 개의 서브프로젝트가 존재합니다.

2. 빌드 스크립트(Build Scripts)

빌드 스크립트는 Gradle에게 프로젝트를 어떻게 빌드할지 알려주는 지침서입니다. 각 프로젝트는 하나 이상의 빌드 스크립트를 포함할 수 있습니다.

3. 의존성과 의존성 관리(Dependencies and Dependency Management)

의존성 관리는 프로젝트에 필요한 외부 리소스를 선언하고 해결하는 자동화된 기법입니다. 각 프로젝트는 Gradle이 빌드 중에 해결하는 여러 의존성을 포함할 수 있습니다.

4. 태스크(Tasks)

태스크는 코드 컴파일이나 테스트 실행과 같은 기본 작업 단위입니다. 각 프로젝트는 빌드 스크립트나 플러그인 내에 정의된 하나 이상의 태스크를 포함합니다.

5. 플러그인(Plugins)

플러그인은 Gradle의 기능을 확장하는 데 사용됩니다. 플러그인은 프로젝트에 태스크를 선택적으로 기여할 수 있습니다.

Gradle 프로젝트 구조

Gradle 프로젝트는 다음과 같은 구조를 가집니다:

project
├── gradle                 # 1. Gradle 디렉토리 (래퍼 파일 및 기타 저장)
│   ├── libs.versions.toml # 2. 의존성 관리를 위한 Gradle 버전 카탈로그
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew                # 3. Gradle 래퍼 스크립트 - Gradle 프로젝트임을 나타냄!
├── gradlew.bat            # 3. Windows용 Gradle 래퍼 스크립트
├── settings.gradle(.kts)  # 4. 루트 프로젝트 이름과 서브프로젝트를 정의하는 Gradle 설정 파일
├── subproject-a
│   ├── build.gradle(.kts) # 5. 서브프로젝트 빌드 스크립트
│   └── src                # 6. 소스 코드
└── subproject-b
    ├── build.gradle(.kts) # 5. 서브프로젝트 빌드 스크립트
    └── src                # 6. 소스 코드

Gradle 래퍼(Wrapper)

Gradle 래퍼는 Gradle 빌드를 실행하는 데 권장되는 방법입니다. 래퍼는 선언된 버전의 Gradle을 호출하는 스크립트로, 팀의 모든 구성원이 동일한 Gradle 버전을 사용하도록 보장합니다.

  • macOS/Linux: ./gradlew 사용
  • Windows: gradlew.bat 사용

Gradle 호출하기

IDE에서

Gradle은 Android Studio, IntelliJ IDEA, Visual Studio Code, Eclipse, NetBeans 등 많은 IDE에 내장되어 있습니다. IDE에서 앱을 빌드, 정리 또는 실행할 때 Gradle을 자동으로 호출할 수 있습니다.

명령줄에서

Gradle이 설치되어 있다면 명령줄에서 직접 호출할 수 있습니다:

$ gradle build

하지만 대부분의 프로젝트는 설치된 Gradle 버전 대신 Gradle 래퍼를 사용합니다.

Gradle 래퍼 사용

래퍼는 선언된 버전의 Gradle을 호출하는 스크립트로, Gradle 빌드를 실행하는 데 권장되는 방법입니다:

$ ./gradlew build

다음 단계

이제 Gradle의 기본 개념과 프로젝트 구조에 대해 알아보았습니다.

#Gradle #BuildAutomation #DevOps #JavaDevelopment #BuildTools #DependencyManagement #ContinuousIntegration #GradleBasics #BuildSystem #SoftwareDevelopment