JBoss.orgCommunity Documentation
The class dependants report will lists which classes depends on a specific class.
Table 6.1. Class Dependants report
Class | Dependants |
---|---|
The class | A list of classes that depends on this class |
The class depends on report will lists which classes that a class depends on.
Table 6.2. Class Depends On report
Class | Depends On |
---|---|
The class | A list of classes which the class depends on |
The dependants report will lists which archives depends on a specific archive.
Table 6.3. Dependants report
Archive | Dependants |
---|---|
The archive | A list of archives that depends on this archive |
The depends on report will lists which archives that an archive depends on.
Table 6.4. Depends On report
Archive | Depends On |
---|---|
The archive | A list of archives which the archive depends on. Classes which can't be found are listed in italic |
Filter key is: dependson
Filter definition is:
archive=[class|package](,[class|package])*;
An example:
dependson=myjar1.jar=org.eclipse.*;myjar2.jar=com.mycompany.MyClass,com.mycompany.OtherClass
The graphical dependencies report will create GraphViz dot files that show the dependencies as graphics.
As an example you can generate a PNG image using
dot -Tpng myarchive.dot > myarchive.png
See the GraphViz documentation for a full description on how to generate these images.
Table 6.5. Graphical dependencies report
Archive | Archives | Packages |
---|---|---|
The archive | GraphViz file that shows inter-archive dependencies | GraphViz file that shows inter-package dependencies |
The transitive dependants report will lists all archives depends on a specific archive.
Table 6.6. Transitive Dependants report
Archive | Dependants |
---|---|
The archive | A list of all archives that depends on this archive |
The package dependants report lists the packages that depend on a specific package within your archive that you are analyzing.
Table 6.7. Package Dependants Report
Package | Dependants |
---|---|
The package | A list of packages that depend on this package |
The package dependants report lists the packages that your package depends on.
Table 6.8. Package Dependants Report
Package | Depends On |
---|---|
The package | A list of packages that your package depends on |
The transitive depends on report will lists all archives that an archive depends on.
Table 6.9. Transitive Depends On report
Archive | Depends On |
---|---|
The archive | A list of all archives which the archive depends on. Classes which can't be found are listed in italic |
Filter key is: transitivedependson
Filter definition is:
archive=[class|package](,[class|package])*;
An example:
transitivedependson=myjar.jar=com.mycompany.MyClass,com.mycompany.OtherClass
The circular dependency report will lists all archives that has a circular dependency with another archive.
Archives that are marked with "(*)" has the circular dependency. Note, that the circular dependency can be through a transitive dependency and not a direct dependency.
Table 6.10. Circular Dependency report
Archive | Circular Dependencies |
---|---|
The archive | A list of all archives which the archive has a circular dependency on. |
Filter key is: circulardependency
Filter definition is:
[archive](,[archive])*;
An example:
circulardependency=myjar1.jar,myjar2.jar
The class location will lists which archives that contain a specific class file.
Filter key is: classlocation
Filter definition is:
[class|package](,[class|package])*;
An example:
classlocation=org.eclipse.*,com.mycompany.MyClass
The OSGi report will display the OSGi state of your project.
Table 6.12. OSGi report
Archive | OSGi | Report | Manifest |
---|---|---|---|
The archive | The OSGi state of the archive | The OSGi report for the archive | A sample OSGi enabled MANIFEST file |
Filter key is: osgi
Filter definition is:
[archive](,[archive])*;
An example:
osgi=myjar1.jar,myjar2.jar
The sealed information report will display the sealed status of your project.
Table 6.13. Sealed information report
Archive | Status |
---|---|
The archive | The status if the archive is sealed or unsealed |
Filter key is: sealed
Filter definition is:
[yes|on|true|no|off|false]
An example:
sealed=off
The signing information report will display the signing status of your project.
Table 6.14. Signing information report
Archive | Status |
---|---|
The archive | The status if the archive is signed or unsigned |
Filter key is: sign
Filter definition is:
[yes|on|true|no|off|false]
An example:
sign=off
The eliminate jar files with different versions lists archives that have the same name but has a different version identifier.
Table 6.15. Eliminate Jar report
Archive | Location |
---|---|
The archive | The list of locations that the archive is found |
Filter key is: eliminatejars
Filter definition is:
[archive](,[archive])*;
An example:
eliminatejars=myjar1.jar,myjar2.jar
The invalid version report lists archives that doesn't have a valid OSGi version identifier.
Table 6.16. Invalid version report
Name | Location |
---|---|
The archive name | The location and version identifier for the archive |
Filter key is: invalidversion
Filter definition is:
[archive](,[archive])*;
An example:
invalidversion=myjar1.jar,myjar2.jar
The multiple jar files report will list classes that appear in multiple jar files.
Table 6.17. Multiple Jar files report
Class | Jar files |
---|---|
The class | The list of archives where this class is found |
Filter key is: multiplejars
Filter definition is:
[package](,[package])*;
An example:
multiplejars=com.mycompany.mypackage1,com.mycompany.mypackage2
The multiple jar files fpr packages report will list packages that appear in multiple jar files.
Table 6.18. Multiple Jar files report (Package)
Package | Jar files |
---|---|
The package name | The list of archives where this package is found |
Filter key is: multiplejarspackage
Filter definition is:
[package](,[package])*;
An example:
multiplejarspackage=com.mycompany.mypackage1,com.mycompany.mypackage2
The multiple locations report will list archives that appear in multiple locations under the scanned source directory.
Table 6.19. Multiple Locations report
Name | Location |
---|---|
The archive name | The list of locations where the archive is found |
Filter key is: multiplelocations
Filter definition is:
[archive](,[archive])*;
An example:
multiplelocations=myjar1.jar,myjar2.jar
The Unused Jar report lists archives that isn't referenced from any other Jar archive in the distribution. This doesn't mean however that the archive isn't used since it could be referenced through Java Reflection or through metadata.
Filter key is: unusedjar
Filter definition is:
[archive](,[archive])*;
An example:
unusedjar=myjar1.jar,myjar2.jar
The black listed report will list archives that uses black listed APIs.
Table 6.21. Black listed report
Archive | Usage |
---|---|
The archive name | The list of packages that uses black listed APIs |
Filter key is: blacklisted
Filter definition is:
[archive](,[archive])*;
An example:
blacklisted=myjar1.jar,myjar2.jar
The Java ARchive (JAR) report will provide you with an overview of the archive.
Table 6.24. No version report
Key | Value |
---|---|
Name | The archive name |
Class Version | The version identifier for the class files |
Locations | The list of locations for the archive |
Manifest | The manifest file |
Signing information | The signing information for the archive |
Requires | The list of required classes |
Provides | The list of provided classes - including SerialVersionUID (if present) |
The Web ARchive (WAR) report will provide you with an overview of the archive, like the JAR report.
As a user, you can define your own custom report types to tattletale. However, there are some restrictions to this and there is some required configuration. These are as follows:
Your custom report class has to be an implementation of org.jboss.tattletale.reporting.Report
You have to define your required reports in jboss-tattletale.properties. Each key string has to be of the form 'customreport.{int}' where int has to start with 1 and increase by 1 with each extra custom report that is required.
For example
customreport.1=my.custom.package.customreport
At runtime, as long as your custom jar file is in the classpath your custom report will be generated. If you were running from the command line for example:
java -classpath tattletale.jar:customreporting.jar org.jboss.tattletale.Main [directory-of-source-jar] [output-directory]
Copyright © 2011 Red Hat Middleware