멀티 모듈 시스템에서 공통으로 쓰인 Gradle Script 가 있다면 어떻게 해야 될까?
RootProject
|
| - SubProjectA
| -- build.gradle
| - SubProjectB
| -- build.gradle
| - SubProjectC
| -- build.gradle
| - build.gradle
여기서 `SubProjectA` , `SubProjectB`, `SubProjectC` 가 build.gradle 에서 공통으로 사용되는 내용이 있다고 가정하자.
약 모듈이 5개정도 만들어지면서 반복되어지는 스크립트를 발견되었고, 코드 복사/붙여넣기가 불편하다고 느꼈다.
어떻게 해야될까?
`base.gradle` 을 하나 만들어 전체 프로젝트에 공유하면 되지 않을까?
걱정되는 마음은 gradle 을 잘 알지 못하는 것이 첫번째. 설정을 외부화해야 한다. 라는 마음이 두번째였다.
RootProject
|
| - SubProjectA
| -- build.gradle
| - SubProjectB
| -- build.gradle
| - SubProjectC
| -- build.gradle
| - build.gradle
| - base.gradle // Look!!
그래서 base.gradle 에 공통으로 사용되는 스크립트를 작성했고, 이를 전체 프로젝트에 적용되고자 했다.
// root project's build.gradle
allprojects {
apply from: "$rootDir/base.gradle"
}
이렇게 해서 문제를 해결했다. 조금더 나아가 root project's build.gradle 에서 쓰인 apply from: xxx 는 무엇일까? 무슨 의미이지?
그리고 남은 숙제는 만약, 다른 프로젝트에서도 동일한 코드가 반복된다면 어떻게 할 것인가?
이를 dev-resource 서버에서 불러오게 할 수는 없을까?
먼저 다음 포스팅에서는 root project's build.gradle 에서 쓰인 apply from: xxx 에 대한 이해를 해보자!
[참고자료]
https://docs.gradle.org/current/userguide/plugins.html
https://docs.gradle.org/current/dsl/org.gradle.api.Project.html
'개발 관련됨 > 개발 관련 유용한 정보함' 카테고리의 다른 글
postgresSQL의 Idle in transaction 이란 무엇인가? (0) | 2022.09.11 |
---|---|
안전하게 코드 리팩토링하기 - 1 (0) | 2022.07.24 |
MAC OS 에서 Icon 이 Bouncing 하지 않도록 하는 방법 (0) | 2021.09.26 |
docker 에 올라온 postgres 에 접속해, Database 확인하는 방법 (0) | 2021.07.09 |
[Inteliij] 대문자 - 소문자 변환 단축키 (0) | 2021.06.03 |
댓글