DependencyReporter

Description

Summarizes a dependency graph according to user-specified criteria.

This tool takes a dependency graph generated by DependencyExtractor and filters it based on selection criteria provided by the user. The result is a new dependency graph which is a subgraph of the original one. You can use the various XXXToText and XXXToHTML XSL transformations to render the graph as text or HTML for human reading.

With the serialize attribute, it serializes the entire dependency graph with Java serialization.

With the xml attribute, it converts the entire dependency graph into an XML document that follows the dependencies DTD.

Parameters

Attribute Description Required
srcfile filename of the XML document containing the dependency graph. Yes
validate validate the input XML against its DTD. No
destfile where to write the output. If the file does not exists, it is created. If it already exists, its content is overwritten. Yes
scopeincludes the name of a package, class, or feature must match the regular expressions for it to be included in the query's focus. No
scopeexcludes the name of a package, class, or feature must NOT match the regular expressions for it to be included in the query's focus. No
packagescope select packages as part of the query's focus. No
packagescopeincludes the name of a package must match the regular expressions for it to be included in the query's focus. No
packagescopeexcludes the name of a package must NOT match the regular expressions for it to be included in the query's focus. No
classscope select classes (with their package) as part of the query's focus. No
classscopeincludes the name of a class must match the regular expressions for it to be included in the query's focus. No
classscopeexcludes the name of a class must NOT match the regular expressions for it to be included in the query's focus. No
featurescope select features (with their class and package) as part of the query's focus. No
featurescopeincludes the name of a feature must match the regular expressions for it to be included in the query's focus. No
featurescopeexcludes the name of a feature must NOT match the regular expressions for it to be included in the query's focus. No
filterincludes the name of a package, class, or feature at the other end of the dependency must match the regular expressions for the dependency to be included in the results. No
filterexcludes the name of a package, class, or feature at the other end of the dependency must NOT match the regular expressions for the dependency to be included in the results. No
packagefilter show dependencies to and/or from packages. No
packagefilterincludes the name of a package at the other end of the dependency must match the regular expressions for the dependency to be included in the results. No
packagefilterexcludes the name of a package at the other end of the dependency must NOT match the regular expressions for the dependency to be included in the results. No
classfilter show dependencies to and/or from classes. No
classfilterincludes the name of a class at the other end of the dependency must match the regular expressions for the dependency to be included in the results. No
classfilterexcludes the name of a class at the other end of the dependency must NOT match the regular expressions for the dependency to be included in the results. No
featurefilter show dependencies to and/or from features. No
featurefilterincludes the name of a feature at the other end of the dependency must match the regular expressions for the dependency to be included in the results. No
featurefilterexcludes the name of a feature at the other end of the dependency must NOT match the regular expressions for the dependency to be included in the results. No
all shortcut for packagescope, classscope, featurescope, packagefilter, classfilter, and featurefilter. No
p2p shortcut for packagescope and packagefilter. No
c2p shortcut for classscope and packagefilter. No
c2c shortcut for classscope and classfilter. No
f2f shortcut for featurescope and featurefilter. No
includes shortcut for scopeincludes and filterincludes. No
excludes shortcut for scopeexcludes and filterexcludes. No
serialize writes the dependency graph as serialized Java objects. At this time, Dependency Finder cannot deserialize a saved graph, so this switch is pretty useless. No
xml writes the dependency graph as an XML document with the dependencies DTD. No
dtdprefix prefix of the DTD URL for the XML output document. Only useful with xml. No
indenttext used for each indentation level in textual and XML output. No
minimize minimizes the dependency graph before outputing it. No
maximize maximizes the dependency graph before outputing it. No

Nested elements

None

Examples

To reduce the graph in dg.xml to package-to-package dependencies and save it to dg.p2p.xml:

  <dependencyreporter srcfile="df.xml"
                      destfile="df.p2p.xml"
                      p2p="yes"/>

To reduce the graph in dg.xml to package-to-package dependencies among com.jeantessier.* packages and save it to dg.p2p.xml, and then convert it to HTML:

  <dependencyreporter srcfile="df.xml"
                      destfile="df.p2p.xml"
                      p2p="yes"
                      includes="/jeantessier/"/>

To reduce the graph in dg.xml to package-to-package dependencies and save it to dg.p2p.xml:

  <dependencyreporter srcfile="df.xml"
                      destfile="df.p2p.xml"
                      p2p="yes"/>
  <xslt style="${dependencyfinder.home}/etc/DependenciesToHTML.xsl"
        in="df.p2p.xml"
        out="df.p2p.html"/>

Copyright © 2001-2003 Jean Tessier. All rights reserved.