Fork me on GitHub
#boot
<
2016-11-15
>
samedhi00:11:12

@crisptrutski Hey, just wanted to let you know I only had to update to 0.3.0 and change (test-cljs) to (test-cljs :exit? true) to get everything to work.

samedhi00:11:07

boot-cljs-test now short circuits the compilation pipeline on failure in the same way that adzerk/boot-test does (by throwing an exception).

mattly04:11:55

has anyone done a writeup on doing parallel tests on CircleCI with boot-test ?

crisptrutski05:11:49

@samedhi test well and prosper :spock-hand:

pseud09:11:48

A thing which I haven’t quite understood yet — when we make new tasks we can use set-env! to alter the environment. However, what if I desire to alter the environment of say repl (or some other pre-existing task).

pseud09:11:01

What would you do if you essentially wanted a hook to run before running the built-in task ? (I’d rather not comp as I’d rather not lose the documentation or options associated the task)

pseud09:11:50

Nvm: I think this answers my question — https://juxt.pro/blog/posts/boot-parity.html

w1ng13:11:46

is it possible to add a local jar to boot (like adding it in :resource-path in leiningen) ? i tried to add the jar to :resource-path in build.boot, but then i get a exeption that it is not a directory

micha14:11:25

more classpath related functions in that namespace as seen here: https://github.com/boot-clj/boot/blob/master/doc/boot.pod.md#classpath

w1ng14:11:24

@micha thx add-classpath is exactly what i was looking for 😀

alandipert17:11:00

@w1ng a trick for 3rd party jars worth knowing, works for both lein/boot - https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html

mccraigmccraig20:11:17

i would like to parse a project.clj in boot and get the dependencies out of it - actually i want lein to parse the project.clj because it's from a lein-modules project and parsing is complex

mccraigmccraig20:11:34

any suggestions for how i might go about this ?

mccraigmccraig20:11:36

previously, before introducing lein-modules it was easy, i just read the project.clj with clojure.edn/read ... but that isn't going to work now that i've brought lein-modules in

alandipert20:11:54

maybe lein-modules has a way to emit the computed dep vector?

alandipert21:11:31

or maybe you could write another lein plugin that prints out/emits the 'after' defproject... then read it from boot

alandipert21:11:07

that said i've never used lein-modules parrot so maybe there are easier ways

alandipert21:11:48

oh, another wacky idea - pull in lein and lein-modules jars and drive them from boot somehow

alandipert21:11:53

vs. shelling out

alandipert21:11:03

(lein-core i think is the thing with the stuff that's a library?)

mccraigmccraig21:11:30

lein-modules is just some leiningen middleware - i was hoping to be able to drive it from boot

alandipert21:11:52

yeah, that seems like a good plan

mccraigmccraig21:11:35

but i need the deps very early on, in order to call set-env! which was where i was stumbling

alandipert21:11:01

well, you can create a pod and drive lein stuff in it before calling set-env!

alandipert21:11:18

you can also call set-env! multiple times if you need to and are OK with managing possible conflicts

mccraigmccraig21:11:30

aha! a pod... i was wondering about those

mccraigmccraig21:11:46

and i didn't know i could call set-env! repeatedly

mccraigmccraig21:11:59

those are two good avenues to explore - thanks @alandipert

alandipert21:11:24

the caveat with multiple set-env! calls is that the maven machinery calculates transitive dependencies to bring in based only on the deps in a single set-env! call

alandipert21:11:38

so if you call it multiple times to bring in deps, you enter dependency nondeterminism territory

alandipert21:11:03

however lein-modules is unlikely to have problematic deps, if it has any at all, so this is probably not an issue

mccraigmccraig21:11:44

hmm. i'll give it a go and see. multiple set-env! calls sounds easy, if it turns out not to be so easy i'll have a look at pods

mccraigmccraig21:11:00

well that turned out to be trivially easy - behold parsing project.clj with lein - https://www.refheap.com/d3e225ab34a20accf31819d4c

mccraigmccraig21:11:04

pods are awesome

richiardiandrea21:11:43

Weren't multiple calls to set-env! super bad?

tcrawley21:11:45

@mccraigmccraig: being able to get the resolved dep tree out of lein-modules as data sounds like it would be generally useful - you may want to file an issue - I suspect jcrossley3 would be interested

tcrawley21:11:55

or not, now that you have something working :)

alandipert21:11:46

@richiardiandrea there are worse things, like nutella and pickle sandwich

mccraigmccraig21:11:56

@tcrawley there is already lein-pprint, which will give you a resolved project map... but calling lein as a lib is nicer from boot

richiardiandrea21:11:59

Ah yes now I remember, if you are only adding it is fine, you cannot remove (have vectors with less deps) iirc

richiardiandrea21:11:25

Cannot ban Nutella,I live on/for it ;)

alandipert21:11:59

@mccraigmccraig wow that came out really nice. kudos