SlideShare uma empresa Scribd logo
1 de 27
무식하게 배우는 gradle
SpringCamp 2013 with Scala

김지헌 , 소프트웨어 인 라이프
gradle 은 어디에 쓰는 녀석인고 ?

무식하게 배우는 gradle
gradle== 빌드툴 build-tool

무식하게 배우는 gradle
그런데 ... 빌드 build 가 뭐에요 ?
의존성 라이브러리

작성코드

컴파일 Compile

패키징 Packaging

무식하게 배우는 gradle
그렇다면 , 빌드툴 build-tool 은 ...?

무식하게 배우는 gradle
빌드툴 build-tool

무식하게 배우는 gradle
gradle 의 특징
●

Groovy 기반의 DSL 채용

●

Java, Groovy, OSGi, Web and Scala 프로젝트에 대한 빌드관례 제공

●

선언적인 언어의 특징을 활용한 필요에 따라 프로그래밍적인 빌드 스크립트 작성

●

개발자가 필요한 빌드 로직을 조합해서 사용가능

●

깊은 API 를 제공

●

뛰어난 확장성

●

멀티 프로젝트 빌드

●

의존성을 관리하는 다양한 방법을 제공

●

최고의 빌드 툴

●

쉬운 이주

●

빌드스크립트는 XML 이 아닌 Groovy 로 작성한다 .

●

Gradle wrapper 를 통해서 gradle 이 설치되지 않은 환경에서도 빌드 가능

●

무료이고 오픈소스 !

무식하게 배우는 gradle
gradle 의 인기비결 ?
프로그래밍 기법 활
용
빌드스크립트 작성
Groovy 기반
DSL 채용

강력
한 빌
드

멀티프로젝
트 관리 용
이

무식하게 배우는 gradle
Rocking the gradle!

무식하게 배우는 gradle
Step00: gradle 설치
다운로드

압축해제 / 이동

환경설정

실행

무식하게 배우는 gradle
Step01: 프로젝트 생성 setupBuild

$ gradle setupBuild

무식하게 배우는 gradle
Step01: 프로젝트 생성 setupBuild

$ gradle setupBuild
--type java-library
gradle setupBuild 지원타입
–

basic

–

pom

–

java-library
무식하게 배우는 gradle
Step02: 환경설정

build.gradle

무식하게 배우는 gradle
Step03: 태스크 Task

$ ./gradlew tasks

무식하게 배우는 gradle
Step04: 테스트 Test

$ ./gradlew test

무식하게 배우는 gradle
Step05: 이클립스 설정

$ ./gradlew eclipse

무식하게 배우는 gradle
Step06: 멀티프로젝트 전환

rocking-core

Rocking-the-gradle

rocking-web

무식하게 배우는 gradle
Step06: 멀티프로젝트 전환
rocking-the-gradle

rocking-core

rocking-web

무식하게 배우는 gradle
Step07: build.gradle 중복 제거
allprojects

rocking-the-gradle

subprojects

rocking-core

rocking-web

무식하게 배우는 gradle
Step07: 프로젝트 의존성 지정
dependencies {
...
compile project(‘:rocking-core’)
…

}

무식하게 배우는 gradle
Step07: 프로젝트 의존성 지정
rocking-the-gradle

rocking-core

rocking-web
Dependency

무식하게 배우는 gradle
Step08: 의존성 라이브러리 지정
dependencies {
...
configurationName ‘groupId:artifactId:version’
…

}

무식하게 배우는 gradle
Bonus: repository 탐색팁

http://search.maven.org

무식하게 배우는 gradle
Bonus: Gradle Wrapper

Gradle wrapper

무식하게 배우는 gradle
참고문헌
●

Gradle site
–

●

Gradle DSL Reference
–

●

http://wiki.kwonnam.pe.kr/gradle

github:rocking-the-gradle
–

●

http://www.gradle.org/docs/current/dsl/

손권남님 gradle wiki
–

●

http://www.gradle.org

https://github.com/ihoneymon/rocking-the-gradle

github:rest-api-study
–

https://github.com/ihoneymon/rest-api-study

무식하게 배우는 gradle
Q&A
Email: ihoneymon@gmail.com
Twitter: @ihoneymon
Blog: http://java.ihoney.pe.kr

무식하게 배우는 gradle
Event Question!!

gradle setupBuild 지원타입 세가지는 !?
gradle setupBuild 지원타입
–

