I have a leiningen project with continuous integration. I want to have full control over the dependencies used by the project, by setting up my own (most likely s3-based) maven file system structure based on one initial lein deps
. Can I use leiningen deploy
or some other leiningen command to install all the dependencies of the project into this private repo?
If not, how do I solve it?
https://github.com/technomancy/leiningen/blob/stable/sample.project.clj#L145 :local-repo For where local install and maven cached artifacts go https://github.com/technomancy/leiningen/blob/stable/sample.project.clj#L104 :repositories for fetch and deploy remotes. There are some finger grained repository keys for more control also in this sample @oscarlinusericsson
Are you suggesting that i make a lein deps to a local m2 folder and then upload it as a whole to, say, an s3-bucket? I was thinking there would be some batch operation like lein deps
and then lein install-all-deps-into-a-certain-private-repo
, but if not, uploading the resulting folder would certainly work, albeit with some extra work when upgrading dependencies.
I guess the most common way of solving this is to use a maven mirror that works a proxy. Thanks!
lein treats the cache as a cache, and doesn't have commands for manipulating it (other than downloading new items that aren't yet present, or installing from a local artifact into the cache)