This API provides a simple a mechanism for finding cyclic dependencies in you classpath.
The basic usage is this:
- Instantiate something that can find your classes. Either:
- DirectoryFinder
- ClasspathFinder
- Instantiate ClassDependencies with that 'class finder' and a base package.
- Now you can query the results.
@Test
public void testForPackageCyclicDependencies() {
ClassFinder finder = new DirectoryFinder(new File("build/classes/main"));
ClassDependencies classDependencies = new ClassDependencies(classFinder, "se.cyclic.jcyclic");
// Analyse the package and class graph
Set<String> cycles = classDependencies.getPackagesInCycles();
List<List<String>> cycles = classDependencies.getPackageCycles();
}
- Gradle plugin