목차

Gradle

설치

export GRADLE_OPTS="-Dfile.encoding=UTF-8 -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=256m"
# Gradle의 의존성 jar 파일이나 기타 파일들을 저장하는 저장소. 기본은 $HOME/.gradle
export GRADLE_USER_HOME="..."

실행속도 높이기

스크립트에서 사용할 인증 정보 분리해두기

build Init

명령 실행과 옵션

빌드 정보 확인

태스크 튜토리얼

Java 개발하기

다음 java 개발 관련 항목들을 읽어본다.

DSL

Project 객체의 기본 프라퍼티들

변수 선언

스크립트 컴파일

이것 저것

디렉토리 생성

classesDir = new File('build/classes')
task resources << {
    classesDir.mkdirs()
    // do something
}
task compile(dependsOn: 'resources') << {
    if (classesDir.isDirectory()) {
        println '필요한 디렉토리가 존재하네요.'
    }
    // do something
}

Gradle 프라퍼티와 시스템 프라퍼티

프로젝트 프라퍼티 검사

외부 빌드 스크립트로 프로젝트 구성하기

외부 *.gradle 빌드 스크립트를 만들어서 불러올 수 있다.

임의의 객체 구성하기

configure 메소드로 임의의 객체를 구성할 수 있다.

외부 스크립트로 임의의 객체 구성하기

외부 빌드 스크립트에서 메소드 선언 노출시키기

// Define methods as usual
def commonMethod1(param) {
    return true
}
def commonMethod2(param) {
    return true
}

// Export methods by turning them into closures
ext {
    commonMethod1 = this.&commonMethod1
    otherNameForMethod2 = this.&commonMethod2
}

// -- 실제 build.gradle 에서는
apply from: "$rootDir/helpers/common-methods.gradle"


task myBuildTask {    
    def myVar = commonMethod1("parameter1")
    otherNameForMethod2(myVar)    
}

캐싱 cache

Gradle은 컴파일한 스크립트를 캐싱한다. 프로젝트에서 처음으로 빌드를 실행하면 .gradle 디렉토리가 만들어지고 거기에 컴파일된 스크립트가 들어간다. 다음에 다시 빌드를 실행하면 스크립트에 변경이 없다면 컴파일 해뒀던 것을 실행한다. 그렇지 않으면 재 컴파일을 하고 캐시에 새로운 버전이 들어간다. --recompile-scripts 옵션으로 실행하면 캐시를 삭제하고 모두 다시 컴파일해서 캐시에 새로 저장한다.

자세히 살펴보기

Plugins

읽을꺼리