ArchUnit is an excellent tool for enforcing architectural rules. Our goal is to validate the communication protocol between modules in a multi-module project, specifically in KMP (Kotlin Multiplatform). In this context, Popcorn is designed to analyze in a coarse granularity way, focusing on broader structural constraints. In contrast, ArchUnit provides fine-grained control, allowing for more precise enforcement of architectural rules.
In Popcorn, you have an easy interface to inform rules such as:
• “helper” modules should not have internal dependencies;
• “presentation” modules should not depends on data modules directly;
• you also can write custom rules.