mir.pe (일반/어두운 화면)
최근 수정 시각 : 2023-08-06 21:32:03

Gradle


그레이들
Gradle
파일:gradle-whole-logo.png
종류 빌드 도구
라이선스 아파치 라이선스 2.0
버전 7.0.2
홈페이지 파일:GitHub 아이콘.svg 파일:GitHub 아이콘 화이트.svg
1. 개요2. 빌드 파일
2.1. build.gradle (Groovy)2.2. build.gradle.kts (Kotlin)2.3. 플러그인
2.3.1. 바이너리 플러그인 적용법
2.3.1.1. 코어 플러그인 적용법2.3.1.2. 커뮤니티 플러그인 적용법

[clearfix]

1. 개요

오픈 소스 Maven의 장황한 설정 파일과 에러가 쉽게 나는 문제를 해결하기 위해서 만들어졌다. Groovy 기반의 빌드 도구로 안드로이드 스튜디오의 공식 빌드 도구이기도 하다.

지원하는 언어들로는 Java, Groovy, Kotlin 등이 있다.

build.gradle 파일에서 사용할 라이브러리를 지정할 수 있다.
Maven이랑 다른점으로는 라이브러리 파일을 무려 코드로 쓸 수 있다.

2. 빌드 파일

2.1. build.gradle (Groovy)

#!syntax java
// 자바를 컴파일하기 위해 java plugin을 설정한다. 
apply plugin: 'java' 
// application으로 컴파일하기 위해 설정한다. 
apply plugin: 'application' 

//저장소를 입력하는 섹션이다. 주로 Maven의 저장소를 그대로 사용한다.
repositories { 
    mavenCentral()
}
//종속성을 입력하는 섹션이다. 기존에는 compile이 있었으나 3.0버전부터 deprecated 되었다.
dependencies {
    //'group:name:version' 순으로 적는다. group: 'junit', name: 'junit', version: '4.12'식으로도 가능하다.
    api 'com.google.guava:guava:22.0' //간접 의존, 직접 의존하는 모든 모듈을 rebuild 한다
    implementation 'junit:junit:4.12' //직접 의존하는 모듈만 rebuild 한다.
} 
application {
    // 메인 class의 위치와 이름을 적는다.
    mainClass = 'package.name.AppClass'
}

2.2. build.gradle.kts (Kotlin)

#!syntax java
// 자바를 컴파일하기 위해 java plugin을 설정한다. 
apply(plugin = "java")
// application으로 컴파일하기 위해 설정한다. 
apply(plugin = "application")

//저장소를 입력하는 섹션이다. 주로 Maven의 저장소를 그대로 사용한다.
repositories { 
    mavenCentral()
}
//종속성을 입력하는 섹션이다. 기존에는 compile이 있었으나 3.0버전부터 deprecated 되었다.
dependencies {
    //'group:name:version' 순으로 적는다. group: 'junit', name: 'junit', version: '4.12'식으로도 가능하다.
    api("com.google.guava:guava:22.0") //간접 의존, 직접 의존하는 모든 모듈을 rebuild 한다
    implementation("junit:junit:4.12") //직접 의존하는 모듈만 rebuild 한다.
} 

application {
    // 메인 class의 위치와 이름을 적는다.
    mainClass.set("package.name.AppClass")
}

2.3. 플러그인

Gradle 프로젝트에 더 도움을 줄 수 있도록 플러그인을 적용 할 수 있다.

플러그인은 Binary Plugin[1]이나 Script Plugin[2]으로 나눌 수 있다.

2.3.1. 바이너리 플러그인 적용법

2.3.1.1. 코어 플러그인 적용법
코어 플러그인이란 Gradle에 내장된 기본 플러그인이다.

코어 플러그인으로는 application, java 같은 게 있다.
[Groovy]
#!syntax java
plugins {
    id 'java'
}

[Kotlin]
#!syntax java
plugins {
    java
    // 참고로 Kotlin에서 이용하는 키워드라면 앞뒤에 `를 추가해야합니다.
}

2.3.1.2. 커뮤니티 플러그인 적용법
여기서 말하는 커뮤니티 플러그인이란 Plugin Portal에 저장된 플러그인을 말한다.

[Groovy]
#!syntax java
plugins {
    id 'com.jfrog.bintray' version '1.8.5'
}

[Kotlin]
#!syntax java
plugins {
    id("com.jfrog.bintray") version "1.8.5"
}

[1] Plugin 인터페이스를 상속하는 플러그인 [2] 다른 빌드 파일을 이용한 플러그인