SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Gradle
2016.05.20
KAIST iDBLab
윤상훈
이 문서는 나눔글꼴로 작성되었습니다. 설치하기
1. Gradle이란?
2. Java Plugin
3. Demo
4. Android Library Example
5. Q&A
목차
1.1 페이지 제목
Gradle이란?
3 / 14
Gradle은 Groovy 스크립트 기반의 멀티 플랫폼 빌드툴이다.
• LinkedIn은 Java, Scala, Python, C/C++, Android, IOS 등 서로 다른 60개의 언어의 프로그램을 Gradle을 이용하여 빌드한
다.
• Android Studio, IntelliJ, Eclipse와 같은 다양한 IDE와 Chef, Docker등의 툴과 integration하는 수많은 plugin을 제공한다.
• Maven, Ivy, file dependency를 관리한다.
• Convention에 따른 빌드를 통해서 migration이 용이하다.
• Groovy 스크립트를 이용한 programmable한 빌드, 쉬운 extend.
• Incremental Build를 통해서 redundant한 작업을 없애서 빠른 빌드를 가능하게 한다.
• Gradle daemon을 이용하면 빠른 startup이 가능하다.
• Gradle wrapper를 이용해서 gradle이 설치가 되어 있지 않아도 빌드가 가능하다.
Maven보다 좋다!!
Path Convention
2.1 도형 4 / 14
Java Plugin
project-root/
- src/
- build.gradle
- gradlew (optional)
- gradlew.bat (optional)
- gradle/ (optional)
2.1 도형 5 / 14
Java Plugin
build.gradle
apply plugin: ‘java’
Terminal
$ gradle build
or
$ ./gradlew build
Init Java Library
2.1 도형 6 / 14
Java Plugin
Terminal
$ gradle init --type java-library
build.gradle
apply plugin: 'java’
repositories {
jcenter()
}
dependencies {
compile 'org.slf4j:slf4j-api:1.7.21’
testCompile 'junit:junit:4.12’
}
Gradle Init Demo
이 문서는 나눔글꼴로 작성되었습니다. 설치하기
Tasks
2.1 도형 8 / 14
Java Plugin
Customizing Project
2.1 도형 9 / 14
Java Plugin
build.gradle
apply plugin: 'java’
group = 'org.gradle.example’
version = '1.0.0’
sourceCompatibility = targetCompatibility = 1.7
repositories {
jcenter()
}
dependencies {
compile 'org.slf4j:slf4j-api:1.7.21’
testCompile 'junit:junit:4.12’
}
jar {
manifest {
attributes 'Main-Class': "${project.group}.App”
}
}
Multi-project
project-root/
- libraryProject
- sampleProject
- sample1
- sample2
2.1 도형 10 / 14
Java Plugin
build.gradle
subprojects {
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
testCompile 'junit:junit:4.12'
}
version = '1.0'
}
settings.gradle
include ‘libraryProject’, ‘sampleProject:sample1’, ‘sampleProject:sample2’
sampleProject/sample1/build.gradle
dependencies {
compile project(':libraryProject')
}
Smart IoT Demo
이 문서는 나눔글꼴로 작성되었습니다. 설치하기
1.1 페이지 제목
Android Library Example
12 / 14
GitHub - Simple Photo Picker
Q&A
이 문서는 나눔글꼴로 작성되었습니다. 설치하기
감사합니다
이 문서는 나눔글꼴로 작성되었습니다. 설치하기

Weitere ähnliche Inhalte

Was ist angesagt?

gradle로 안드로이드 앱 빌드하기
gradle로 안드로이드 앱 빌드하기gradle로 안드로이드 앱 빌드하기
gradle로 안드로이드 앱 빌드하기Manjong Han
 
그루비 소개 발표자료 - 김연수
그루비 소개 발표자료 - 김연수그루비 소개 발표자료 - 김연수
그루비 소개 발표자료 - 김연수Yeon Soo Kim
 
