tools-deps 2024-12-11

I’m trying to use the :deps/root and it’s not seeming to find the manifest file

clj -Sdeps '{:aliases {:starburst/test {:extra-deps {starburst/driver {:local/root "/Users/dan/projects/work/starburst-metabase-driver" :deps/root "drivers/starburst"}}}}}' -A:starburst/test

Error building classpath. Manifest file not found for starburst/driver in coordinate {:local/root "/Users/dan/projects/work/starburst-metabase-driver", :deps/root "drivers/starburst"}
But the deps.edn file is definitely there
❯ ls /Users/dan/projects/work/starburst-metabase-driver/drivers/starburst
#    <------------- local/root -----------------------> <-- deps/root -->
deps.edn	resources	src		test
I’ve tried different combinations of / at the end or beginning of the coordinates. And of course i can start this up with
clj -Sdeps '{:aliases {:starburst/test {:extra-deps {starburst/driver {:local/root "/Users/dan/projects/work/starburst-metabase-driver/drivers/starburst"}}}}}' -A:starburst/test
Clojure 1.12.0
user=>
This succeeds if i concatenate the two together. Am I missing something?

Alex Miller (Clojure team) 2024-12-11T14:37:46.930789Z

:deps/root does not work with local deps at the moment, although there is a jira and a patch for it that I need to review

Alex Miller (Clojure team) 2024-12-11T14:38:07.307909Z

you can of course just point your :local/root into the subpath

yeah. Got there. I’m getting the dreaded “WARNING: Use of :paths external to the project has been deprecated”. I’m trying to test two projects in conjunction with each other (3rd party drivers written for metabase)

Ideally could get this working with the git dep but i can’t easily add it’s test directory to the classpath. So i need to know its location to add <location>/test.

When knowing the location, we want to test the two projects in coordination so the restriction that the dep must be inside the project seems contrary to what we are doing.

ah. i misread the warning

the dep is fine. It’s adding it’s test classpath root that it’s complaining about. And i don’t know how to solve that until aliases on deps lands?

Alex Miller (Clojure team) 2024-12-11T14:45:59.569489Z

using a relative local dep is I think the right answer in this case, sorry the deps/root thing is not working yet. accessing arbitrary paths "outside" / "above" the project is imo a security issue as you could include a transitive dep that pulls in arbitrary paths on your disk, and that seems bad

Alex Miller (Clojure team) 2024-12-11T14:47:03.184189Z

but to your real problem, hoping to spend some time in 2025 in surfacing aliases in deps and making a path to get to (for example) a :test alias

I am eagerly and patiently awaiting 🙏

> hoping to spend some time in 2025 in surfacing aliases in deps and making a path to get to (for example) a :test alias This is excellent to hear! Thanks @alexmiller!

Alex Miller (Clojure team) 2025-09-26T15:27:07.092779Z

nope

1