I'm making a tool that can be installed, but it has a dependency that needs prep. how do I do that?
the prep action will prep all dependencies in the tree
or do you mean how to prep a tool
yes, I'm making this tool: https://github.com/anteoas/eden which depends on another lib: https://github.com/anteoas/hawkeye which needs prep
so consumers will just need to declare their alias using eden (say :eden), then call clj -X:deps prep :aliases '[:eden]'
trying to get it working in gh actions
clojure -Ttools install io.github.anteoas/eden \
'{:git/url "" :git/tag "v2025.08.19"}' \
:as eden
then
clojure -Teden build
fails with
Error building classpath. The following libs must be prepared before use: [io.github.anteoas/hawkeye]if you're using a named tool ...
aha,
that may still be an outstanding issue
so this then:
- name: Install Eden tool
run: clojure -Ttools install io.github.anteoas/eden '{:git/tag "v2025.09.22"}' :as eden
- name: Prep Eden tool
run: clojure -X:deps prep :aliases '[:eden]'
if you have an eden alias, or you can be more explicit like:
clj -X:deps prep :extra '{:deps {io.github.anteoas/eden {:git/tag "v2025.09.22"}}}'
I've added a ticket for this at https://clojure.atlassian.net/browse/TDEPS-272
cool!
got it working now. thanks
prepping named tools would indeed be nice!
my thought with this was to get close to something like npm install -g eden , but I totally see the benefits of having a discrete step for "let this thing run arbitrary code".
yeah, that is by design
https://clojurians.slack.com/archives/C06MAR553/p1758576862436119