Prerequisites
Gradle requires Java JDK or JRE
in Mac
1 | brew tap caskroom/cask && # only if you didn't install cask |
###
install gradle
1 | brew install gradle |
Create new Gradle Project
Initialize
1 | gradle init |
Directory1
2
3
4
5
6
7
8├── build.gradle
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
└── settings.gradle
build.gradle: Gradle build script for configuring the current project
gradlew: Gradle wrapper script for unix-based system
gradle.bat: Gradle wrapper script for Windows
settings.gradle: Gradle settings script for configuring the Gradle build
Create a task
하나의 Project 는 여러개의 Task 를 포함하며, 각 Task 는 기본적인 연산을 수행한다.
Gradle 은 task 라이브러리들을 가지고 있으며, 이를 통해 프로젝트를 설정할 수 있다. 가령 COPY
라는 type 은 특정 파일을 특정 위치로 복사해 준다.
example) build.gradle
1 | task copy(type: Copy, group: "Custom", description: "Copies sources to the dest directory") { |
여기서 group 과 description 은 하드코드된 값으로 프로그래머가 원하는 값을 지정하면 된다.
실행하기
1 | ./gradlew copy |
Apply a plugin
Gradle 에는 다양한 종류의 plugin 이 존재한다.
예를 들어 base
플러그인의 Zip
type을 활용하여 zip archive 를 생성할 수 있다.
1 | plugins{ |
실행
./gradlew zip
Command
Show tasks
아래 명령어를 통해 존재하는 task 들을 확인할 수 있다.
task 들은 group 별로 정렬되어 나타나며, 각 task 마다의 description 이 명시되어 있다.
1 | ./gradlew tasks |
Analyze and debug build
gradle 은 build scan 이라는 웹 기반의 build 상태 확인을 제공한다.
아래 명령어는 gradle 에서 확인한다.
example)
1 | ./gradlew zip --scan |
Discover available properties
아래 명령어를 통해 gradle 의 다양한 property 들을 확인할 수 있다.
property들이란 gradle 을 통해 빌드하는 과정에서 설정되는 다양한 속성들을 의미하며, 가령 build directory, project directory 같은 중요한 사항들이 포함된다.
아래 명령어를 통해 property 들을 확인할 수 있다.
1 | ./gradlew properties |
The name
of the project matches the name of the folder by default. You can also specify group
and version
properties, but at the moment they are taking their default values, as is description
.
The buildFile
property is the fully-qualified path name to your build script, which resides in the projectDir
— by default.
You can change many of the properties. For example, you might try adding the following lines to your build script file, and re-execute gradle properties
.
Comments