BuildSrc? Build composite?
이전 게시물과 비슷하게 모듈화를 하기 위해 노력하고 있었다.
처음에는 BuildSrc를 사용했다. 그러나 모듈마다 plugin을 다시 설정하고, 라이브러리를 설정해주었다.
왼쪽 사진이 내가 처음 적용했던 build.gradle 오른쪽은 pluu님의 WebToon Repository이다.
먼저 큰 차이점은 libs를 이용해 라이브러리를 추가한다는 점이였다.
나는 먼저 libs를 알기 위해서 해당 자료를 검색했고 아래 주소에서 힌트를 얻었다.
해당 사이트는 종속성을 공유하는 방법을 알려줬다.
이 사이트와 멀티 모듈화 예제인 nowinandroid, pluu님의 webtoon을 참고해서 libs를 만들어서 build를 시도했다.
그러나, libs를 인식하지 못했고 해당 문제를 트러블 슈팅을 위해서 시간을 썻다.
이슈 1. libs.versions.toml을 인식하지 못함
아래 주소에서 문제를 알 수 있었다. 내 gradle 버전이 7.3.1이였는데, 해당 버전에서는 인식하지 못하는 문제가 있어서 8.1 이상부터 빌드를 하면 해결된다고 했다.
libs문제를 해결하니 buildSrc와 build-logic의 차이점이 궁금해서 검색을 했다.
이슈 2. buildSrc와 build-logic의 차이
buildSrc는 빌드 시 먼저 buildSrc를 빌드를 한 뒤 다른 것을 빌드한다. 그런데 Gradle에서는 buildSrc가 변경되면 다시 build를 한다.
그래서 버전을 하나 바꾸면 전체 프로젝트를 다시 빌드한다. 또한 버전 변경 시 바로 적용하지 못한다는 단점이 있다.
단점을 뒷받침할 주소는 아래에서 확인할 수 있다.
결론
Gradle의 버전을 잘 확인해야한다. 이 것때문에 시간을 많이 썻다.
buildSrc와 build-logic(Build composite)에서 잘 확인해야한다
'안드로이드 > Project' 카테고리의 다른 글
[안드로이드] 프리아 컬렉션 - 6 (0) | 2023.04.30 |
---|---|
[안드로이드] 프리아 컬렉션 프로젝트 - 5 (2) | 2023.04.22 |
[안드로이드] 프리아 컬렉션 프로젝트 - 4 (0) | 2023.04.16 |
[안드로이드] 프리아 컬렉션 프로젝트 - 2 (2) | 2023.03.22 |
[안드로이드] 프리아 컬렉션 프로젝트 - 1 (0) | 2023.03.15 |