-
Notifications
You must be signed in to change notification settings - Fork 183
Open
Description
Problem
ApplicationModules.of(…) factory methods are restrictive. Specifically:
- Naming Collisions: A
DescribedPredicatesharing a name with the class blocks the import. - Lack of Composition: Cannot apply multiple
ImportOptionfilters (e.g., excluding tests AND fixtures) while using predicates.
Proposed Solution
Introduce a Builder or expanded Varargs support to match ArchUnit’s ClassFileImporter flexibility:
// Option A: Builder Pattern
ApplicationModules modules = ApplicationModules.builder(MyApplication.class)
.withImportOption(ImportOption.Predefined.DO_NOT_INCLUDE_TESTS)
.withExclusion(DescribedPredicate.resideInAPackage("..internal.."))
.build();
// Option B: Importer Injection
ClassFileImporter importer = new ClassFileImporter()
.withImportOption(new DontIncludeTests());
ApplicationModules modules = ApplicationModules.of(MyApplication.class, importer);Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels