메이븐 플러그인 탐험기1 - UMLGraph
소스코드를 보고 UML을 만들어 주는 UMLGraph라는 툴을 메이븐 빌드 과정 중에 플러긴으로 설치해서 리포트를 뽑아내는게 목적입니다. 물론 최종 목적은 코드와 모델을 항상 최신의 상태로 똑같은 상태로 유지하는 것입니다. 코드 보다 그림이 보기 좋은데, 그림이 실제 코드랑 다른 상태에서 어떤 결정을 하게되면.......
그래서 소스 코드에서 UML을 뽑아내는 툴을 사용해보기로 결정했습니다. 구글 검색을 통해서 잘 정리해둔, 불어로 된 블로그의 글 발견. 어차피 코드만 있으면 되기 때문에..ㅋㅋ
1. 먼저. Graphviz를 설치합니다. 이 녀석은 .dot 파일을 .png 파일로 만들어준 녀석입니다. 실제 그림을 들고 다니는 것 보다 그림을 그릴 정보들을 텍스트로 들고 다니는게 가볍기 때문일까요?
http://www.graphviz.org/Download..php
2. 환경 변수 path에 위에서 설치한 Graphciz의 bin 폴더를 설정해줍니다. 그 안에 있는 dot 이라는 명령어를 사용해야 하기 때문입니다.
3. 누가 doc 명령어를 사용하냐면, UMLGraph 메이븐 플러긴이 사용합니다. maven에 UMLGraph 플러그인 설정은 간단합니다.
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<doclet>
gr.spinellis.umlgraph.doclet.UmlGraphDoc
</doclet>
<docletArtifact>
<groupId>gr.spinellis</groupId>
<artifactId>UmlGraph</artifactId>
<version>4.6</version>
</docletArtifact>
<additionalparam>
-inferrel -inferdep -quiet -hide java.*
-collpackages java.util.* -qualify
-postfixpackage -nodefontsize 9
-nodefontpackagesize 7
</additionalparam>
</configuration>
</plugin>
</plugins>
</reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<doclet>
gr.spinellis.umlgraph.doclet.UmlGraphDoc
</doclet>
<docletArtifact>
<groupId>gr.spinellis</groupId>
<artifactId>UmlGraph</artifactId>
<version>4.6</version>
</docletArtifact>
<additionalparam>
-inferrel -inferdep -quiet -hide java.*
-collpackages java.util.* -qualify
-postfixpackage -nodefontsize 9
-nodefontpackagesize 7
</additionalparam>
</configuration>
</plugin>
</plugins>
</reporting>
자세한 설정 값은.. 나중에 살펴보구요.
4. mvn javadoc:javadoc 또는 mvn site를 실행하면, target/site 폴더가 생기고 그 아래에 apidocs 폴더가 생겼을 겁니다. 거기부터가 javadoc 문서입니다.
5. 구경하기
귿~