이 것은 기존에 있던 build를 완전히 새로운 타입의 gradle build로 만드는 것도 지원한다.
Gradle plugin은 통상적으로 그것들이 사용되기 전에 프로젝트에 적용되어야 한다.
Build init plugin은 자동으로 적용되는 plugin이고 이 것은 명시적으로 적용하지않아도 된다는 것을 의미한다.
Plugin을 사용하기 위해서 간단히 Gradle build를 만들고 싶은 곳에 init 이라는 이름의 task를 실행시킬 수 있다.
또한 Wrapper plugin 으로부터 wrapper task를 활용할 수도 있다.
Tasks
plugin은 아래와 같은 task를 프로젝트에 추가한다.
Task name | Depends on | Type | Description |
init | wrapper | InitBuild | Generates a Gradle project. |
wrapper | - | Wrapper | Generates Gradle wrapper files. |
What to set up
init 은 다른 build setup type을 지원한다.
type은 --type argument 값을 제공함으로써 명시할 수 있다.
예를 들어, 간단히 실행할 Java library project를 만들기 위해서는,
gradle init --type java-library.
만약 --type 파라미터가 제공되지 않는다면, Gradle은 제공 환경으로 부터 type을 추측할 것이다.
예를 들면 만약 pom.xml 파일을 찾았다면 Gradle build로 변경할 때 type을 "pom" 으로 설정할 것이다.
만약 type이 추측되지않는다면, "basic" 이 기본적으로 사용된다.
모든 build setup type은 Gradle Wrapper의 setup을 포함한다.
Build init types
“pom” (Maven conversion)
"pom" 타입은 Apache maven build 를 Gradle build 로 변경할 때 사용되어질 수 있다.
이 작업은 POM 을 하나 또는 여러개의 Gradle 파일로 변경함으로써 이루어지고, 올바른 pom.xml 파일이 init task가 호출할 수 있는 directory 안에 있다면 가능하다.
이 type은 pom 파일이 있다면 자동으로 설정된다.
이 Maven 변환은 Gradle community member들로 인해 개발된 maven2gradle 에 의해 영감을 받았다.
변환 과정은 아래와 같은 내용을 포함한다.
- effective POM 과 effective settings (support for POM inheritance, dependency management, properties) 사용
- single module 과 multimodule projects 둘 다 지원
- custom module 이름 지원 (디렉토리 이름에 따라 다름)
- id, description, version 같은 일반적인 metadata 생성
- maven, java , war plugin 적용
- war 와 jar 패키징 지원
- dependency 생성 (외부, 내부 module 모두)
- download repository 생성 (local Maven repository 등)
- java compiler setting 적용
- source와 test 패키징 지원
- TestNG runner 지원
- Maven enforcer plugin setting으로 부터 global exclusions 생성
“java-library”
“java-library” 타입은 추측되지않는다. 반드시 명시되어야 한다.
이 것은 아래와 같은 내용을 가진다.
- "java" plugin 사용
- "jcenter" dependency repository 사용
- 테스팅을 위한 Junit 사용
- source code를 위한 conventional location 안의 디렉토리
- 만약 source나 test 파일이 없다면, sample class 와 unit test를 포함
--test-framework argument 값을 제공함으로써, 대체할 만한 다른 test framework를 명시할 수 있다.
다른 test framework를 사용하기 위해, 아래 커맨드들 중 하나를 사용하면 된다.
gradle init --type java-library --test-framework spock: testing을 위해 spock 사용
gradle init --type java-library --test-framework testng: testing을 위해 testNG 사용
“scala-library”
“scala-library” 타입은 추측되지않는다. 반드시 명시되어야 한다.
이 것은 아래와 같은 내용을 가진다.
- "scala" plugin 사용
- "jcenter" dependency library 사용
- Scala 2.10 사용
- 테스팅을 위한 Scala Test 사용
- source code를 위한 conventional location 안의 디렉토리
- 만약 source나 test 파일이 없다면, sample scala class 와 Scala Test test suite를 포함
- 기본적으로 Zinc Scala compiler 사용
“groovy-library”
“groovy-library” 타입은 추측되지않는다. 반드시 명시되어야 한다.
이 것은 아래와 같은 내용을 가진다.
- "groovy" plugin 사용
- "jcenter" dependency library 사용
- Grovvy 2.x 사용
- 테스팅을 위한 Spock Testing framework 사용
- source code를 위한 conventional location 안의 디렉토리
- 만약 source나 test 파일이 없다면, sample Groovy class 와 Spock specification을 포함
“basic”
“basic” build init type은 새로운 Gradle project를 만드는 데에 유용하다.
이 것은 시작할 때 도움을 줄 수 있는 comment가 포함된 sample build.gradle 파일을 만든다.
이 type은 아무 type도 명시되어 있지않고, 추측되지 않을 때 적용된다.
원본 출처 : https://docs.gradle.org/current/userguide/build_init_plugin.html
댓글 없음 :
댓글 쓰기