The Classycle software package provides tools for analyzing Java Class and Package Dependencies.
One of the advantages of Classycle is that it does not require the source files in order to analyze the structured data as it analyzes the compiled class files. Additionally, since version 1.3, it also evaluates Java Generics signatures. By analyzing the class files, directed graphs of class and package dependencies are calculated, which are further analyzed to detect cyclic dependencies. For in-depth understanding of how Classycle works, refer to Chapter 2 of the User Guide.
Classycle's Analyser produces a report in XML, containing the complete directed class/package graph, all strong components of the class/package graph with more than one vertex (i.e., cycles of class/package dependencies) and groups the classes/packages into layers. For each class/package, the layer index is reported. For more information, refer to Chapter 3 of the User Guide on what Classycle measures. Additionally, for rendering the XML report into an HTML page, there is an XSL transformation.
Furthermore, based on the class graph, Classycle's Dependency Checker allows users to search for unwanted dependencies between two sets of classes. The unwanted dependency can be either a direct one, whereby a class of the start set uses a class of the end set or an indirect one, where a path goes via intermediate classes from a class of start set to a class of the end set. If such dependencies are detected, then all or only the shortest paths are reported. Moreover, the Dependency Checker can also confirm the absence of large class cycles or package cycles.
Classycle tools can be run on the command line as well as an Ant task. Command line options and Ant task attributes are comprehensively explained in the first chapter of the User Guide. Finally, the latest release introduces the ability to have file attributes in ant tasks as well as absolute paths.
Version 1.3.1: N/A