In some situations like when using nil
in :classpath-overrides
, the classpath can end up having empty paths like src::/home/russ/russmatney/ralphie/src:::/home/russ/.m2/repository/cheshire/cheshire/5.10.0/cheshire-5.10.0.jar
.
This has the effect that the local dir is added to the classpath. Demo:
echo '(ns foo) (prn :foo)' > foo.clj
clj -Scp ":$(clojure -Spath)" -M -e "(require 'foo)"
:foo
Repro to get a classpath with empty paths:
deps.edn:
{:aliases
{:remove-clojure
{:classpath-overrides
{org.clojure/clojure ""
org.clojure/spec.alpha ""
org.clojure/core.specs.alpha ""}}}}
Shell:
$ clojure -Spath -A:remove-clojure
src:::
Alex classified this as a bug on Clojurians slack.
Maybe the empty paths returned from tools.deps.alpha should be fixed.
The empty path on the classpath behavior might be JVM behavior.