[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
 
ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자Sewon Ann
 
[자바카페] 미니 세미나 ProGuard
[자바카페] 미니 세미나 ProGuard[자바카페] 미니 세미나 ProGuard
[자바카페] 미니 세미나 ProGuardChi Hwan Choi
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationDonghyun Seo
 
개알못의 오픈소스이야기 - 이상준님
개알못의 오픈소스이야기 - 이상준님개알못의 오픈소스이야기 - 이상준님
개알못의 오픈소스이야기 - 이상준님NAVER D2
 
Cloud ide를 이용한_모바일_개발의_가능성과_전망
Cloud ide를 이용한_모바일_개발의_가능성과_전망Cloud ide를 이용한_모바일_개발의_가능성과_전망
Cloud ide를 이용한_모바일_개발의_가능성과_전망Sung-tae Ryu
 
CircleCI로 Serverless API의 CI/CD 환경 구축하기
CircleCI로 Serverless API의 CI/CD 환경 구축하기CircleCI로 Serverless API의 CI/CD 환경 구축하기
CircleCI로 Serverless API의 CI/CD 환경 구축하기Kyuhyun Byun
 
[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
 
예비 개발자를 위한 웹서비스 개발 방법론 특강 - 폴리텍대학교 강서캠퍼스
예비 개발자를 위한 웹서비스 개발 방법론 특강 - 폴리텍대학교 강서캠퍼스예비 개발자를 위한 웹서비스 개발 방법론 특강 - 폴리텍대학교 강서캠퍼스
예비 개발자를 위한 웹서비스 개발 방법론 특강 - 폴리텍대학교 강서캠퍼스시은 김
 
2020년 12월 20일 개발자 이야기
2020년 12월 20일 개발자 이야기2020년 12월 20일 개발자 이야기
2020년 12월 20일 개발자 이야기Jay Park
 
[오픈소스컨설팅]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
 
Jenkins with Unity3d & Android
Jenkins with Unity3d & Android Jenkins with Unity3d & Android
Jenkins with Unity3d & Android 종국 임
 
웹 IDE 비교
웹 IDE 비교웹 IDE 비교
웹 IDE 비교Junyoung Lee
 

Was ist angesagt? (19)

gradle로 안드로이드 앱 빌드하기
gradle로 안드로이드 앱 빌드하기gradle로 안드로이드 앱 빌드하기
gradle로 안드로이드 앱 빌드하기
 
그루비 소개 발표자료 - 김연수
그루비 소개 발표자료 - 김연수그루비 소개 발표자료 - 김연수
그루비 소개 발표자료 - 김연수
 
[TECHCON 2019: MOBILE - Android]4.쪼개지고 나누어지는 안드로이드
[TECHCON 2019: MOBILE - Android]4.쪼개지고 나누어지는 안드로이드[TECHCON 2019: MOBILE - Android]4.쪼개지고 나누어지는 안드로이드
[TECHCON 2019: MOBILE - Android]4.쪼개지고 나누어지는 안드로이드
 
Modern Android App Development
Modern Android App DevelopmentModern Android App Development
Modern Android App Development
 
이클립스 플랫폼
이클립스 플랫폼이클립스 플랫폼
이클립스 플랫폼
 
ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자
 
[자바카페] 미니 세미나 ProGuard
[자바카페] 미니 세미나 ProGuard[자바카페] 미니 세미나 ProGuard
[자바카페] 미니 세미나 ProGuard
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
개알못의 오픈소스이야기 - 이상준님
개알못의 오픈소스이야기 - 이상준님개알못의 오픈소스이야기 - 이상준님
개알못의 오픈소스이야기 - 이상준님
 
Cloud ide를 이용한_모바일_개발의_가능성과_전망
Cloud ide를 이용한_모바일_개발의_가능성과_전망Cloud ide를 이용한_모바일_개발의_가능성과_전망
Cloud ide를 이용한_모바일_개발의_가능성과_전망
 
CircleCI로 Serverless API의 CI/CD 환경 구축하기
CircleCI로 Serverless API의 CI/CD 환경 구축하기CircleCI로 Serverless API의 CI/CD 환경 구축하기
CircleCI로 Serverless API의 CI/CD 환경 구축하기
 
[TECHCON 2019: MOBILE - Android]7.20분만에 만들어보는 라이브 방송 앱
[TECHCON 2019: MOBILE - Android]7.20분만에 만들어보는 라이브 방송 앱[TECHCON 2019: MOBILE - Android]7.20분만에 만들어보는 라이브 방송 앱
[TECHCON 2019: MOBILE - Android]7.20분만에 만들어보는 라이브 방송 앱
 
예비 개발자를 위한 웹서비스 개발 방법론 특강 - 폴리텍대학교 강서캠퍼스
예비 개발자를 위한 웹서비스 개발 방법론 특강 - 폴리텍대학교 강서캠퍼스예비 개발자를 위한 웹서비스 개발 방법론 특강 - 폴리텍대학교 강서캠퍼스
예비 개발자를 위한 웹서비스 개발 방법론 특강 - 폴리텍대학교 강서캠퍼스
 
2020년 12월 20일 개발자 이야기
2020년 12월 20일 개발자 이야기2020년 12월 20일 개발자 이야기
2020년 12월 20일 개발자 이야기
 
Dev team chronicles
Dev team chroniclesDev team chronicles
Dev team chronicles
 
Goorm소개
Goorm소개Goorm소개
Goorm소개
 
[오픈소스컨설팅]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
 
Jenkins with Unity3d & Android
Jenkins with Unity3d & Android Jenkins with Unity3d & Android
Jenkins with Unity3d & Android
 
웹 IDE 비교
웹 IDE 비교웹 IDE 비교
웹 IDE 비교
 

Andere mochten auch

Gerencia y ciclo de vida de los proyectos
Gerencia y ciclo de vida de los proyectosGerencia y ciclo de vida de los proyectos
Gerencia y ciclo de vida de los proyectosmaria_nubia_aparicio
 
O Processo De Auto Avaliacao No Contexto Escola
O Processo De Auto Avaliacao No Contexto EscolaO Processo De Auto Avaliacao No Contexto Escola
O Processo De Auto Avaliacao No Contexto Escolacatiarodriguessousa
 
National Industrial Group
National Industrial GroupNational Industrial Group
National Industrial GroupDarrell Chapman
 
Posición CGT convenio 2015 2019 Bus TMB
Posición CGT convenio 2015 2019 Bus TMB Posición CGT convenio 2015 2019 Bus TMB
Posición CGT convenio 2015 2019 Bus TMB CGT BUS tmb
 
7 reasons to start your girlfriend getaways
7 reasons to start your girlfriend getaways7 reasons to start your girlfriend getaways
7 reasons to start your girlfriend getawaysEpic Girlfriend Getaways
 
RCMG Company Profile
RCMG Company Profile RCMG Company Profile
RCMG Company Profile George Clarke
 
jabones de glicerina normal superior 804
jabones de glicerina normal superior 804 jabones de glicerina normal superior 804
jabones de glicerina normal superior 804 Luisa Acuña
 
Герои М. А. Булгакова в скульптуре. Загадки и мистика.
Герои М. А. Булгакова в скульптуре. Загадки и мистика.Герои М. А. Булгакова в скульптуре. Загадки и мистика.
Герои М. А. Булгакова в скульптуре. Загадки и мистика.Elena Kandrushina
 
Villas in Pune for Sale
Villas in Pune for SaleVillas in Pune for Sale
Villas in Pune for SaleAnvita G
 
E.b.d adolescentes 1ºtrimestre 2017 lição 03
E.b.d   adolescentes 1ºtrimestre 2017 lição 03E.b.d   adolescentes 1ºtrimestre 2017 lição 03
E.b.d adolescentes 1ºtrimestre 2017 lição 03Joel Silva
 
Digital Marketing Diploma - Module 04: Search Engine Optimization ( SEO )
Digital Marketing Diploma - Module 04: Search Engine Optimization ( SEO )Digital Marketing Diploma - Module 04: Search Engine Optimization ( SEO )
Digital Marketing Diploma - Module 04: Search Engine Optimization ( SEO )Tamer Abdulbaky, MBA
 

Andere mochten auch (16)

Gerencia y ciclo de vida de los proyectos
Gerencia y ciclo de vida de los proyectosGerencia y ciclo de vida de los proyectos
Gerencia y ciclo de vida de los proyectos
 
O Processo De Auto Avaliacao No Contexto Escola
O Processo De Auto Avaliacao No Contexto EscolaO Processo De Auto Avaliacao No Contexto Escola
O Processo De Auto Avaliacao No Contexto Escola
 
National Industrial Group
National Industrial GroupNational Industrial Group
National Industrial Group
 
Posición CGT convenio 2015 2019 Bus TMB
Posición CGT convenio 2015 2019 Bus TMB Posición CGT convenio 2015 2019 Bus TMB
Posición CGT convenio 2015 2019 Bus TMB
 
7 reasons to start your girlfriend getaways
7 reasons to start your girlfriend getaways7 reasons to start your girlfriend getaways
7 reasons to start your girlfriend getaways
 
Laptops acreditar
Laptops acreditarLaptops acreditar
Laptops acreditar
 
Luis Lugo Festival d percusion mar del plata
Luis Lugo Festival d percusion mar del plata Luis Lugo Festival d percusion mar del plata
Luis Lugo Festival d percusion mar del plata
 
RCMG Company Profile
RCMG Company Profile RCMG Company Profile
RCMG Company Profile
 
Cozinha europeia06
Cozinha europeia06Cozinha europeia06
Cozinha europeia06
 
jabones de glicerina normal superior 804
jabones de glicerina normal superior 804 jabones de glicerina normal superior 804
jabones de glicerina normal superior 804
 
Герои М. А. Булгакова в скульптуре. Загадки и мистика.
Герои М. А. Булгакова в скульптуре. Загадки и мистика.Герои М. А. Булгакова в скульптуре. Загадки и мистика.
Герои М. А. Булгакова в скульптуре. Загадки и мистика.
 
Villas in Pune for Sale
Villas in Pune for SaleVillas in Pune for Sale
Villas in Pune for Sale
 
Se acabó el Resort
Se acabó el ResortSe acabó el Resort
Se acabó el Resort
 
E.b.d adolescentes 1ºtrimestre 2017 lição 03
E.b.d   adolescentes 1ºtrimestre 2017 lição 03E.b.d   adolescentes 1ºtrimestre 2017 lição 03
E.b.d adolescentes 1ºtrimestre 2017 lição 03
 
BPH
BPHBPH
BPH
 
Digital Marketing Diploma - Module 04: Search Engine Optimization ( SEO )
Digital Marketing Diploma - Module 04: Search Engine Optimization ( SEO )Digital Marketing Diploma - Module 04: Search Engine Optimization ( SEO )
Digital Marketing Diploma - Module 04: Search Engine Optimization ( SEO )
 

Ähnlich wie [세미나] 20160520 Gradle

Welcome to Android Studio
Welcome to Android StudioWelcome to Android Studio
Welcome to Android StudioWonKyun Lim
 
Gradle 한번 살펴보기
Gradle 한번 살펴보기Gradle 한번 살펴보기
Gradle 한번 살펴보기Junseo Youn
 
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container DayAmazon Web Services Korea
 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page ApplicationSangmin Yoon
 
클라우드 IDE, 구름 프로젝트 | Devon 2012
클라우드 IDE, 구름 프로젝트 | Devon 2012클라우드 IDE, 구름 프로젝트 | Devon 2012
클라우드 IDE, 구름 프로젝트 | Devon 2012Daum DNA
 
DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기SeungYong Baek
 
[20140624]소개자료
[20140624]소개자료[20140624]소개자료
[20140624]소개자료유석 남
 
생산성을 높여주는 iOS 개발 방법들.pdf
생산성을 높여주는 iOS 개발 방법들.pdf생산성을 높여주는 iOS 개발 방법들.pdf
생산성을 높여주는 iOS 개발 방법들.pdfssuserb942d2
 
20190615_코딩이랑무관합니다만_인프라와_데브옵스_그사이쯤
20190615_코딩이랑무관합니다만_인프라와_데브옵스_그사이쯤20190615_코딩이랑무관합니다만_인프라와_데브옵스_그사이쯤
20190615_코딩이랑무관합니다만_인프라와_데브옵스_그사이쯤BaeJunHyun
 
Mastering devops with oracle 강인호
Mastering devops with oracle 강인호Mastering devops with oracle 강인호
Mastering devops with oracle 강인호Inho Kang
 
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017Amazon Web Services Korea
 
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDYWHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDYHyun-woo Park
 
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가smartstudy_official
 
GAE 위에서 DJANGO 사용하기
GAE 위에서 DJANGO 사용하기GAE 위에서 DJANGO 사용하기
GAE 위에서 DJANGO 사용하기Tae-lim Oh
 
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래Sung-tae Ryu
 
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴Ian Choi
 
Azure DevOps를 활용한 CI, CD 구축
Azure DevOps를 활용한 CI, CD 구축Azure DevOps를 활용한 CI, CD 구축
Azure DevOps를 활용한 CI, CD 구축Taeyoung Kim
 
31기 고지웅 "구글오픈소스"
31기 고지웅 "구글오픈소스"31기 고지웅 "구글오픈소스"
31기 고지웅 "구글오픈소스"hyu_jaram
 

Ähnlich wie [세미나] 20160520 Gradle (20)

Welcome to Android Studio
Welcome to Android StudioWelcome to Android Studio
Welcome to Android Studio
 
Gradle 한번 살펴보기
Gradle 한번 살펴보기Gradle 한번 살펴보기
Gradle 한번 살펴보기
 
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page Application
 
Goorm
GoormGoorm
Goorm
 
클라우드 IDE, 구름 프로젝트 | Devon 2012
클라우드 IDE, 구름 프로젝트 | Devon 2012클라우드 IDE, 구름 프로젝트 | Devon 2012
클라우드 IDE, 구름 프로젝트 | Devon 2012
 
DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기
 
[20140624]소개자료
[20140624]소개자료[20140624]소개자료
[20140624]소개자료
 
생산성을 높여주는 iOS 개발 방법들.pdf
생산성을 높여주는 iOS 개발 방법들.pdf생산성을 높여주는 iOS 개발 방법들.pdf
생산성을 높여주는 iOS 개발 방법들.pdf
 
20190615_코딩이랑무관합니다만_인프라와_데브옵스_그사이쯤
20190615_코딩이랑무관합니다만_인프라와_데브옵스_그사이쯤20190615_코딩이랑무관합니다만_인프라와_데브옵스_그사이쯤
20190615_코딩이랑무관합니다만_인프라와_데브옵스_그사이쯤
 
Mastering devops with oracle 강인호
Mastering devops with oracle 강인호Mastering devops with oracle 강인호
Mastering devops with oracle 강인호
 
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
 
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDYWHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
 
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
 
GAE 위에서 DJANGO 사용하기
GAE 위에서 DJANGO 사용하기GAE 위에서 DJANGO 사용하기
GAE 위에서 DJANGO 사용하기
 
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
 
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
 
Azure DevOps를 활용한 CI, CD 구축
Azure DevOps를 활용한 CI, CD 구축Azure DevOps를 활용한 CI, CD 구축
Azure DevOps를 활용한 CI, CD 구축
 
31기 고지웅 "구글오픈소스"
31기 고지웅 "구글오픈소스"31기 고지웅 "구글오픈소스"
31기 고지웅 "구글오픈소스"
 
Seuk sak
Seuk sakSeuk sak
Seuk sak
 

Mehr von Sanghoon Yoon

Convolutional Neural Networks
Convolutional Neural NetworksConvolutional Neural Networks
Convolutional Neural NetworksSanghoon Yoon
 
위치 기반 서비스 사용자의 최고의 장소 사진 선택 요인 분석
위치 기반 서비스 사용자의 최고의 장소 사진 선택 요인 분석위치 기반 서비스 사용자의 최고의 장소 사진 선택 요인 분석
위치 기반 서비스 사용자의 최고의 장소 사진 선택 요인 분석Sanghoon Yoon
 
[논문발표] 20160801 A Sentiment-Enhanced Personalized Location Recommendation System
[논문발표] 20160801 A Sentiment-Enhanced Personalized Location Recommendation System[논문발표] 20160801 A Sentiment-Enhanced Personalized Location Recommendation System
[논문발표] 20160801 A Sentiment-Enhanced Personalized Location Recommendation SystemSanghoon Yoon
 
[세미나] 20160819 Java 프로그래머를 위한 Scala 튜토리얼
[세미나] 20160819 Java 프로그래머를 위한 Scala 튜토리얼[세미나] 20160819 Java 프로그래머를 위한 Scala 튜토리얼
[세미나] 20160819 Java 프로그래머를 위한 Scala 튜토리얼Sanghoon Yoon
 
[논문발표] 20160725 A Random Walk Around the City: New Venue Recommendation in Lo...
[논문발표] 20160725 A Random Walk Around the City: New Venue Recommendation in Lo...[논문발표] 20160725 A Random Walk Around the City: New Venue Recommendation in Lo...
[논문발표] 20160725 A Random Walk Around the City: New Venue Recommendation in Lo...Sanghoon Yoon
 
[논문발표] 20160404 Supporting Serendipitous Social Interaction Using Human Mobil...
[논문발표] 20160404 Supporting Serendipitous Social Interaction Using Human Mobil...[논문발표] 20160404 Supporting Serendipitous Social Interaction Using Human Mobil...
[논문발표] 20160404 Supporting Serendipitous Social Interaction Using Human Mobil...Sanghoon Yoon
 

Mehr von Sanghoon Yoon (6)

Convolutional Neural Networks
Convolutional Neural NetworksConvolutional Neural Networks
Convolutional Neural Networks
 
위치 기반 서비스 사용자의 최고의 장소 사진 선택 요인 분석
위치 기반 서비스 사용자의 최고의 장소 사진 선택 요인 분석위치 기반 서비스 사용자의 최고의 장소 사진 선택 요인 분석
위치 기반 서비스 사용자의 최고의 장소 사진 선택 요인 분석
 
[논문발표] 20160801 A Sentiment-Enhanced Personalized Location Recommendation System
[논문발표] 20160801 A Sentiment-Enhanced Personalized Location Recommendation System[논문발표] 20160801 A Sentiment-Enhanced Personalized Location Recommendation System
[논문발표] 20160801 A Sentiment-Enhanced Personalized Location Recommendation System
 
[세미나] 20160819 Java 프로그래머를 위한 Scala 튜토리얼
[세미나] 20160819 Java 프로그래머를 위한 Scala 튜토리얼[세미나] 20160819 Java 프로그래머를 위한 Scala 튜토리얼
[세미나] 20160819 Java 프로그래머를 위한 Scala 튜토리얼
 
[논문발표] 20160725 A Random Walk Around the City: New Venue Recommendation in Lo...
[논문발표] 20160725 A Random Walk Around the City: New Venue Recommendation in Lo...[논문발표] 20160725 A Random Walk Around the City: New Venue Recommendation in Lo...
[논문발표] 20160725 A Random Walk Around the City: New Venue Recommendation in Lo...
 
[논문발표] 20160404 Supporting Serendipitous Social Interaction Using Human Mobil...
[논문발표] 20160404 Supporting Serendipitous Social Interaction Using Human Mobil...[논문발표] 20160404 Supporting Serendipitous Social Interaction Using Human Mobil...
[논문발표] 20160404 Supporting Serendipitous Social Interaction Using Human Mobil...
 

[세미나] 20160520 Gradle

  • 1. Gradle 2016.05.20 KAIST iDBLab 윤상훈 이 문서는 나눔글꼴로 작성되었습니다. 설치하기
  • 2. 1. Gradle이란? 2. Java Plugin 3. Demo 4. Android Library Example 5. Q&A 목차
  • 3. 1.1 페이지 제목 Gradle이란? 3 / 14 Gradle은 Groovy 스크립트 기반의 멀티 플랫폼 빌드툴이다. • LinkedIn은 Java, Scala, Python, C/C++, Android, IOS 등 서로 다른 60개의 언어의 프로그램을 Gradle을 이용하여 빌드한 다. • Android Studio, IntelliJ, Eclipse와 같은 다양한 IDE와 Chef, Docker등의 툴과 integration하는 수많은 plugin을 제공한다. • Maven, Ivy, file dependency를 관리한다. • Convention에 따른 빌드를 통해서 migration이 용이하다. • Groovy 스크립트를 이용한 programmable한 빌드, 쉬운 extend. • Incremental Build를 통해서 redundant한 작업을 없애서 빠른 빌드를 가능하게 한다. • Gradle daemon을 이용하면 빠른 startup이 가능하다. • Gradle wrapper를 이용해서 gradle이 설치가 되어 있지 않아도 빌드가 가능하다. Maven보다 좋다!!
  • 4. Path Convention 2.1 도형 4 / 14 Java Plugin
  • 5. project-root/ - src/ - build.gradle - gradlew (optional) - gradlew.bat (optional) - gradle/ (optional) 2.1 도형 5 / 14 Java Plugin build.gradle apply plugin: ‘java’ Terminal $ gradle build or $ ./gradlew build
  • 6. Init Java Library 2.1 도형 6 / 14 Java Plugin Terminal $ gradle init --type java-library build.gradle apply plugin: 'java’ repositories { jcenter() } dependencies { compile 'org.slf4j:slf4j-api:1.7.21’ testCompile 'junit:junit:4.12’ }
  • 7. Gradle Init Demo 이 문서는 나눔글꼴로 작성되었습니다. 설치하기
  • 8. Tasks 2.1 도형 8 / 14 Java Plugin
  • 9. Customizing Project 2.1 도형 9 / 14 Java Plugin build.gradle apply plugin: 'java’ group = 'org.gradle.example’ version = '1.0.0’ sourceCompatibility = targetCompatibility = 1.7 repositories { jcenter() } dependencies { compile 'org.slf4j:slf4j-api:1.7.21’ testCompile 'junit:junit:4.12’ } jar { manifest { attributes 'Main-Class': "${project.group}.App” } }
  • 10. Multi-project project-root/ - libraryProject - sampleProject - sample1 - sample2 2.1 도형 10 / 14 Java Plugin build.gradle subprojects { apply plugin: 'java' repositories { mavenCentral() } dependencies { testCompile 'junit:junit:4.12' } version = '1.0' } settings.gradle include ‘libraryProject’, ‘sampleProject:sample1’, ‘sampleProject:sample2’ sampleProject/sample1/build.gradle dependencies { compile project(':libraryProject') }
  • 11. Smart IoT Demo 이 문서는 나눔글꼴로 작성되었습니다. 설치하기
  • 12. 1.1 페이지 제목 Android Library Example 12 / 14 GitHub - Simple Photo Picker
  • 13. Q&A 이 문서는 나눔글꼴로 작성되었습니다. 설치하기
  • 14. 감사합니다 이 문서는 나눔글꼴로 작성되었습니다. 설치하기