Doxygen が Java などで行うのと同じ方法で、Groovy プログラムのコラボレーション図を生成する方法があるかどうか疑問に思っています。Doxygen を実行してみましたが、Groovy ファイルを解析できないようです (または、違う?)。
2 に答える
doxygen のマニュアルによると、Groovy はサポートされていません(サポートされている言語は、C、C++、C#、Objective-C、IDL、Java、VHDL、PHP、Python、Tcl、Fortran、および D です)。FAQの質問 12 によると、サポートされていない言語をドキュメント化しようとしている場合は、doxygen のソースを変更する必要があります。
Groovy がこれらの言語の 1 つに似ている場合 (私は Groovy を使用したことがありません)、これらの既存のパーサーを使用して、Groovy ソース コードの解析を試みることができます。これを行うには、拡張子を持つファイルに対して正しいパーサーを実行するように doxygen を構成する必要があります.groovy
(これは groovy ファイルの正しい拡張子ですか?)。これを行うEXTENSION_MAPPING
には、doxygen 構成ファイルの構成オプションを次のように設定します。
EXTENSION_MAPPING += groovy=Java
これにより、doxygen は、拡張子が.groovy
.
IntelliJ 内からダイアグラムを生成できます。それらは次のようになります。
編集
groovy はダックタイピングを伴う動的言語であるため、正しいコラボレーション図を作成するのは非常に困難 (おそらく不可能) だと思います。
これらのクラスは、コラボレーション グラフでどのように示されるでしょうか。
class Cage {
private def bird
Cage(bird) {
this.bird = bird
}
def shake() {
bird.sing()
}
}
class Dog {
def sing() {
println 'Woof'
}
}
class Main {
static void main(String[] args) {
Cage cage = new Cage(new Dog())
cage.shake()
}
}