I know I have cycle and I want to include it in test. #61

pmajkutewicz opened this Issue Oct 30, 2015 · 4 comments


None yet

2 participants



I have 4 packages:

example.a, example.b, example.c, example.d

With cycle between a and c and that is ok.

My test:

.allow(oneOf("example.a", "example.c"), oneOf("example.a", "example.c"))
, is(violationFree()))

fails with:

Expected: is "de.schauderhaft.degraph.check.Check$$anon$1"
     but: Configuration{classpath = [snip]
includes = example.**
constraints = no cycles
} yields the following constraint violations: [Package](no cycles):
    example.a -> example.c
    example.c -> example.a

I've also tried adding .withSlicing("module", "example.(*).**") but I'm still getting assertion error.
Is there a way to configure degraph for that kind of situation?


Unfortunatly no, not with the current version.

It always checks for cycles.

I'm currently working on a reworked API for formulating tests, and the new version will

a) make the check for cycles optional
b) will allow to ignore dependencies for the analysis

So in you example you could either not check for cycles at all, or ignore for example the dependency from example.c to example.a


Oh nice, so second solution will solve my problem :).

Any ETA on new API ? (days, month, months?)


Maybe end of the year, or early next year. I hope.


OK, good to know. I'll wait.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment