Architected Futures™

Tools and strategies ... for boiling the ocean

Eclipse Doxygen Setup

Overview

Doxygen provides an alternative to Javadoc as a scheme for the automatic generation of documentation for Java programs. This article provides a discussion of the alternatives between these two methods. I used Doxygen previously for the documentation of a reasonably complex software development effort accomplished with C++ and was very satisfied with the result. I have since used Doxygen to document both PHP and Java development efforts. My preference for using Doxygen over Javadoc as the 'official' documentation tool for EATS derives from:

  • A desire to have a single consistent mechanism (and look and feel) for the documentation of code developed in multiple programming languages.
  • A desire to be able to incorporate the automatic generation of diagrams as part of the documentation generation facility.
  • A desire for hyper-linking in the documentation.
  • A desire for hyper-linking to full source code from the higher level API documentation.
  • A desire to have more formatting control over the generated documentation in order to be able to blend it for a closer styling with the other parts of the Architected Futures™ web site.

Components

Implementation of the Doxygen facility is currently a feature within the EATS Eclipse development platform. It involves the following components:

  • Doxygen - this is the primary documentation generator element.
    • Previously I had been using a Win-32 version of Doxygen v1.7.4
    • The current (as of this writing) version of Doxygen is v1.8.2 which now supports a Win-64 install
    • Doxygen can be obtained from here.
  • Graphviz - this is a software package initially developed by AT&T that is used as a graphics generation subsystem by Doxygen. Graphviz is open source software for the visualization of graphs. It incorporates automatic layout algorithms. Doxygen determines the network structure of certain relationships expressed in the code being documented, translates those relationships into Graphviz language, and uses Graphviz to create image files of the relationships. The image files are then pulled into the finished HTML documentation of the code.
    • My most recent version of Graphviz was v2.28.0 for Windows
    • The current version (as of this writing) is still v2.28.0
    • Graphviz can be obtained from here.
  • Mscgen - this is an optional component that provides an additional facility for the generation of sequence diagrams as part of the documentation package. This is truly optional and may not be used. If this option is pursued, another option is to use the Trace2UML tool in place of Mscgen for this function. The Trace2UML tool seems to produce a nicer diagram. This option is explained here.
  • Eclox - this is an Eclipse plug-in that allows Doxygen to be embedded as a component of the Eclipse IDE Workbench.

Reference

Add new comment

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.