2021.04.06 - [프로그래밍 노트/빌드도구] - [Gradle] 그레들 빌드시작하기 - 그루비(Groovy) 기본 문법
2021.04.06 - [프로그래밍 노트/빌드도구] - [Gradle] 그레들이란? 그레들 특징, 그레들 vs 메이븐
빌드 스크립트 작성과 실행
그레들과 친해지기 위해서 간단하게 빌드 스크립트를 작성해보자.
특별한 지정이 없는 한 빌드 스크립트의 기본 파일명은 build.gradle 이다.
build.gradle
task hello{ // hello 라는 태스크 정의
println "Hello Gradle World!!" // {} 안에 처리내용 기술
}
$gradle hello 를 실행하면, 빌드 결과를 확인할 수 있다.
$ gradle hello
:hello // hello 태스크 실행
Hello Gradle World!! // hello 태스크 실행 결과
BUILD SUCCESSFUL // 빌드 성공 여부
Total time: 2.211 secs // 빌드 소요 시간
한글 주석 오류 발생 시
-Dfile.encoding=UTF-8 을 이용해서 인코딩을 명시적으로 지정해야 한다. (1.x 버전)
내장 태스크
빌드 스크립트에 아무것도 작성하지 않아도 사용할 수 있는 태스크가 있는데, 이를 내장 태스크(built-in tasks)라고 한다.
태스크 목록은 gradle tasks로 확인할 수 있으며, 내장 태스크와 명시적으로 정의한 ㅌ태스크가 태스크 그룹 별로 표시되는 것을 볼 수 있다.
$ gradle tasks
> Configure project :
Hello Gradle!
> Task :tasks
------------------------------------------------------------
Tasks runnable from root project 'FIRST_GRADLE'
------------------------------------------------------------
Build Setup tasks
-----------------
init - Initializes a new Gradle build.
wrapper - Generates Gradle wrapper files.
Help tasks
----------
buildEnvironment - Displays all buildscript dependencies declared in root project 'FIRST_GRADLE'.
dependencies - Displays all dependencies declared in root project 'FIRST_GRADLE'.
dependencyInsight - Displays the insight into a specific dependency in root project 'FIRST_GRADLE'.
help - Displays a help message.
javaToolchains - Displays the detected java toolchains. [incubating]
outgoingVariants - Displays the outgoing variants of root project 'FIRST_GRADLE'.
projects - Displays the sub-projects of root project 'FIRST_GRADLE'.
properties - Displays the properties of root project 'FIRST_GRADLE'.
tasks - Displays the tasks runnable from root project 'FIRST_GRADLE'.
To see all tasks and more detail, run gradle tasks --all
To see more detail about a task, run gradle help --task <task>
BUILD SUCCESSFUL in 3s
1 actionable task: 1 executed
예를 들어 init 태스크는 Build Setup tasks 그룹에 속하며 빌드를 초기화하는 태스크이다. 위의 예제는 아무 플러그인도 적용하지 않은 상태이며, 플러그인을 추가하면 태스크도 추가된다는 것을 알아두자!!
자주 사용하는 태스크로 gradle properties가 있다. 빌드 스크립트에 정의된 속성 목록을 표시한느 태스크이다.
gradle properties
$ gradle properties
BUILD SUCCESSFUL in 3s
1 actionable task: 1 executed
sunghyunui-MacBook-Pro:FIRST_GRADLE sunghyun$ gradle properties
> Configure project :
Hello Gradle!
> Task :properties
------------------------------------------------------------
Root project 'FIRST_GRADLE'
------------------------------------------------------------
allprojects: [root project 'FIRST_GRADLE']
ant: org.gradle.api.internal.project.DefaultAntBuilder@4fdbad83
antBuilderFactory: org.gradle.api.internal.project.DefaultAntBuilderFactory@5088514b
artifacts: org.gradle.api.internal.artifacts.dsl.DefaultArtifactHandler_Decorated@7b405786
asDynamicObject: DynamicObject for root project 'FIRST_GRADLE'
baseClassLoaderScope: org.gradle.api.internal.initialization.DefaultClassLoaderScope@19bd33a3
buildDir: /Users/sunghyun/gradle/FIRST_GRADLE/build
buildFile: /Users/sunghyun/gradle/FIRST_GRADLE/build.gradle
...
자신이 설정한 속성뿐만 아니라 플러그인이 암묵적으로 설정한 속성 이름과 내용도 확인할 수 있다.
출처 : Gradle 철저 입문
'프로그래밍 노트 > 빌드도구' 카테고리의 다른 글
빌드툴이란 무엇인가? (feat. Gradle) (0) | 2022.08.11 |
---|---|
[Gradle] 그레들 빌드시작하기 - 그루비(Groovy) 기본 문법 (0) | 2021.04.06 |
[Maven] Maven Resources Plugin (0) | 2020.09.01 |
[Maven] 메이븐 모듈 (0) | 2019.07.11 |
[Maven] 메이븐 프로파일_1 (0) | 2019.05.02 |