basic

–

pom

–

java-library

무식하게 배우는 gradle

Mais conteúdo relacionado

Mais procurados

Gradle 사용하기
Gradle 사용하기Gradle 사용하기
Gradle 사용하기jiseob kim
 
ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자Sewon Ann
 
[세미나] 20160520 Gradle
[세미나] 20160520 Gradle[세미나] 20160520 Gradle
[세미나] 20160520 GradleSanghoon Yoon
 
[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project
[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project
[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java ProjectJi-Woong Choi
 
[TECHCON 2019: MOBILE - Android]4.쪼개지고 나누어지는 안드로이드
[TECHCON 2019: MOBILE - Android]4.쪼개지고 나누어지는 안드로이드[TECHCON 2019: MOBILE - Android]4.쪼개지고 나누어지는 안드로이드
[TECHCON 2019: MOBILE - Android]4.쪼개지고 나누어지는 안드로이드NAVER Engineering
 
Modern Android App Development
Modern Android App DevelopmentModern Android App Development
Modern Android App DevelopmentChi Hwan Choi
 
이클립스 플랫폼
이클립스 플랫폼이클립스 플랫폼
이클립스 플랫폼Kenu, GwangNam Heo
 
안드로이드 빌드 with Gradle
안드로이드 빌드 with Gradle안드로이드 빌드 with Gradle
안드로이드 빌드 with Gradlehaesunglee5
 
[TECHCON 2019: MOBILE - Android]7.20분만에 만들어보는 라이브 방송 앱
[TECHCON 2019: MOBILE - Android]7.20분만에 만들어보는 라이브 방송 앱[TECHCON 2019: MOBILE - Android]7.20분만에 만들어보는 라이브 방송 앱
[TECHCON 2019: MOBILE - Android]7.20분만에 만들어보는 라이브 방송 앱NAVER Engineering
 
[자바카페] 미니 세미나 ProGuard
[자바카페] 미니 세미나 ProGuard[자바카페] 미니 세미나 ProGuard
[자바카페] 미니 세미나 ProGuardChi Hwan Choi
 
Spring Boot + React + Gradle in VSCode
Spring Boot + React + Gradle in VSCodeSpring Boot + React + Gradle in VSCode
Spring Boot + React + Gradle in VSCodedpTablo
 
Gradle 한번 살펴보기
Gradle 한번 살펴보기Gradle 한번 살펴보기
Gradle 한번 살펴보기Junseo Youn
 
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료지원 정
 
Angular Seminar [한빛미디어 리얼타임 세미나]
Angular Seminar [한빛미디어 리얼타임 세미나]Angular Seminar [한빛미디어 리얼타임 세미나]
Angular Seminar [한빛미디어 리얼타임 세미나]Woojin Joe
 
Welcome to Android Studio
Welcome to Android StudioWelcome to Android Studio
Welcome to Android StudioWonKyun Lim
 

Mais procurados (19)

Gradle 사용하기
Gradle 사용하기Gradle 사용하기
Gradle 사용하기
 
ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자
 
[세미나] 20160520 Gradle
[세미나] 20160520 Gradle[세미나] 20160520 Gradle
[세미나] 20160520 Gradle
 
[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project
[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project
[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project
 
[TECHCON 2019: MOBILE - Android]4.쪼개지고 나누어지는 안드로이드
[TECHCON 2019: MOBILE - Android]4.쪼개지고 나누어지는 안드로이드[TECHCON 2019: MOBILE - Android]4.쪼개지고 나누어지는 안드로이드
[TECHCON 2019: MOBILE - Android]4.쪼개지고 나누어지는 안드로이드
 
Gradle 소개
Gradle 소개Gradle 소개
Gradle 소개
 
Modern Android App Development
Modern Android App DevelopmentModern Android App Development
Modern Android App Development
 
이클립스 플랫폼
이클립스 플랫폼이클립스 플랫폼
이클립스 플랫폼
 
안드로이드 빌드 with Gradle
안드로이드 빌드 with Gradle안드로이드 빌드 with Gradle
안드로이드 빌드 with Gradle
 
[TECHCON 2019: MOBILE - Android]7.20분만에 만들어보는 라이브 방송 앱
[TECHCON 2019: MOBILE - Android]7.20분만에 만들어보는 라이브 방송 앱[TECHCON 2019: MOBILE - Android]7.20분만에 만들어보는 라이브 방송 앱
[TECHCON 2019: MOBILE - Android]7.20분만에 만들어보는 라이브 방송 앱
 
[자바카페] 미니 세미나 ProGuard
[자바카페] 미니 세미나 ProGuard[자바카페] 미니 세미나 ProGuard
[자바카페] 미니 세미나 ProGuard
 
Spring Boot + React + Gradle in VSCode
Spring Boot + React + Gradle in VSCodeSpring Boot + React + Gradle in VSCode
Spring Boot + React + Gradle in VSCode
 
Gradle 한번 살펴보기
Gradle 한번 살펴보기Gradle 한번 살펴보기
Gradle 한번 살펴보기
 
Goorm소개
Goorm소개Goorm소개
Goorm소개
 
Dev team chronicles
Dev team chroniclesDev team chronicles
Dev team chronicles
 
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
 
Angular Seminar [한빛미디어 리얼타임 세미나]
Angular Seminar [한빛미디어 리얼타임 세미나]Angular Seminar [한빛미디어 리얼타임 세미나]
Angular Seminar [한빛미디어 리얼타임 세미나]
 
Welcome to Android Studio
Welcome to Android StudioWelcome to Android Studio
Welcome to Android Studio
 
Android QA Process
Android QA ProcessAndroid QA Process
Android QA Process
 

Semelhante a 무식하게 배우는 gradle

도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container DayAmazon Web Services Korea
 
[20140624]소개자료
[20140624]소개자료[20140624]소개자료
[20140624]소개자료유석 남
 
Gradle Kotlin 컨벤션 플러그인으로 효율적으로 멀티 모듈 관리하기
Gradle Kotlin 컨벤션 플러그인으로 효율적으로 멀티 모듈 관리하기Gradle Kotlin 컨벤션 플러그인으로 효율적으로 멀티 모듈 관리하기
Gradle Kotlin 컨벤션 플러그인으로 효율적으로 멀티 모듈 관리하기YoungjikYoon
 
격변하는 프로그래밍 언어, 이제는 Let it go
격변하는 프로그래밍 언어, 이제는 Let it go격변하는 프로그래밍 언어, 이제는 Let it go
격변하는 프로그래밍 언어, 이제는 Let it goChris Ohk
 
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기MinGeun Park
 
RakunStudio 완료 발표 자료
RakunStudio 완료 발표 자료RakunStudio 완료 발표 자료
RakunStudio 완료 발표 자료Taehyuk Kwon
 
클라우드 IDE, 구름 프로젝트 | Devon 2012
클라우드 IDE, 구름 프로젝트 | Devon 2012클라우드 IDE, 구름 프로젝트 | Devon 2012
클라우드 IDE, 구름 프로젝트 | Devon 2012Daum DNA
 
Golang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchainGolang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchainNAVER Engineering
 
쉽게 풀어보는 WebGL
쉽게 풀어보는 WebGL쉽게 풀어보는 WebGL
쉽게 풀어보는 WebGLMyung Woon Oh
 
iinn studio for jQWidgets by iinnsoft
iinn studio for jQWidgets by iinnsoftiinn studio for jQWidgets by iinnsoft
iinn studio for jQWidgets by iinnsoftJeongWook Eom
 
[TECHCON 2019: MOBILE - iOS]2.들숨에 협업 날숨에 클린코드
[TECHCON 2019: MOBILE - iOS]2.들숨에 협업 날숨에 클린코드[TECHCON 2019: MOBILE - iOS]2.들숨에 협업 날숨에 클린코드
[TECHCON 2019: MOBILE - iOS]2.들숨에 협업 날숨에 클린코드NAVER Engineering
 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page ApplicationSangmin Yoon
 
우분투에서 안드로이드 개발환경 갖추기 ; 안드로이드 스튜디오
우분투에서 안드로이드 개발환경 갖추기 ; 안드로이드 스튜디오우분투에서 안드로이드 개발환경 갖추기 ; 안드로이드 스튜디오
우분투에서 안드로이드 개발환경 갖추기 ; 안드로이드 스튜디오Booseol Shin
 
LetsSwift(강민규스피커,안정민서포터).pptx
LetsSwift(강민규스피커,안정민서포터).pptxLetsSwift(강민규스피커,안정민서포터).pptx
LetsSwift(강민규스피커,안정민서포터).pptxssuser2601f7
 
Wildgoose 최종데모
Wildgoose 최종데모Wildgoose 최종데모
Wildgoose 최종데모KIM HEE JAE
 
20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf
20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf
20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf정민 안
 
코드 리뷰 시스템 소개
코드 리뷰 시스템 소개코드 리뷰 시스템 소개
코드 리뷰 시스템 소개Young-Ho Cha
 
20190615_코딩이랑무관합니다만_인프라와_데브옵스_그사이쯤
20190615_코딩이랑무관합니다만_인프라와_데브옵스_그사이쯤20190615_코딩이랑무관합니다만_인프라와_데브옵스_그사이쯤
20190615_코딩이랑무관합니다만_인프라와_데브옵스_그사이쯤BaeJunHyun
 

Semelhante a 무식하게 배우는 gradle (20)

도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
 
[20140624]소개자료
[20140624]소개자료[20140624]소개자료
[20140624]소개자료
 
Gradle Kotlin 컨벤션 플러그인으로 효율적으로 멀티 모듈 관리하기
Gradle Kotlin 컨벤션 플러그인으로 효율적으로 멀티 모듈 관리하기Gradle Kotlin 컨벤션 플러그인으로 효율적으로 멀티 모듈 관리하기
Gradle Kotlin 컨벤션 플러그인으로 효율적으로 멀티 모듈 관리하기
 
격변하는 프로그래밍 언어, 이제는 Let it go
격변하는 프로그래밍 언어, 이제는 Let it go격변하는 프로그래밍 언어, 이제는 Let it go
격변하는 프로그래밍 언어, 이제는 Let it go
 
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
 
RakunStudio 완료 발표 자료
RakunStudio 완료 발표 자료RakunStudio 완료 발표 자료
RakunStudio 완료 발표 자료
 
Goorm
GoormGoorm
Goorm
 
클라우드 IDE, 구름 프로젝트 | Devon 2012
클라우드 IDE, 구름 프로젝트 | Devon 2012클라우드 IDE, 구름 프로젝트 | Devon 2012
클라우드 IDE, 구름 프로젝트 | Devon 2012
 
Golang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchainGolang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchain
 
쉽게 풀어보는 WebGL
쉽게 풀어보는 WebGL쉽게 풀어보는 WebGL
쉽게 풀어보는 WebGL
 
iinn studio for jQWidgets by iinnsoft
iinn studio for jQWidgets by iinnsoftiinn studio for jQWidgets by iinnsoft
iinn studio for jQWidgets by iinnsoft
 
[TECHCON 2019: MOBILE - iOS]2.들숨에 협업 날숨에 클린코드
[TECHCON 2019: MOBILE - iOS]2.들숨에 협업 날숨에 클린코드[TECHCON 2019: MOBILE - iOS]2.들숨에 협업 날숨에 클린코드
[TECHCON 2019: MOBILE - iOS]2.들숨에 협업 날숨에 클린코드
 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page Application
 
우분투에서 안드로이드 개발환경 갖추기 ; 안드로이드 스튜디오
우분투에서 안드로이드 개발환경 갖추기 ; 안드로이드 스튜디오우분투에서 안드로이드 개발환경 갖추기 ; 안드로이드 스튜디오
우분투에서 안드로이드 개발환경 갖추기 ; 안드로이드 스튜디오
 
WebGL
WebGLWebGL
WebGL
 
LetsSwift(강민규스피커,안정민서포터).pptx
LetsSwift(강민규스피커,안정민서포터).pptxLetsSwift(강민규스피커,안정민서포터).pptx
LetsSwift(강민규스피커,안정민서포터).pptx
 
Wildgoose 최종데모
Wildgoose 최종데모Wildgoose 최종데모
Wildgoose 최종데모
 
20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf
20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf
20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf
 
코드 리뷰 시스템 소개
코드 리뷰 시스템 소개코드 리뷰 시스템 소개
코드 리뷰 시스템 소개
 
20190615_코딩이랑무관합니다만_인프라와_데브옵스_그사이쯤
20190615_코딩이랑무관합니다만_인프라와_데브옵스_그사이쯤20190615_코딩이랑무관합니다만_인프라와_데브옵스_그사이쯤
20190615_코딩이랑무관합니다만_인프라와_데브옵스_그사이쯤
 

무식하게 배우는 gradle