I have a user-level deps.edn and a project-level deps.edn. I want to generate a pom.xml file for my project that ignores any dependencies in my user-level deps.edn. The command I have now is:
clj -Srepro -X:deps mvn-pom
According to the docs (and to the report provided by -Sverbose
), this should ignore my user-level deps.edn. But I still see the dependencies from my user deps.edn appearing in the generated pom.xml! I've tried this with -Sforce
also and nothing changed. Whether I use -Spom
or -X:deps mvn-pom
, it seems like the -Srepro
option is ignored.
Here's more info about my environment:
$ clj -Srepro -Sverbose -Sdescribe
version = 1.10.1.697
install_dir = /usr/local/Cellar/clojure/1.10.1.697
config_dir = /Users/jming/.clojure
config_paths = /usr/local/Cellar/clojure/1.10.1.697/deps.edn deps.edn
cache_dir = .cpcache
cp_file = .cpcache/1655984260.cp
{:version "1.10.1.697"
:config-files ["/usr/local/Cellar/clojure/1.10.1.697/deps.edn" "deps.edn" ]
:config-user ""
:config-project "deps.edn"
:install-dir "/usr/local/Cellar/clojure/1.10.1.697"
:config-dir "/Users/jming/.clojure"
:cache-dir ".cpcache"
:force false
:repro true
:main-aliases ""
:repl-aliases ""}
What am I doing wrong? Why does -Srepro
appear to be doing nothing, despite what -Sverbose
says? How can I keep user-level dev dependencies like cljfmt
out of my pom.xml?