Skip to content

Instantly share code, notes, and snippets.

@diegoicosta
Created November 6, 2020 11:02
Show Gist options
  • Save diegoicosta/bf5ca87b8394a76cbe889fe82768f495 to your computer and use it in GitHub Desktop.
Save diegoicosta/bf5ca87b8394a76cbe889fe82768f495 to your computer and use it in GitHub Desktop.
JDepend Example
package de.conrad.crm360.createofferservice;
import com.google.common.collect.Lists;
import jdepend.framework.JDepend;
import jdepend.framework.JavaPackage;
import jdepend.framework.PackageFilter;
import org.junit.Test;
import java.io.IOException;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.internal.bytebuddy.matcher.ElementMatchers.is;
/**
* @author diego.costa on 14.10.20
**/
public class PackageDependencyTest {
@Test
public void testCycles() throws IOException {
PackageFilter filter = new PackageFilter();
filter.addPackages(Lists.newArrayList("java.*","javax.*", "org", "com.*","feign","springfox.*"));
JDepend jdepend = new JDepend(filter);
jdepend.addDirectory("target/classes");
// jdepend.addPackage("de.conrad.crm360.createofferservice");
// jdepend.setComponents("de.conrad.crm360.createofferservice.client");
jdepend.analyze();
// jdepend.
jdepend.getPackages().stream()
.filter(o -> ((JavaPackage) o).instability() > 0.4)
.forEach(p -> {
JavaPackage jp = (JavaPackage) p;
System.out.println(jp.getName() + ": " + jp.instability() + " CA:" + jp.afferentCoupling() +" CE:"+ jp.efferentCoupling() );
});
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment