In which I talk about some of the benefits we’re finding from our early use of Polylith: https://corfield.org/blog/2021/06/06/deps-edn-monorepo-3/
Thanks for sharing 🙂
Nice and well written blog post! I agree with everything you write.
when running clojure -M:poly ...
where is the polyfy/polylith github repo cloned?
Into ~/.gitlibs
That's standard Clojure CLI behavior
Oh! Clojure CLI noob here 😁 thanks !
The Clojure CLI can execute any (public) function that accepts a hash map. That means you can do:
clojure -X:dev com.acme.thing.interface/some-process
and it will execute a function from components/thing
using the development project. That’s a pretty heavy-handed set of dependencies so would you:
a) stick with the above and just not care about the overhead of the full set of :dev
dependencies?
b) create an ad hoc alias in the workspace-level deps.edn
file to support this exec usage? (bearing in mind you’ll need to maintain it and update it if the component’s dependencies change)
c) create a projects
entry to provide a Polylith-“compatible” deps.edn
file to support this exec usage? (at which point I’d say, hey, is it reasonable to have a project that uses no bases
?)
(this question just cropped up today at work as I’m about to refactor part of our build tool pipeline into a Polylith component)