At present (v0.0.5) Katamari has two magical files kat-deps-defaults.edn and kat-deps-resolve.edn which are respectively global default deps and resolve clj "aliases".
This leads to #16 - parsing and using these files is a side-channel which doesn't correctly interact with Katamari's change detection system because most of the version pinning happens outside of that machinery.
Solution
Rework clojure-library and java-library to rewrite their :deps map during the roll.prep phase by applying the globally pinned coordinates. This allows the coordinates to behave as intended, while exposing to Katamari's rule-id machinery the deliberately pinned coordinates in a build. This will expand the rule structures for the purposes of list-tasks and show-request more than somewhat, but that cost is considered acceptable relative to having incorrect behavior in the face of version bumps.
At present (v0.0.5) Katamari has two magical files
kat-deps-defaults.edn
andkat-deps-resolve.edn
which are respectively global defaultdeps
andresolve
clj "aliases".This leads to #16 - parsing and using these files is a side-channel which doesn't correctly interact with Katamari's change detection system because most of the version pinning happens outside of that machinery.
Solution
Rework
clojure-library
andjava-library
to rewrite their:deps
map during theroll.prep
phase by applying the globally pinned coordinates. This allows the coordinates to behave as intended, while exposing to Katamari'srule-id
machinery the deliberately pinned coordinates in a build. This will expand therule
structures for the purposes oflist-tasks
andshow-request
more than somewhat, but that cost is considered acceptable relative to having incorrect behavior in the face of version bumps.