20130709 gradle

42
With Gradle & Maven Enterprise Build

Upload: sukjin-yun

Post on 22-Jun-2015

3.320 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 20130709 gradle

With Gradle & Maven

Enterprise Build

Page 2: 20130709 gradle

Gradle 설치

Gradle 사이트에 방문해서 download 메뉴를 클릭하고 zip파일을

다운받으세요.

Zip파일의 압축을 풀어줍니다

1

Page 3: 20130709 gradle

환경변수 등록

GRADLE_HOME

C:\gradle\gradle-1.6

2

Page 4: 20130709 gradle

확인

Gradle 버전이 출력된다면

기본적인 설치는 끝났습니다.

3

Page 5: 20130709 gradle

Gradle Project 생성

Build.gradle 파일을 정의해서 사용할 수 있음

Maven에서 phase를 입력했던 것처럼 task를 입력해서 실행함

project.description = 'first gradle' task first <<{ println 'running first project' + project.description }

4

Page 6: 20130709 gradle

Gradle 실행

Gradle build 파일이 있는 폴더로 이동

Build.gradle에 정의한 task를 파라메터로 입력

5

Page 7: 20130709 gradle

다중task 설정 및 기본 task설정

project.description = 'first gradle'

defaultTasks 'second'

task first{

println 'running first project' + project.description

}

task second{

doFirst{

println "second task called"

}

}

defaultTasks 에 정의된 Task가 gradle 명령 사용시에 기본적으로 사용됨 여러 개를 등록할 수도 있음 defaultTasks ‘second’, ‘first’

6

Page 8: 20130709 gradle

순차적으로 실행하고 싶어요

project.description = 'first gradle' defaultTasks 'second' task first{ println 'running first project'+project.description } task second(dependsOn:first){ doFirst{ println "second task called" } }

7

Page 9: 20130709 gradle

Maven Gradle 프로퍼티 비교

maven gradle 기본값

groupId group 공백

artifactId name | archivesBaseName 프로젝트 디렉토리명

version version unspecified

name n/A N/A

description description null

8

Page 10: 20130709 gradle

Gradle eclipse plugin 설치

9

Page 11: 20130709 gradle

Gradle eclipse plugin 설치확인

10

Page 12: 20130709 gradle

Eclipse로 gradle project import

지금껏 build.gradle 파일을 이용해서 콘솔로 빌드했던 프로젝트를 import 해봅시다.

11

Page 13: 20130709 gradle

Eclipse로 gradle project import2

에러메시지가 있다는 건

언제나 좋은 겁니다.

‘내가 왜 화났는지 맞춰봐’보다

100만배 편함.;

Build Model 버튼을 클릭하세요.

12

Page 14: 20130709 gradle

Eclipse로 gradle project import2

Eclipse 프로젝트 형태로 변환해줍니다.

13

Page 15: 20130709 gradle

Eclipse로 gradle project import3

Import 할 프로젝트를 체크하세요.

14

Page 16: 20130709 gradle

Eclipse로 gradle project import4

변환완료

15

Page 17: 20130709 gradle

적용한 eclipse 버전

16

Page 18: 20130709 gradle

빌드결과물 타입

packaging war == apply plugin ‘war’

Packaging jar == apply plugin ‘java’

17

Page 19: 20130709 gradle

Dependency Management

<repositories>

<repository>

<id>central</id> <url>http://repo1.maven.org/maven2/</url>

</repository>

<repositories>

18

repositories { mavenCentral() }

Page 20: 20130709 gradle

Add library

dependencies{

compile ‘joda-time:joda-time:2.1’

}

19

<dependencies>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-webmvc</artifactId>

<version>${org.springframework-version}</version>

<scope>compile</scope>

</dependency>

</dependencies>

Page 21: 20130709 gradle

Gradle Project 만들기

Sample Project 유형으로 Java QuickStart를 선택합니다.

20

Page 22: 20130709 gradle

21

Page 23: 20130709 gradle

Eclipse 에서 Gradle build

compileJava task선택

22

Page 24: 20130709 gradle

Gradle 로 java Compile

23

Page 25: 20130709 gradle

Gradle Muliti Project

24

Page 26: 20130709 gradle

프로젝트 간 의존관계설정

25

Settings.gradle

A B

Include “my-lib” “product”

mylib Multi-gradle

Page 27: 20130709 gradle

멀티 컴파일

26

Page 28: 20130709 gradle

라이브러리 참조 설정 Central은

http://repo.mycompany.com/maven2

Maven중앙저장소

Local은

Maven에 정의된 로컬저장소

27

repositories { mavenCentral() mavenLocal() }

Gradle에서 기본적으로 라이브러리가 저장되는 폴더

Page 29: 20130709 gradle

라이브러리 업데이트

28

Refresh all 또는 Refresh dependencies

Page 30: 20130709 gradle

이클립스 쓰기 싫은데요..

29

Page 31: 20130709 gradle

Migration

좋아 a,bc … z

정말 좋아 ㄱ.ㄴ.ㄷ

좋으면 니가 적용해.

…………………..

관두면 오빠가 나 먹여살릴거야?

……………… 30

Page 32: 20130709 gradle

Migration m2 -> gradle

31

As is maven

Page 33: 20130709 gradle

Migration m2 -> gradle

32

Gradle 이 버전업을 하면서 기존에 maven2gradle이 https://github.com/jbaruch/maven2gradle 완벽하게 동작하지 않을 뿐만 아니라 gradle team에서 자체적으로 Maven2gradle에 상응하는 bootstrap plugin을 만들었습니다.

Page 34: 20130709 gradle

Bootstrap plugin 전제조건

1. 기존 프로젝트가 maven3 버전으로 빌드되어야 합니다.

Mvn 커멘드가 제대로 동작하는지 확인하세요.

33

Page 35: 20130709 gradle

Bootstrap plugin 사용

34

Page 36: 20130709 gradle

Gradle 버전확인 (1.2) 에서만 사용

35

Gradle 1.6 로드실패 Gradle 1.2

Bootstrap plugin 로드

Page 37: 20130709 gradle

Bootstrap plugin 실행

gradle maven2Gradle 실행

36

Page 38: 20130709 gradle

변환 확인

37

Settings.gradle

Build.gradle

Page 39: 20130709 gradle

웹프로젝트 만들기#1

플러그인 추가

apply plugin: 'war'

apply plugin: 'jetty'

apply plugin: 'eclipse-wtp'

38

Page 40: 20130709 gradle

웹 디펜던시 추가 Version 관계

http://tomcat.apache.org/whichversion.html

39

dependencies{ providedCompile('org.apache.geronimo.specs:geronimo-servlet_3.0_spec:1.0') runtime 'org.apache.geronimo.specs:geronimo-jsp_2.2_spec:1.2' }

Geronimo javaEE spec을 구현하는 사이트

Page 41: 20130709 gradle

jettyRun으로 실행

40

Webapp 가 기본디렉토리

Page 42: 20130709 gradle

To Other Time

To Other place

To Other Us 41