This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-11-15
Channels
- # beginners (138)
- # bigdata (2)
- # boot (45)
- # cljsrn (29)
- # clojure (108)
- # clojure-austin (1)
- # clojure-gamedev (1)
- # clojure-korea (9)
- # clojure-russia (50)
- # clojure-spec (2)
- # clojure-uk (28)
- # clojurescript (40)
- # component (1)
- # cursive (35)
- # datomic (39)
- # dirac (16)
- # emacs (22)
- # flambo (11)
- # funcool (6)
- # hoplon (74)
- # leiningen (4)
- # off-topic (1)
- # om-next (2)
- # onyx (141)
- # planck (7)
- # proton (10)
- # protorepl (4)
- # re-frame (21)
- # reagent (13)
- # remote-jobs (1)
- # ring (3)
- # specter (9)
- # sql (3)
- # test-check (14)
- # untangled (1)
- # vim (9)
- # yada (16)
@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.
boot-cljs-test
now short circuits the compilation pipeline on failure in the same way that adzerk/boot-test
does (by throwing an exception).
@samedhi test well and prosper :spock-hand:
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).
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)
Nvm: I think this answers my question — https://juxt.pro/blog/posts/boot-parity.html
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
@w1ng you can use boot.pod/add-classpath
see https://github.com/boot-clj/boot/blob/master/doc/boot.pod.md#add-classpath
more classpath related functions in that namespace as seen here: https://github.com/boot-clj/boot/blob/master/doc/boot.pod.md#classpath
@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
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
any suggestions for how i might go about this ?
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
maybe lein-modules has a way to emit the computed dep vector?
or maybe you could write another lein plugin that prints out/emits the 'after' defproject... then read it from boot
that said i've never used lein-modules so maybe there are easier ways
oh, another wacky idea - pull in lein and lein-modules jars and drive them from boot somehow
vs. shelling out
(lein-core i think is the thing with the stuff that's a library?)
lein-modules is just some leiningen middleware - i was hoping to be able to drive it from boot
yeah, that seems like a good plan
but i need the deps very early on, in order to call set-env!
which was where i was stumbling
well, you can create a pod and drive lein stuff in it before calling set-env!
you can also call set-env! multiple times if you need to and are OK with managing possible conflicts
aha! a pod... i was wondering about those
and i didn't know i could call set-env! repeatedly
those are two good avenues to explore - thanks @alandipert
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
so if you call it multiple times to bring in deps, you enter dependency nondeterminism territory
however lein-modules is unlikely to have problematic deps, if it has any at all, so this is probably not an issue
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
well that turned out to be trivially easy - behold parsing project.clj with lein - https://www.refheap.com/d3e225ab34a20accf31819d4c
pods are awesome
Weren't multiple calls to set-env!
super bad?
@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
@richiardiandrea there are worse things, like nutella and pickle sandwich
@tcrawley there is already lein-pprint, which will give you a resolved project map... but calling lein as a lib is nicer from boot
Ah yes now I remember, if you are only adding it is fine, you cannot remove (have vectors with less deps) iirc
Cannot ban Nutella,I live on/for it ;)
@mccraigmccraig wow that came out really nice. kudos