Liferay 7 GA1 Doxygen

Doxygen Output for Liferay 7 CE GA1

Visualize Liferay Classes, Methods; with the help of UML Inheritance, Collaboration diagrams for Classes; and Call, Caller graphs for methods; generated using Doxygen tool.

Check out the following link to try it:

Below's a summary of what you'll find. Also, instructions on how this was done.


Summary of the Doxygen Output

  • View class's inheritance diagram; via standard UML notation.

Screenshot of Class Reference page for DDLRecordLocalServiceImpl showing a partial inheritance diagram occluded by an auto-complete list for the search box element





















  • View class collaboration diagram; via standard UML notation.

Screenshot of a part of a collaboration diagram for DDLRecordLocalServiceImpl

















  • View some additional method details: method source code, call graph, and caller graph.

Screenshot of method details for DDLRecordLOcalServiceImpl.getRecord including the source code, a call graph, and part of the caller graph















Screenshot of method details for DDLRecordLOcalServiceImpl.getRecords including the source code and a call graph















Helps digesting complex Liferay methods; such as MainServlet.service method; by visualizing method's call graph. The red boxes mean the node has over maximum allowed child nodes; I have chosen 100 for maximum allowed child nodes; others can adjust that value as needed ; see instructions at bottom to do so.

Screenshot of part of the call graph for MainServlet.service
















  • Additional features thrown in the mix: list all variabels, methods, and more.

Screenshot of a part of the list of variables used in Liferay Portal










  • View markdown files included in source code...












  • Browse packages included in source code...

Screenshot of Doxygen Packages tab for Liferay 7 CE GA1

















How to generate the output yourself

Prerequisites: doxygen 1.8.12 (the main tool which generates output),  graphviz (used to generate the UML diagrams via 'dot' command)

1. Install prerequisites: Doxygen  and Graphviz

2. Unzip Liferay 7 CE GA1 source code to a directory.

3. Open attached Doxygen configuration file (tested with version 1.8.12)

Update Line 782 from this:

INPUT                  =/opt/lr/7ce/liferay-portal-src-7.0-ce-ga1/

To point to the folder where you have Liferay 7 (or any other version's) source code.

4. Finally run the following command:

/opt/doxygen/build/bin/doxygen liferay-portal-src-7.0-ce-ga1

With the options in the settings file, this may take several hours to run depending on the machine's processor speed. The resulting output is about 18GB.

There are lots of options in Doxygen. One way to see what options are set is to do the following:

/opt/doxygen/build/bin/doxygen -g default
diff default liferay-portal-src-7.0-ce-ga1

This will show all fields modified by the custom configuration.

Thank you to Liferay and community.





More Blog Entries

HTML5 Specification audio Part 48

  Be a listener of Part 48, sections 4.4.8 of the HTML5 spec Summary: ...

JFK 50-miler Training Schedule

  Running helps improve person's health; and long-distance running helps clear mind;...