Hey friends, I am not sure if this is the right ch...
# gradle
g
Hey friends, I am not sure if this is the right channel to post, but we at CodandoTV (tech community from Brazil) developed a gradle library. • Article: https://medium.com/codandotv/effortless-architecture-enforcement-in-multi-module-projects-with-popcorngp-06087be7be29 • Library: https://github.com/CodandoTV/popcorn-guineapig • Documentation: https://codandotv.github.io/popcorn-guineapig/ If you want to contribute, PRs are welcome ❤️
s
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
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
Thanks for the question @spand 🙏
s
Would it then be correct to say that • Popcorn enforces constraints between gradle/kotlin modules ? (only?) • ArchUnit enforces constraints between classes/packages (jvm only?)
g
Yep 👏 🎯
1