Looks good!
How does it compare to ArchUnit ? Do you know ?
I havent used that either but have considered starting using something like this to enforcing architecture.
🙏 1
g
Gabriel Bronzatti Moro
01/31/2025, 5:22 PM
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.
👍 1
Gabriel Bronzatti Moro
01/31/2025, 5:23 PM
Thanks for the question @spand 🙏
s
spand
02/03/2025, 8:10 AM
Would it then be correct to say that
• Popcorn enforces constraints between gradle/kotlin modules ? (only?)
• ArchUnit enforces constraints between classes/packages (jvm only?)