以前にspring-frameworkのソースリーディングが出来る環境をOpenGrokで作りました。
読んでいる最中にクラス関連や呼び出しをビジュアルに把握したくなったりするので、Doxygenを使って補足資料として生成しておきます。
実行環境
- CentOS 7.6
- Doxygen 1.8.5
- graphviz 2.30.1-21
doxygen、graphvizインストール
# yum -y install doxygen
# yum -y install graphviz graphviz-gd
doxygenコマンド、graphvizのdotコマンドがインストールされたことを確認します。
# doxygen -v
1.8.5
# dot -v
dot - graphviz version 2.30.1 (20180420.1509)
Doxyfileを設定
doxygenでドキュメント生成する際はDoxyfileというファイルを作成します。最近のバージョンではdoxywizardコマンドでGUI設定出来たりしますが、ターミナル操作の想定でコマンドラインのみで設定していきます。
/tmpにspring-frameworkをgit cloneしてある状態です。
# cd /tmp
# git clone https://github.com/spring-projects/spring-framework.git
# cd spring-framework
Doxyfileを生成します。
]# doxygen -g
Configuration file `Doxyfile' created.
Now edit the configuration file and enter
doxygen Doxyfile
to generate the documentation for your project
vi Doxyfile等で以下の箇所を変更してJavaプロジェクト向けの生成設定を行います。
PROJECT_NAME = "プロジェクト名"
PROJECT_NUMBER = "1.0.0などのバージョン"
OUTPUT_LANGUAGE = Japanese
JAVADOC_AUTOBRIEF = YES
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
RECURSIVE = YES
HAVE_DOT = YES
UML_LOOK = YES
CALL_GRAPH = YES
CALLER_GRAPH = YES
OPTIMIZE_OUTPUT_JAVA = YES
ドキュメント生成開始
Doxyfileがあるディレクトリでdoxygenコマンドを実行するだけです。
# dogygen
生成された「html」ディレクトリをApacheなら/var/www/html/spring-frameworkなどにコピーして外部から参照出来るようにしておきます。
見れるか確認
http://HTTPサーバIP/spring-frameworkにブラウザでアクセスします。
クラス図。
コラボレーション図。
まとめ
ビジュアルなドキュメントが出来上がりました。
ソースリーディングのお供、他にも新規参画したプロジェクトの分析に使えますね。