Home Gradle
Post
Cancel

Gradle

Gradle docs 1를 보고 정리한 내용

Gradle이란?

JVM에서 실행되는 오픈소스 빌드 자동화 도구이다.
JVM에서 실행되기 때문에 build 과정에서 standard Java API를 사용할 수 있다.
따라서 Java, Kotlin 사용자에게 유리하고 자연스럽게 JVM기반 언어진영에서 많이 사용되고 있다.

Gradle에서 사용되는 용어에 대한 설명이다.

Project

Gradle가 build할 프로젝트를 의미하며 프로젝트의 루트 폴더의 경로에 build.gradle 또는 build.gradle.kts 빌드 스크립트 파일이 존재한다.
빌드 스크립트에는 tasks, dependencies, plugins 등 해당 프로젝트에 대한 여러 빌드 설정이 포함된다.

Tasks

코드 컴파일, 테스트 실행, 배포 등과 같은 일련의 작업단위를 의미한다.
Tasks는
파일복사, 소스 컴파일과 같은 작업을 의미하는 Actions
Actions이 수행되는 파일이나 경로를 나타내는 Inputs
Actions을 통해 나온 결과물에 대한 파일 또는 경로를 지정하는 Outputs 3개로 구성되어있다.

Plugins

말그대로 빌드과정에 기능을 추가할 수 있는 플러그인을 의미한다.
스프링부트 플리그인을 사용하면 빌드 과정에서 Spring 웹 애플리케이션에 대한 빌드를 할 수 있고
Jacoco 플러그인을 추가해서 빌드 과정에서 코드 커버리지 분석을 빌드 과정에 추가한다거나,
SonarQube 플러그인을 추가해서 소스 코드 정적 분석을 빌드 과정에 추가한다거나 할 수 있다. 또한 Spring의 멀티모듈 구조와 같이 서브 프로젝트에 대해 중복되는 빌드 로직이나 task 등을 한곳에서 관리하도록 해준다.

Build Phases

1.Initialization build.gradle과 같은 빌드 스크립트 파일을 찾고 어떤 프로젝트가 빌드에 포함되는지 확인한다.

2.Configuration Initialization 단계에서 확인된 프로젝트들에 대해 빌드 스크립트내에 정의되어있는 수행할 tasks, 설정들을 추가한다.
Configuration 단계가 종료되면, Gradle은 수행해야할 tasks에 대한 실행계획(graph)를 완성한다.

3.Execution Configuration 단계에서 설정된 tasks를 수행한다.

기본 명령어

실제 사용시에는 유연하게 gradle 버전을 관리할 수 있는 gradlew(gradle wrapper) 사용이 권장된다.

build

build 실행

1
$ gradle build

run

application 또는 binary 실행

1
$ gradle run

test

테스트 실행

1
$ gradle test

check

프로젝트의 모든 tasks 검증
build 명렁에서 하는 모든 작업을 다하고 마지막으로 jar 파일 생성과 같은 Output 작업만 하지 않는다.

1
$ gradle check

clean

build 결과 삭제

1
$ gradle clean

projects

서브 프로젝트를 포함한 프로젝트 리스팅

1
$ gradle projects

tasks

tasks 리스팅

1
$ gradle tasks
This post is licensed under CC BY 4.0 by the author.

JUnit

mysql 유저 생성 및 권한 부여