Chapter 6. Reports

6.1. Dependency reports

6.1.1. Class Dependants

The class dependants report will lists which classes depends on a specific class.

Table 6.1. Class Dependants report

ClassDependants
The classA list of classes that depends on this class

6.1.2. Class Depends On report

The class depends on report will lists which classes that a class depends on.

Table 6.2. Class Depends On report

ClassDepends On
The classA list of classes which the class depends on

6.1.3. Dependants

The dependants report will lists which archives depends on a specific archive.

Table 6.3. Dependants report

ArchiveDependants
The archiveA list of archives that depends on this archive

6.1.4. Depends On report

The depends on report will lists which archives that an archive depends on.

Table 6.4. Depends On report

ArchiveDepends On
The archiveA 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
        

6.1.5. Graphical dependencies report

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

ArchiveArchivesPackages
The archiveGraphViz file that shows inter-archive dependenciesGraphViz file that shows inter-package dependencies

6.1.6. Transitive Dependants

The transitive dependants report will lists all archives depends on a specific archive.

Table 6.6. Transitive Dependants report

ArchiveDependants
The archiveA list of all archives that depends on this archive

6.1.7. Transitive Depends On report

The transitive depends on report will lists all archives that an archive depends on.

Table 6.7. Transitive Depends On report

ArchiveDepends On
The archiveA 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
        

6.1.8. Circular Dependency report

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.8. Circular Dependency report

ArchiveCircular Dependencies
The archiveA 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
        

6.2. General reports

6.2.1. Class Location

The class location will lists which archives that contain a specific class file.

Table 6.9. Class Location report

ClassJar file
The classThe list of archives that contains the class

Filter key is: classlocation

Filter definition is:

[class|package](,[class|package])*;
        

An example:

classlocation=org.eclipse.*,com.mycompany.MyClass
        

6.2.2. OSGi

The OSGi report will display the OSGi state of your project.

Table 6.10. OSGi report

ArchiveOSGiReportManifest
The archiveThe OSGi state of the archiveThe OSGi report for the archiveA sample OSGi enabled MANIFEST file

Filter key is: osgi

Filter definition is:

[archive](,[archive])*;
        

An example:

osgi=myjar1.jar,myjar2.jar
        

6.2.3. Sealed information

The sealed information report will display the sealed status of your project.

Table 6.11. Sealed information report

ArchiveStatus
The archiveThe 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
        

6.2.4. Signing information

The signing information report will display the signing status of your project.

Table 6.12. Signing information report

ArchiveStatus
The archiveThe 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
        

6.2.5. Eliminate Jar files with different versions

The eliminate jar files with different versions lists archives that have the same name but has a different version identifier.

Table 6.13. Eliminate Jar report

ArchiveLocation
The archiveThe list of locations that the archive is found

Filter key is: eliminatejars

Filter definition is:

[archive](,[archive])*;
        

An example:

eliminatejars=myjar1.jar,myjar2.jar
        

6.2.6. Invalid version

The invalid version report lists archives that doesn't have a valid OSGi version identifier.

Table 6.14. Invalid version report

NameLocation
The archive nameThe location and version identifier for the archive

Filter key is: invalidversion

Filter definition is:

[archive](,[archive])*;
        

An example:

invalidversion=myjar1.jar,myjar2.jar
        

6.2.7. Multiple Jar files

The multiple jar files report will list classes that appear in multiple jar files.

Table 6.15. Multiple Jar files report

ClassJar files
The classThe 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
        

6.2.8. Multiple Jar files (Package)

The multiple jar files fpr packages report will list packages that appear in multiple jar files.

Table 6.16. Multiple Jar files report (Package)

PackageJar files
The package nameThe 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
        

6.2.9. Multiple Locations

The multiple locations report will list archives that appear in multiple locations under the scanned source directory.

Table 6.17. Multiple Locations report

NameLocation
The archive nameThe list of locations where the archive is found

Filter key is: multiplelocations

Filter definition is:

[archive](,[archive])*;
        

An example:

multiplelocations=myjar1.jar,myjar2.jar
        

6.2.10. Unused 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.

Table 6.18. Unused Jar report

ArchiveUsed
The archiveStatus if the archive is used or not

Filter key is: unusedjar

Filter definition is:

[archive](,[archive])*;
        

An example:

unusedjar=myjar1.jar,myjar2.jar
        

6.2.11. Black listed

The black listed report will list archives that uses black listed APIs.

Table 6.19. Black listed report

ArchiveUsage
The archive nameThe list of packages that uses black listed APIs

Filter key is: blacklisted

Filter definition is:

[archive](,[archive])*;
        

An example:

blacklisted=myjar1.jar,myjar2.jar
        

6.2.12. No version

The no version report will list archives that doesn't have a version identifier.

Table 6.20. No version report

NameLocation
The archive nameThe list of locations where the archive is found

Filter key is: noversion

Filter definition is:

[archive](,[archive])*;
        

An example:

noversion=myjar1.jar,myjar2.jar
        

6.3. Archive reports

6.3.1. Java ARchive (JAR)

The Java ARchive (JAR) report will provide you with an overview of the archive.

Table 6.21. No version report

KeyValue
NameThe archive name
Class VersionThe version identifier for the class files
LocationsThe list of locations for the archive
ManifestThe manifest file
Signing informationThe signing information for the archive
RequiresThe list of required classes
ProvidesThe list of provided classes - including SerialVersionUID (if present)