사용자 도구

사이트 도구


gradle:multiproject

차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
gradle:multiproject [2018/02/12 15:49]
kwon37xi [프로젝트 필터링 Filter Projects]
gradle:multiproject [2022/07/06 10:20] (현재)
kwon37xi [서브 프로젝트간 의존성]
줄 42: 줄 42:
 } }
 // shared 서브 프로젝트에 의존하고 있다. // shared 서브 프로젝트에 의존하고 있다.
 +</code>
 +
 +==== build.gradle 대신 subproject 이름으로 gradle 파일 구성 ====
 +  * 멀티 모듈 프로젝트를 구성하면 지나치게 많은 ''build.gradle'' 파일 때문에 혼란스러워진다.
 +  * 아래와 같이 ''settings.gradle'' 에 설정하여 각각의 sub module 들에 대한 설정 파일을 ''submodule-name.gradle''로 변경할 수 있다.
 +
 +<code groovy>
 +rootProject.children.each {project ->
 +    project.buildFileName = "${project.name}.gradle"
 +}
 </code> </code>
  
줄 613: 줄 623:
  
 ===== 멀티 프로젝트 단위 테스트간의 의존성 ===== ===== 멀티 프로젝트 단위 테스트간의 의존성 =====
 +  * 이제는 더이상 아래 방법을 사용하지 말고 [[gradle:testfixtures|TestFixtures]]를 통해 합리적으로 해결 가능해졌다.
 +<note warning>
 +아래 방법은 사용하지 말 것.
 +
 +테스트들 간의 의존성을 거는 것은 어쩔 수 없을때만한다.
 +
 +꼭 필요하다면 테스트를 위한 별도 모듈을 만들고 그에 대해 일반적인 의존을 하게 변경한다.
 +</note>
 +
 개인적으로 아래 방법보다는 공통 단위 테스트용 프로젝트를 만들고(예: ''xxx-test-support'') 해당 프로젝트에 각종 테스트용 의존성과 테스트용 유틸리티 클래스를 일반 코드로 작성한 뒤에 다른 프로젝트들이 ''testCompile project(':xxx-test-support')'' 형태로 의존성을 추가하는 것이 더 일관성 있고 깔끔한 방법으로 보인다. 개인적으로 아래 방법보다는 공통 단위 테스트용 프로젝트를 만들고(예: ''xxx-test-support'') 해당 프로젝트에 각종 테스트용 의존성과 테스트용 유틸리티 클래스를 일반 코드로 작성한 뒤에 다른 프로젝트들이 ''testCompile project(':xxx-test-support')'' 형태로 의존성을 추가하는 것이 더 일관성 있고 깔끔한 방법으로 보인다.
  
줄 643: 줄 662:
 } }
 </code> </code>
 +
 +===== 참조 =====
 +  * [[https://blog.sapzil.org/2018/06/20/gradle-subproject-grouping/|Gradle에서 서브 프로젝트를 한 디렉토리에 몰아넣기 | The Sapzil]]
 +
gradle/multiproject.1518419992.txt.gz · 마지막으로 수정됨: 2018/02/12 15:49 저자 kwon37xi