tools-deps

dpsutton 2024-12-11T14:15:52.223729Z

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

dpsutton 2024-12-11T14:38:46.941429Z

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)

dpsutton 2024-12-11T14:39:35.777239Z

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.

Alex Miller (Clojure team) 2024-12-11T14:40:06.876539Z

https://clojure.atlassian.net/browse/TDEPS-246

🙏 1
dpsutton 2024-12-11T14:42:52.296559Z

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.

dpsutton 2024-12-11T14:45:08.745499Z

ah. i misread the warning

dpsutton 2024-12-11T14:45:41.005739Z

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

dpsutton 2024-12-11T14:47:25.113249Z

I am eagerly and patiently awaiting 🙏

seancorfield 2024-12-11T18:17:07.170389Z

> 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!

imre 2025-09-26T14:43:57.096429Z

Any idea when https://clojure.atlassian.net/browse/TDEPS-246 would be looked at?

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

nope

1