cursive

Issues at: https://git.io/cursive-issues
cfleming 2021-02-25T00:30:55.076500Z

So the problem seems to be that when deps are pulled in through :default-deps, deps doesn’t normalise the paths to absolute paths. This using your first (broken) example:

~/d/c/f/main> clj -Stree -A:backend-defaults:test
org.clojure/clojure 1.10.2
  . org.clojure/spec.alpha 0.2.194
  . org.clojure/core.specs.alpha 0.2.56
io.clubhouse.module/logging ../logging
io.clubhouse.module/dev-shared ../dev-shared

cfleming 2021-02-25T00:32:34.076900Z

Using your second (working) example:

~/d/c/f/main> clj -Stree -A:backend-defaults:test
org.clojure/clojure 1.10.2
  . org.clojure/spec.alpha 0.2.194
  . org.clojure/core.specs.alpha 0.2.56
io.clubhouse.module/logging /Users/colin/dev/cursive-bugs/favila-deps-issue/logging
io.clubhouse.module/dev-shared /Users/colin/dev/cursive-bugs/favila-deps-issue/dev-shared

cfleming 2021-02-25T00:34:53.077100Z

Here, the two libs come in via :extra-deps and top-level :deps, and they are both absolute. Either way, for robustness the Cursive fix is easy, I should just absolutise those even if deps doesn’t.

cfleming 2021-02-25T00:35:44.077400Z

cc: @alexmiller in case this is of interest.

favila 2021-02-25T00:41:18.079400Z

This is ringing a bell. I think I had to write some sed to mess with the classpath dumped out of clj tools. I’ll have to look up the details, it might be the same issue

cfleming 2021-02-25T00:52:49.079700Z

Yeah, I guess the classpath will only work when the Java process is invoked from the project directory.

alexmiller 2021-02-25T03:59:00.080100Z

I can look at that