調査 #100
未完了Javadocで生成するドキュメントにUML図を埋め込む方法を調査する
50%
説明
調査目的:Javadocで生成するドキュメントに、UML図(シーケンス図、クラス図など)を含めたい
調査結果:
完了条件:入手物、生成手順、サンプルをWikiに記載する。
高橋 徹 さんが約5年前に更新
- ステータス を 新規 から 進行中 に変更
- 進捗率 を 0 から 50 に変更
PlantUMLのサイトに、javadocに埋め込む関連の記述を発見
https://plantuml.com/ja/doclet
UMLDocletを試してみた。
https://github.com/talsma-ict/umldoclet
まずは、JDK 9以降対応のumldoclet-2.0.7.jarをダウンロードし、graphviz 2.38へのPATHを通して実行。
D:\work\hello +-- src +-- com +-- torutk +-- Hello.java
hello> javadoc -sourcepath src -d apidocs ^ -docletpath "C:\Program Files\Java\umldoclet\umldoclet-2.0.7.jar" ^ -doclet nl.talsmasoftware.umldoclet.UMLDoclet com.torutk ^ : Generating apidocs\package-dependencies.svg... javadoc: エラー - Unanticipated error generating UML: java.lang.IllegalStateException: I/O exception postprocessing apidocs\com\torutk\Hello.html エラー1個
JDK11ではダメなのか? 続いてJDK 8にしてみる。
JDK 8対応のumldoclet-1.1.4.jarをダウンロードして実行。
hello> javadoc -sourcepath src -d apidocs ^ -docletpath "C:\Program Files\Java\umldoclet\umldoclet-1.1.4.jar" ^ -doclet nl.talsmasoftware.umldoclet.UMLDoclet com.torutk ^ :
正常に終わり、UML図がJavadocのHTMLに埋め込まれた。
クラスのドキュメントページにはクラス図(そのクラス単独)が、パッケージページにはパッケージ図が埋め込まれた。
ただし、コメントでのPlantUML記述はうまくいっていない。
高橋 徹 さんが約5年前に更新
ソースコードのコメントにPlantUMLの記述をして、javadoc生成時にUML図を生成し生成されたHTMLに貼ることができるツールを探してみた。
docletではなくtagletで実現しているツールを発見
https://github.com/mnlipp/jdrupes-taglets
要試行
高橋 徹 さんがほぼ5年前に更新
UMLGraph というツールがあるらしい。PlantUMLとは別のツールで、テキストで記述した情報からクラス図、シーケンス図を生成できる。Javadocと連携できるらしい。
https://www.spinellis.gr/umlgraph/
EPEL 7リポジトリにumlgraphと、umlgraph-javadocのパッケージがある。CentOS 7で取り込むのが容易かも。