我想知道是否有一种方法可以为Doov为Java等生成Groovy程序的协作图。我尝试运行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()
}
}
根据doxygen manual不支持Groovy(支持的语言是C,C ++,C#,Objective-C,IDL,Java,VHDL,PHP,Python,Tcl,Fortran和D)。根据FAQ的问题12,如果您尝试记录不受支持的语言,则必须修改doxygen源。
如果Groovy类似于这些语言之一(我从未使用过Groovy),那么您可以尝试使用这些现有的解析器来尝试解析Groovy源代码。为此,您需要配置doxygen以使用.groovy
扩展名对文件运行正确的解析器(这是groovy文件的正确扩展名吗?)。您可以通过将doxygen配置文件中的EXTENSION_MAPPING
配置选项设置为来执行此操作
EXTENSION_MAPPING += groovy=Java
这告诉doxygen在任何扩展名为.groovy
的文件上使用Java解析器。