This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-11-09
Channels
- # bangalore-clj (1)
- # beginners (158)
- # boot (8)
- # cider (9)
- # cljsjs (9)
- # clojure (169)
- # clojure-austin (1)
- # clojure-denmark (1)
- # clojure-dusseldorf (5)
- # clojure-italy (9)
- # clojure-losangeles (2)
- # clojure-russia (31)
- # clojure-spec (53)
- # clojure-turkiye (1)
- # clojure-uk (56)
- # clojurescript (145)
- # cursive (72)
- # datascript (4)
- # datomic (3)
- # duct (121)
- # events (9)
- # figwheel (1)
- # fulcro (46)
- # graphql (4)
- # hoplon (16)
- # jobs (1)
- # jobs-discuss (4)
- # leiningen (16)
- # lumo (5)
- # off-topic (38)
- # om (1)
- # om-next (5)
- # onyx (104)
- # parinfer (5)
- # re-frame (106)
- # reagent (1)
- # ring-swagger (3)
- # rum (1)
- # shadow-cljs (235)
- # slack-help (4)
- # unrepl (25)
- # yada (9)
when invoking lein deps
on multiple projects on the same machine in parallel, can anyone tell me whether or not shared dependencies will be downloaded multiple times, or does lein (maven?) do some kind of "just in time" resolution where (most of the time, apart from race conditions) the deps will be downloaded only once ?
this is for a build / CI server doing a clean build, where i'm invoking this command on 4 projects at the same time
Maven is smart enough to check if the dependencies exist before downloading them
You will have the possibility of race conditions of course
One thing I’m not sure about is how wide the race window is, i.e. when does Maven-resolver decide that it needs to download something?
If you’re concerned about this, you can use :local-repo for each project to have a local m2 cache for each project
is there a straightforward way for a lein plugin to add things to the :dev
profile?
or something equivalent?
e.g., if I want to add a dependency to everywhere the :dev
profile is used, but not have it affect the :uberjar
task
using a middleware and doing (-> project (update-in [:profiles :dev :dependencies] ...))
seems to be a no-op, I'm guessing because the dev profile's already been read at that point or something
my workaround is to put the plugin itself in the dev profile
maybe that's actually a good thing? I dunno
@gfredericks dunno if I'd call it good, but you can do something like this: https://github.com/jonase/kibit/blob/master/lein-kibit/src/leiningen/kibit.clj#L13
Hmm, is a bit tricky for timing and stages though