Fork me on GitHub
#boot
<
2017-09-17
>
thedavidmeister08:09:05

is there a way to get boot to download dependencies in parallel?

juhoteperi08:09:18

@thedavidmeister I'm quite sure there isn't. If downloading deps is slow, check you are running 2.7.2 which has a fix related to this.

thedavidmeister08:09:56

"slow" is relative

thedavidmeister08:09:19

watching it download over and over on CI/deployment is slow simply because it happens so much

juhoteperi08:09:48

That's why CI services provide cache usually

thedavidmeister08:09:24

cache is not a silver bullet for perf

juhoteperi08:09:45

neither is paralleziation, it wouldn't probably help if bottle neck is network

thedavidmeister08:09:54

i'm currently doing work where caching the deps isn't appropriate because i'm tweaking them

thedavidmeister08:09:33

other package management tools have demonstrated quite well that downloading deps in parallel is a significant boost

juhoteperi08:09:05

I'm not sure which version of Maven we use, but they added parallel loading to some files few years ago

juhoteperi08:09:11

it just isn't something that can be configured

thedavidmeister08:09:46

oh ok, so it's something that would need to happen upstream of boot?

juhoteperi08:09:30

Boot uses Pomegranate which uses Maven-resolver (previously called Aether)

thedavidmeister08:09:29

this seems to be what i want, POMs are taking ages for me

thedavidmeister08:09:32

well that's very sad, that there was a PR up and now it has a ton of merge conflicts 😞

juhoteperi08:09:04

They don't use github

thedavidmeister08:09:13

this must be wasting thousands of hours globally per year >.<

thedavidmeister08:09:02

oh well, i hope it gets in someday

martinklepsch09:09:25

Wonder if clj does things in parallel…

martinklepsch09:09:54

(In general would be interesting to see boot as a library on top of a preconfigured classpath provided by clj but I guess that’s a bit further away :D)

Alex Miller (Clojure team)13:09:34

Currently, clj (really tools.deps.alpha) does not do parallel download but it definitely could

Alex Miller (Clojure team)13:09:35

There are two phases - expansion (needs poms) and download (jars). The first would be tricky to do in parallel but the latter would be easy

nonrecursive13:09:32

It was also running when I would change a scss file, and the cljs compile would take ~3 seconds, which isn’t a great workflow

alandipert17:09:26

nonrecursive that's sweet

juhoteperi17:09:47

Cljs compile should not take 3 seconds if no Cljs files changed

Andrew Sharp21:09:05

using pom to create a pom.xml, i have

{pom :project 'myproject :version "1.0.0"}
i would like to use the output of git describe --dirty for the version. this seems like a common workflow. i have googled boot clj git version and boot clj git describe and haven’t found anything. thought i’d ask the slack channel. anyone know if there’s code for this?

danielcompton21:09:45

That version is slightly more complicated than just git describe, but should give you a good base to work from