tools-build

Luciano Laratelli 2024-12-31T14:21:33.490519Z

Hi all, Is there a way to use an uberjar to vendor dependencies for future builds? I used tools.build to make an uberjar with b/uber, moved the target dir to ../vendor and wanted to use e.g. aero with :local/root:

{:deps {aero/aero {:local/root "../vendor/aero"}}}
This throws with Manifest file not found for aero/aero in coordinate #:local{:root "..."}. That makes sense, there isn’t a pom.xml or deps.edn in there. Is b/write-pom the way to go about this? That looks like it might be more for writing a pom for the project itself, not for an individual dependency.

Alex Miller (Clojure team) 2024-12-31T14:32:42.731189Z

I don’t understand what you’re trying to do

Luciano Laratelli 2024-12-31T15:01:54.463799Z

Sorry 😅 We want to vendor our dependencies in-tree and I’m trying to get around cloning them all by hand.

Luciano Laratelli 2024-12-31T15:06:33.972289Z

oh… this is exactly the usecase for mvn/local-repo right?

Alex Miller (Clojure team) 2024-12-31T15:22:34.348839Z

you could use it like that potentially

Alex Miller (Clojure team) 2024-12-31T15:23:31.339509Z

if you pointed local-repo to a relative dir and did clj -P it would download all your deps into that dir

🙌 1
Luciano Laratelli 2024-12-31T15:24:45.767129Z

Thank you, I think that is perfect for our usecase 🙂