java

Doxygenでspring-frameworkをドキュメント化

投稿日:2019年8月2日 更新日:

以前に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にブラウザでアクセスします。

クラス図。

コラボレーション図。

まとめ

ビジュアルなドキュメントが出来上がりました。

ソースリーディングのお供、他にも新規参画したプロジェクトの分析に使えますね。

-java
-,

執筆者:

関連記事

IVS対応フォント「IPAmj明朝」で使えるフォントをWeb上に一覧表示してみる(2)

前回の続きです。One IT ThingIVS対応フォント「IPAmj明朝」で使えるフォントをWeb上に一覧表示してみる(1)https://one-it-thing.com/2098IPAmj明朝フ …

Tomcat9をCentOS7&OpenJDK11で起動

CentOS 7.6にOpenJDK 11を以下の記事で入れている状態です。One IT ThingCentOS7にOpenJDK11をインストール、alternatives後の再ログインでJAVA_ …

CentOS7にOpenJDK11をインストール、alternatives後の再ログインでJAVA_HOMEも自動変更

OpenJDKはCentOS-Baseリポジトリのupdatesに登録されているので新規yumリポジトリ追加は不要です。 [root@spock tmp]# yumdb search from_rep …

Stripe+Java+Payment Request APIでApple Pay、Google Payを使ったテストWeb決済をしてみる

自分で作ったサービスを運用してチャリンチャリンしたい・・・エンジニアならこんな夢、一度は見たことがあるんじゃないでしょうか。 夢を実現する為、以前Stripeのcheckout.jsを使ったテストWe …

Stripe + Javaでオーソリ(与信の確保)を実装する

Stripeでチャリンチャリン、サービスを開発するエンジニアにとっては夢がありますよね。 例え自分で個人的に売るものが無かったとしても、Web決済システムを構築できるノウハウを持っておけば、公的な仕事 …

 

shingo.nakanishi
 

東京在勤、職歴2n年中年ITエンジニアです。まだ開発現場で頑張っています。

19歳(1996年)から書き始めたアウトプット用プライベートWeb日記数が5,000日を超え、残りの人生は発信をして行きたいと思い、令和元日からこのサイトを開始しました。勉強と試行錯誤をしながら、自分が経験したIT関連情報を投稿しています。

私と同じく、今後IT業界で生計を立てて行きたいと考えている方や、技術共有したいけど仲間が居なくて孤独、といった方と一緒に成長、知識共有して行けたら楽しいな、と思っています。