사용자 도구

사이트 도구


gradle:multiproject

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
마지막 판 양쪽 다음 판
gradle:multiproject [2013/07/09 11:42]
kwon37xi [멀티 프로젝트 단위 테스트간의 의존성]
gradle:multiproject [2022/07/06 10:18]
kwon37xi [멀티 프로젝트 단위 테스트간의 의존성]
줄 2: 줄 2:
   * [[http://www.gradle.org/docs/current/userguide/multi_project_builds.html|Gradle Multi Project Builds]]   * [[http://www.gradle.org/docs/current/userguide/multi_project_builds.html|Gradle Multi Project Builds]]
   * [[http://gradle.org/docs/current/dsl/org.gradle.api.Project.html|Project]] DSL 참조.   * [[http://gradle.org/docs/current/dsl/org.gradle.api.Project.html|Project]] DSL 참조.
 +
 +====== 최상위 프로젝트의 이름 ======
 +''settings.gradle'' 파일에서 다음과 같이 최상위 프로젝트 이름을 지정한다. 이는 해당 프로젝트 디렉토리 이름과 무관하게 설정된다.
 +<code>
 +rootProject.name = '프로젝트이름'
 +</code>
  
 ===== 멀티 프로젝트의 기본 ===== ===== 멀티 프로젝트의 기본 =====
줄 159: 줄 165:
 </code> </code>
  
-==== 프로젝트 필터링 ====+==== 프로젝트 필터링 Filter Projects ====
 ''tropicalFish''라는 프로젝트를 추가하고 ''water'' 프로젝트 빌드 파일에 행위를 더 추가해보자. ''tropicalFish''라는 프로젝트를 추가하고 ''water'' 프로젝트 빌드 파일에 행위를 더 추가해보자.
 +
 +=== 명시하기 ===
 +<code>
 +def projects = [project('project-name'), project('project-name-2')]
 +
 +// 특정 프로젝트들에 대한 설정..
 +configure(projects) {
 +    ....
 +}
 +</code>
  
 === 이름으로 필터링 === === 이름으로 필터링 ===
줄 597: 줄 613:
  
 ===== 멀티 프로젝트 단위 테스트간의 의존성 ===== ===== 멀티 프로젝트 단위 테스트간의 의존성 =====
 +  * 이제는 더이상 아래 방법을 사용하지 말고 [[gradle:testfixtures|TestFixtures]]를 통해 합리적으로 해결 가능해졌다.
 +<note warning>
 +아래 방법은 사용하지 말 것.
 +
 +테스트들 간의 의존성을 거는 것은 어쩔 수 없을때만한다.
 +
 +꼭 필요하다면 테스트를 위한 별도 모듈을 만들고 그에 대해 일반적인 의존을 하게 변경한다.
 +</note>
 +
 개인적으로 아래 방법보다는 공통 단위 테스트용 프로젝트를 만들고(예: ''xxx-test-support'') 해당 프로젝트에 각종 테스트용 의존성과 테스트용 유틸리티 클래스를 일반 코드로 작성한 뒤에 다른 프로젝트들이 ''testCompile project(':xxx-test-support')'' 형태로 의존성을 추가하는 것이 더 일관성 있고 깔끔한 방법으로 보인다. 개인적으로 아래 방법보다는 공통 단위 테스트용 프로젝트를 만들고(예: ''xxx-test-support'') 해당 프로젝트에 각종 테스트용 의존성과 테스트용 유틸리티 클래스를 일반 코드로 작성한 뒤에 다른 프로젝트들이 ''testCompile project(':xxx-test-support')'' 형태로 의존성을 추가하는 것이 더 일관성 있고 깔끔한 방법으로 보인다.
  
줄 627: 줄 652:
 } }
 </code> </code>
 +
 +===== 참조 =====
 +  * [[https://blog.sapzil.org/2018/06/20/gradle-subproject-grouping/|Gradle에서 서브 프로젝트를 한 디렉토리에 몰아넣기 | The Sapzil]]
 +
gradle/multiproject.txt · 마지막으로 수정됨: 2022/07/06 10:20 저자 kwon37xi