A new prerelease version of clj is now available (1.10.1.672):
• See https://insideclojure.org/2020/09/04/clj-exec/
• -X now supports multiple aliases, aliases with other argmap options like :extra-deps, and ad hoc functions
• new argmap alias keys :ns-default
and :ns-aliases
can be supplied to make using ad-hoc functions simpler
• -M is now used to invoke clojure.main, also supports aliases with other argmap options
• -P is a new option to "prepare" your execution (download deps, cache classpath etc, but not exec) - useful for dryrun-esque capability particularly when preparing containers etc
• -R, -C, -T, -O have been removed (use -X, -M or -A for repl invocation instead)
• argmap keys :deps/:paths have been renamed to :replace-deps/:replace-paths (old will still work in deprecated mode for a while, but not forever)
• argmap keys for -X :fn and :args were renamed to :exec-fn and :exec-args
• -Stree, -Spom, and -Sresolve-tags are now programs you invoke with -X on the built-in :deps alias: -X:deps tree
, -X:deps mvn-pom
, -X:deps git-resolve-tags
Also, the mvn local install program is now similar -X:deps mvn-install
. These are all leveraging the new :ns-default
arg.
• Docs for all this stuff can be found in a https://clojure.org/reference/deps_and_cli_prerelease which will exist until this is the next stable version, hopefully soonish
• Feedback welcome in #tools-deps before this gets promoted to stable!