Open ArturoBlazquez opened 1 year ago
You could already use [@AnalyzeClasses
's packagesOf
](https://javadoc.io/doc/com.tngtech.archunit/archunit-junit5-api/latest/com/tngtech/archunit/junit/AnalyzeClasses.html#packagesOf()):
@AnalyzeClasses(packagesOf = {First.class, Second.class})
public class MyArchitectureTest {
// ...
}
This will however not only import First
and Second
, but their entire packages.
If your rules only apply to those classes, I'd be explicit about that in the rule definition.
I think principally this classes =
syntax would be a fair addition, since there is also ClassFileImporter.importClasses(Class...)
. I originally left it out, because I thought it's a corner case and you can use LocationProvider
exactly as you did to achieve the same. Still not sure if classes = ...
would be used that often, but it would be consistent with ClassFileImporter
and also not be a huge deal to add.
So, if anybody wants to give this a shot I'd be open for a PR 😁
There are times when there are architecture rules that only apply to some classes, but that are not on the same package. It would be nice if we could do something similar to this
Something similar can be achieved using
locations
, but it implies either adding a lot of boilerplate codeor having to develop a custom solution like this one, that still isn't completely clean as it implies adding an extra annotation