When I'm creating a "tool" in and using :tools/usage what does the :exec-args key in :tools/usage do?
a map of default args to pass to :exec-fn
Only :ns-default and :ns-aliases seem to be documented and do anything -- or am I missing something in the code that uses the whole :tools/usage map?
The Spec for :tools/usage only lists those two keys, and clojure.tools.deps.extensions/coord-usage only documents returning those two keys.
oh cool then the docs are out of sync
thanks!
I mean, it makes sense that you can provide default :exec-args that way but I'm not finding that in the code yet...
I was actually secretly wondering if it allowed for a default action
or to call main somehow.
https://github.com/clojure/tools.deps/blob/master/src/main/clojure/clojure/tools/deps/script/make_classpath2.clj#L71 ignores :exec-args and the only other place that seems to use coord-usage is the show commands for -Ttools
I may be misremembering whatโs allowed where so maybe the docs are wrong
Thanks! That clears it up!
I'm working on getting rebel-readline-nrepl going. Hopefully late is better than never.
Ah, I have aliases and some dev code that starts Rebel Readline and starts an nREPL server as well:
clojure "$@" -M:1.12:portal:test:cider-nrepl:rebel:dev/repl
and https://github.com/seancorfield/dot-clojure/blob/develop/src/org/corfield/dev/repl.clj#L116-L165Specifically https://github.com/seancorfield/dot-clojure/blob/develop/src/org/corfield/dev/repl.clj#L140-L147
(but there are a few caveats around add-lib usage with my setup)
Well now pretty soon you will be able to connect to the nREPL server instead of having to run it in your process.
Previously, I didn't bother with an interactive REPL at all -- just jacked-in from Calva and did everything via eval from RCFs -- but I was also running a separate, primitive "build REPL" for interactive test/build related tasks... which was what led me to unify them, and then to try to get Rebel Readline working with the "build REPL" (as well as spawning the nREPL server)... because a manually started REPL survives a window reload in VS Code, so you can update extensions etc, without losing REPL state ๐