반응형
Module을 분리해놓고 보면 Graph로 깔끔한지 보고 싶어 진다.
찾아보니 "gradle-dependency-graph-generator-plugin"라는 라이브러리가 있다.
0.8.0 버전과 0.9.0-SNAPSHOT 버전이 있는데, 0.9.0-SNAPSHOT 버전을 쓰도록 하자.
0.8.0 버전에서는 실행만 시키면 메모리 초과됐다고 에러를 던진다.
라이브러리를 적용하고 명령어로 실행시키면
"build/reports/project-dependency-graph/" 위치에다가
이런 그래프를 만들어준다.
readme에 넣고 싶은데, 매번 이걸 직접 최신화할 수는 없다.
module 이 매일 바뀌는 건 아니지만, 바뀔 때마다 하기는 너무 귀찮다.
그러면 아래 같은 git-hook을 만들어주면 된다.
# pre-commit
#!/bin/sh
# 1
staged=$(git diff --name-only --staged)
# 2
if [[ $staged == *"build.gradle"* ]]
then
echo "start Update project dependency graph"
# 3
./gradlew generateProjectDependencyGraph
# 4
mv ./build/reports/project-dependency-graph/project-dependency-graph.png ./previews/dependency-graph.png
rm -r ./build/reports/project-dependency-graph
# 5
git add ./previews/dependency-graph.png
fi
1. 현재 stage 된 파일을 전부 가져온다.
2. 그중에 build.gradle 이 포함되어 있으면
3. graph를 만들고
4. 지정한 폴더로 이동시킨다. ( readme에서 사용할 폴더로 ) 그리고 폴더를 지운다. ( 안 지우니까 파일을 안 만들 때가 있는데, 이유는 모르겠다. )
5. stage에 graph를 추가한다.
gradle 이 바뀌어도 graph 가 안 바뀌는 경우에도 해당 과정이 돌기는 하지만,
동일한 graph에 대해서는 git 이 알아서 걸러주기 때문에, 같은 게 업데이트될 걱정은 없다.
예제로 사용된 프로젝트
반응형
'안드로이드' 카테고리의 다른 글
안드로이드 라이브러리 관리 자동화 (1) | 2022.11.15 |
---|---|
Android - BuildSrc + Version Catalog ( 안드로이드 버전 관리하기 ) (0) | 2022.11.15 |
Compose - Modifier.Node ( composed 상위호환 ) (0) | 2022.11.08 |
Compose - Gooey ( 끈적이는 )효과 만들기 (0) | 2022.11.07 |
Android - Compose 1.3 PullRefresh (0) | 2022.11.01 |