I know I have cycle and I want to include it in test.
Hi
I have 4 packages:
example.a, example.b, example.c, example.d
With cycle between a and c and that is ok.
My test:
assertThat(
classpath()
.noJars()
.including("example.**")
.allow(oneOf("example.a", "example.c"), oneOf("example.a", "example.c"))
, is(violationFree()))
fails with:
java.lang.AssertionError:
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. Thanks.