This task analyzes dependencies between groups of classes and produces a report. Group of class is defined with include/exclude declaration. The report format can be a simple ASCII text printed on screen, or an xml files. This task is based on ASM 2.x.
Here is an exemple of xml report ( the dtd).
The task class is DependencyAnalyser.
Attribute | Description | Required |
dir | the root directory of classes | No |
output | the report file. If the file extension is xml, the report format is XML, otherwise simple indented text. | No (by default the report is on screen) | showContent | indicates if the report must list groups content. | No (default is false) |
The group nested element is a fileset. All includes files must be .class file. This nested element has a dir attribute for the root of the fileset. By default the root directory is the one specified at task level.
This first example analyzes dependencies classes from the directory output/build. There is 3 groups (ejb, jdo and common). The xml report file is output/build/dependency.xml :
<taskdef resource="ow.tasks" classpath="lib/ow_util_ant_tasks.jar"> ... <dependency dir="output/build" showContent="true" output="output/build/dependency.xml"> <group name="ejb"> <include name="**/EJB*.class"/> <include name="**/ejb/*.class"/> <include name="**/ejb/*/*.class"/> <include name="javax/persistence/**/*.class"/> </group> <group name="jdo"> <include name="**/JDO*.class"/> <include name="**/jdo/*.class"/> <include name="**/jdo/*/*.class"/> <include name="javax/jdo/**/*.class"/> </group> <group name="common"> <include name="**/*.class"/> <exclude name="**/EJB*.class"/> <exclude name="**/JDO*.class"/> <exclude name="**/ejb/*.class"/> <exclude name="**/ejb/*/*.class"/> <exclude name="**/jdo/*.class"/> <exclude name="**/jdo/*/*.class"/> </group> </dependency>
Copyright © 2000-2005 France Telecom. All rights Reserved.