[Gradle]그래들 알아보기 7 - Task Basics
SW개발/Spring

[Gradle]그래들 알아보기 7 - Task Basics

https://docs.gradle.org/current/userguide/task_basics.html

 

Task Basics

A task represents some independent unit of work that a build performs, such as compiling classes, creating a JAR, generating Javadoc, or publishing archives to a repository. You run a Gradle build task using the gradle command or by invoking the Gradle Wra

docs.gradle.org

 

Task Basics

태스크는 클래스 컴파일, JAR 생성, Javadoc 생성, 레포지토리에 아카이브 등 작업을 수행하는 독립적인 단위를 나타냅니다.

 

 

그래들 래퍼의 build 태스크를 다음과 같이 수행할 수 있습니다.

$ ./gradlew build

 

Available tasks

프로젝트에서 사용 가능한 모든 태스크는 그래들 플러그인 및 빌드 스크립트에서 제공됩니다.

다음의 명령어를 통해 프로젝트에서 사용가능한 모든 태스크 목록을 확인할 수 있습니다.

$ ./gradlew tasks

Application tasks
-----------------
run - Runs this project as a JVM application

Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.

...

Documentation tasks
-------------------
javadoc - Generates Javadoc API documentation for the main source code.

...

Other tasks
-----------
compileJava - Compiles main Java source.

...

 

Running tasks

./gradlew run 명령어를 입력하면 run 태스크를 실행할 수 있습니다.

$ ./gradlew run

> Task :app:compileJava
> Task :app:processResources NO-SOURCE
> Task :app:classes

> Task :app:run
Hello World!

BUILD SUCCESSFUL in 904ms
2 actionable tasks: 2 executed

run 태스크를 실행하면 콘솔에 예제 자바 프로젝트의 Hello World가 출력된 것을 확인할 수 있습니다.

 

Task Depedency

많은 상황에서 태스크를 실행하려면 선행되어야 하는 태스크가 있습니다.

예를 들어, build 태스크를 실행하기 위해서는 Java 코드 컴파일이 먼저 수행되어야 합니다. 그래서 build 태스크는 compileJava 태스크에 의존합니다.

 

build 태스크가 실행되기 전 compileJava 태스크가 실행되는 상황을 보여줍니다.

$ ./gradlew build

> Task :app:compileJava
> Task :app:processResources NO-SOURCE
> Task :app:classes
> Task :app:jar
> Task :app:startScripts
> Task :app:distTar
> Task :app:distZip
> Task :app:assemble
> Task :app:compileTestJava
> Task :app:processTestResources NO-SOURCE
> Task :app:testClasses
> Task :app:test
> Task :app:check
> Task :app:build

BUILD SUCCESSFUL in 764ms
7 actionable tasks: 7 executed

빌드 스크립트에서 태스크 의존성을 선택적으로 적용할 수 있습니다. 그래들은 이를 자동적으로 탐지하고 태스크 실행 순서를 결정합니다.

 

728x90