More Related Content What's hot (19)
PDF
개알못의 오픈소스이야기 - 이상준님
NAVER D2
PDF
Cloud ide를 이용한_모바일_개발의_가능성과_전망
Sung-tae Ryu
PDF
예비 개발자를 위한 웹서비스 개발 방법론 특강 - 폴리텍대학교 강서캠퍼스
시은 김
PDF
[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project
Ji-Woong Choi
PDF
Jenkins with Unity3d & Android
종국 임
Viewers also liked (16)
PPTX
jabones de glicerina normal superior 804
Luisa Acuña
PPTX
E.b.d adolescentes 1ºtrimestre 2017 lição 03
Joel Silva
Similar to [세미나] 20160520 Gradle (7)
PPTX
Backend Master | 3.1.3 Build - Java build tool - Gradle
Kyunghun Jeon
PPTX
Backend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build Lifecycle
Kyunghun Jeon
PPTX
Spring Boot + React + Gradle in VSCode
dpTablo
More from Sanghoon Yoon (6)
PPTX
[논문발표] 20160801 A Sentiment-Enhanced Personalized Location Recommendation System
Sanghoon Yoon
PPTX
[세미나] 20160819 Java 프로그래머를 위한 Scala 튜토리얼
Sanghoon Yoon
PPTX
[논문발표] 20160725 A Random Walk Around the City: New Venue Recommendation in Lo...
Sanghoon Yoon
PPTX
[논문발표] 20160404 Supporting Serendipitous Social Interaction Using Human Mobil...
Sanghoon Yoon
[세미나] 20160520 Gradle3. 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보다 좋다!!
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’
}
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')
}