스프링개발자/201 - 일반
12. 그레이들 task 간단히 만들기 - 튜토리얼
2ndPrince
2020. 7. 22. 09:17
[배경]
스프링 개발자라면 maven과 gradle 중에 하나를 빌드 툴로 사용하게 된다.
필요한 외부의 라이브러리(의존성)들을 쉽고 빠르게 import할 수 있다.
본 글은 아래의 gradle의 공식 튜토리얼 문서를 참고 했다.
https://docs.gradle.org/current/userguide/tutorial_using_tasks.html#tutorial_using_tasks
1. Hello World
`build.gradle` 파일이 핵심 파일이다. 프로젝트 의존성을 관리할 수 있고, task또한 추가 할 수 있어서이다.
Everything in Gradle sits on top of two basic concepts: projects and tasks.
Gradle에 있는 모든 것들은 결국 `프로젝트`와 `Task`이 두개의 개념으로 설명된다.
파일에 간단한 task하나를 추가하자
task hello {
doLast {
println 'Hello world!'
}
}
윈도우라면 gradle -q hello
맥(리눅스) 라면 gradlew -q hello를 터미널에서 실행해보자
2. Build scripts are code
빌드할때 코딩을 쓴다
task upper {
doLast {
String someString = 'mY_nAmE'
println "Original: $someString"
println "Upper case: ${someString.toUpperCase()}"
}
}
결과값 =>
task count {
doLast {
4.times { print "$it " }
}
}
결과값 =>
3. Task dependencies
Task간에 의존성이 있다. 앞서 만든 hello 를 호출한다. dependsOn 키워드.
task intro {
dependsOn hello
doLast {
println "I'm Gradle"
}
}
결과값 =>
4. Extra task properties
튜토리얼 문서에 보면 몇가지 섹션이 더 있지만, 생략하고 이걸로 마지막.
task myTask {
ext.myProperty = "myValue"
}
task printTaskProperties {
doLast {
println myTask.myProperty
}
}
myTask에서 ext 객체를 통해 값을 설정하면, 다른 task에서도 접근이 가능하다는 원리다.
결과값은 다음과 같다 =>
다음시간에는 튜토리얼이 아닌, 프로젝트에 도움이 되는 task를 만들자