문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
gradle:multiproject [2012/10/09 18:06] kwon37xi |
gradle:multiproject [2018/06/22 08:56] kwon37xi |
||
---|---|---|---|
줄 2: | 줄 2: | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
+ | |||
+ | ====== 최상위 프로젝트의 이름 ====== | ||
+ | '' | ||
+ | < | ||
+ | rootProject.name = ' | ||
+ | </ | ||
===== 멀티 프로젝트의 기본 ===== | ===== 멀티 프로젝트의 기본 ===== | ||
줄 159: | 줄 165: | ||
</ | </ | ||
- | ==== 프로젝트 필터링 ==== | + | ==== 프로젝트 필터링 |
'' | '' | ||
+ | |||
+ | === 명시하기 === | ||
+ | < | ||
+ | def projects = [project(' | ||
+ | |||
+ | // 특정 프로젝트들에 대한 설정.. | ||
+ | configure(projects) { | ||
+ | .... | ||
+ | } | ||
+ | </ | ||
=== 이름으로 필터링 === | === 이름으로 필터링 === | ||
줄 596: | 줄 612: | ||
* 이 때문에 '' | * 이 때문에 '' | ||
- | ===== 단위 테스트간의 의존성 ===== | + | ===== 멀티 프로젝트 |
+ | 개인적으로 아래 방법보다는 공통 단위 테스트용 프로젝트를 만들고(예: | ||
+ | |||
+ | ---- | ||
ProjectA와 ProjectB의 단위테스트가 존재하는데, | ProjectA와 ProjectB의 단위테스트가 존재하는데, | ||
단위 테스트는 프로젝트간 의존성에서 제외되기 때문이다. | 단위 테스트는 프로젝트간 의존성에서 제외되기 때문이다. | ||
줄 604: | 줄 624: | ||
dependencies { | dependencies { | ||
testCompile project(': | testCompile project(': | ||
+ | // 이 방법은 eclipse에서 projecA의 단위 테스트 디렉토리를 라이브러리로 등록하는 문제가 있음. | ||
} | } | ||
+ | </ | ||
+ | * 위 방법보다는 configuration을 사용하는 다른 방법이 더 유용하다. [[gradle: | ||
+ | configurations { | ||
+ | crosstest | ||
+ | testCompile.extendsFrom crosstest | ||
+ | } | ||
+ | |||
+ | dependencies { | ||
+ | crosstest project(': | ||
+ | } | ||
+ | |||
+ | eclipse { | ||
+ | classpath { | ||
+ | minusConfigurations += configurations.crosstest // 불필요한 classpath 등록 방지 | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== 참조 ===== | ||
+ | * [[https:// | ||
+ |