문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
gradle:multiproject [2012/10/15 17:32] kwon37xi [단위 테스트간의 의존성] |
gradle:multiproject [2022/07/06 10:20] (현재) kwon37xi [서브 프로젝트간 의존성] |
||
---|---|---|---|
줄 2: | 줄 2: | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
+ | |||
+ | ====== 최상위 프로젝트의 이름 ====== | ||
+ | '' | ||
+ | < | ||
+ | rootProject.name = ' | ||
+ | </ | ||
===== 멀티 프로젝트의 기본 ===== | ===== 멀티 프로젝트의 기본 ===== | ||
줄 36: | 줄 42: | ||
} | } | ||
// shared 서브 프로젝트에 의존하고 있다. | // shared 서브 프로젝트에 의존하고 있다. | ||
+ | </ | ||
+ | |||
+ | ==== build.gradle 대신 subproject 이름으로 gradle 파일 구성 ==== | ||
+ | * 멀티 모듈 프로젝트를 구성하면 지나치게 많은 '' | ||
+ | * 아래와 같이 '' | ||
+ | |||
+ | <code groovy> | ||
+ | rootProject.children.each {project -> | ||
+ | project.buildFileName = " | ||
+ | } | ||
</ | </ | ||
줄 159: | 줄 175: | ||
</ | </ | ||
- | ==== 프로젝트 필터링 ==== | + | ==== 프로젝트 필터링 |
'' | '' | ||
+ | |||
+ | === 명시하기 === | ||
+ | < | ||
+ | def projects = [project(' | ||
+ | |||
+ | // 특정 프로젝트들에 대한 설정.. | ||
+ | configure(projects) { | ||
+ | .... | ||
+ | } | ||
+ | </ | ||
=== 이름으로 필터링 === | === 이름으로 필터링 === | ||
줄 597: | 줄 623: | ||
===== 멀티 프로젝트 단위 테스트간의 의존성 ===== | ===== 멀티 프로젝트 단위 테스트간의 의존성 ===== | ||
+ | * 이제는 더이상 아래 방법을 사용하지 말고 [[gradle: | ||
+ | <note warning> | ||
+ | 아래 방법은 사용하지 말 것. | ||
+ | |||
+ | 테스트들 간의 의존성을 거는 것은 어쩔 수 없을때만한다. | ||
+ | |||
+ | 꼭 필요하다면 테스트를 위한 별도 모듈을 만들고 그에 대해 일반적인 의존을 하게 변경한다. | ||
+ | </ | ||
+ | |||
+ | 개인적으로 아래 방법보다는 공통 단위 테스트용 프로젝트를 만들고(예: | ||
+ | |||
+ | ---- | ||
+ | |||
ProjectA와 ProjectB의 단위테스트가 존재하는데, | ProjectA와 ProjectB의 단위테스트가 존재하는데, | ||
단위 테스트는 프로젝트간 의존성에서 제외되기 때문이다. | 단위 테스트는 프로젝트간 의존성에서 제외되기 때문이다. | ||
줄 623: | 줄 662: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | ===== 참조 ===== | ||
+ | * [[https:// | ||
+ |