The Polylith team has just released a big update to the Polylith architecture.
Now it's even simpler to grow software out of composable LEGO-like building blocks.
The whole team is here to answer your questions.
I was really impressed with how it encouraged decoupling, and it has positively affected how I write code and think about dependencies.
The original version of the tool used: - Leiningen to compile and build the artefacts - symlinks to keep the code in one place (but allow for reuse in multiple artefacts) - "workspace interfaces" (empty component interfaces) to guarantee the decoupling between components
The new version of the tool uses: - tools.deps to build the artefacts and remove the need for symlinks - static code analysis to remove the need for "workspace components"