# Android module graph 프로젝트를 진행하다보면 모듈이 점점 더 많아지고, 모듈간의 복잡한 의존성이 얽혀 있을 수 있습니다. 이러한 상황에서 새로운 팀원이 들어올 때 프로젝트 구조를 파악하는 데 시간이 오래 걸릴 수 있습니다. 이를 해결하기 위해 모듈 의존성 그래프를 자동으로 생성하는 방법을 공유하려고 합니다. (Gradle을 사용하는 프로젝트에 적용할 수 있습니다.) 1️⃣ 라이브러리 프로젝트의 모듈 의존성을 이미지로 변환해주는 라이브러리가 유명합니다. ( https://github.com/vanniktech/gradle-dependency-graph-generator-plugin ) 그러나 이번에는 "Mermaid"로 의존성 그래프를 생성해주는 라이브러리인 "Module Graph"를 소개해 드리겠습니다. 이 라이브러리를 사용하면 프로젝트의 모듈 의존성을 Mermaid 형식의 그래프로 변환하여 시각적으로 나타낼 수 있습니다. ( https://github.com/iurysza/module-graph ) 2️⃣ Mermaid란? Mermaid은 Markdown으로 다이어그램을 그려주는 라이브러리로, GitHub에서도 Mermaid을 지원하여 확인할 수 있습니다. 😃 이미지로 생성된 다이어그램이 복잡해질수록 확대해서 보아야 하는 불편함이 있습니다. 그러나 Mermaid를 사용하면 다이어그램을 생성했을 때 확대해도 깨지지 않고, 전체적인 구조를 쉽게 파악할 수 있는 장점이 있습니다. - https://mermaid.js.org/ - https://github.blog/2022-02-14-include-diagrams-markdown-files-mermaid/ 3️⃣ 설치 방법 1. 프로젝트 단위의 Gradle 파일에 플러그인을 아래와 같이 추가해주시면 됩니다. ```kotlin plugins { id("dev.iurysouza.modulegraph") version "0.5.0" } ``` 2. 그래프 설정을 해주시면 됩니다. ```kotlin moduleGraphConfig { readmePath.set("./README.md") heading.set("### Dependency Diagram") showFullPath.set(false) // optional orientation.set(Orientation.LEFT_TO_RIGHT) //optional linkText.set(LinkText.NONE) // optional theme.set(Theme.NEUTRAL) // optional } ``` 여기서 ReadMe 파일 이름을 설정하고, 어떤 제목 아래에 그래프를 설정할지 명시해주시면 됩니다. 4️⃣ 사용 방법 위의 설정을 완료하면 “./gradlew createModuleGraph” 명령어를 실행하여 그래프를 생성해주시면 됩니다. 5️⃣ 팁 모듈이 변경될 때마다 명령어를 실행하는 것을 잊어 그래프 업데이트를 놓치지 않도록 하는 방법이 있습니다. 바로 Intellij의 플러그인을 사용하는 것인데요. 해당 플러그인을 사용하면 Gradle Sync가 완료된 후에 그래프를 생성하도록 설정할 수 있습니다. 아래 코드를 참고해주세요. https://gist.github.com/yunjaena/88a926535bfff91f0b03611dd87212e1

로그인 후 모든 글을 볼 수 있습니다.