We've simplified the architecture, by reducing the number of concepts down to just three: components, bases, and projects. The tool is simpler, gives faster feedback, and a better visualisation of your projects, due to (amount other design changes) switching from Leiningen to tools.deps.
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"