This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-06-11
Channels
- # admin-announcements (9)
- # arachne (1)
- # boot (125)
- # cider (5)
- # clara (34)
- # cljs-dev (11)
- # cljsjs (19)
- # clojure (164)
- # clojure-greece (7)
- # clojure-nl (2)
- # clojure-russia (5)
- # clojure-spec (3)
- # clojurescript (28)
- # clojurex (4)
- # core-async (3)
- # cursive (2)
- # datomic (3)
- # hoplon (268)
- # jobs (4)
- # keechma (2)
- # lambdaisland (1)
- # lein-figwheel (5)
- # leiningen (5)
- # off-topic (3)
- # om (3)
- # onyx (16)
- # re-frame (5)
- # reagent (31)
- # robots (1)
- # spacemacs (3)
- # specter (89)
- # untangled (1)
- # yada (26)
No it looks like I have to dig more 😉
@richiardiandrea: https://github.com/micha/boot-cp/blob/master/src/micha/boot_cp.clj#L22-L28
awesome! should I rebase my PR as well?
ah ah no problem 🙂
the important is that the feature is there 😉
I mean my PR filters direct deps from the conflicts
yeah, I will try yours ok? just to see if I get the same result on a project of mine
is it on clojars already ?
right on!
perfect way to try boot.test
! 😄
@micha I have some weird behavior...with my patch it was the same
so basically no conflicts, and I specified [clojure 1.8.0]
but when I do drip -cp cp clojure.main
I get a 1.7.0
repl and the classpath file contains 1.7.0
it is in the file
kk I am investigating as well
my configuration:
{:file "cp"
:scopes #{"compile" "runtime" "test"}
:dependencies ...a lot of deps...
:exclusions '#{org.clojure/clojure org.clojure/clojurescript com.google.guava/guava}}
@micha I found out, I had [org.clojure/clojure "1.8.0" :scope "provided"]
sorry about that
that's exactly what you were talking about yesterday lloll
still strange though, because you had org.clojure/clojure
in the :exclusions
, so I would expect that the file simply wouldn't have any clojure jar at all
removing "provided"
solves
if you remove the clojure depdnency from your :dependencies
you should not see a clojure jar in the file, is that the case?
trying
no, for some reason I see 1.7.0
yes I am
but BOOT_CLOJURE_VERSION=1.8.0
ok, in this project I also import ['boot/core 2.6.0 :scope "test"]
because I am using it when I develop (no prod stuff) but still all the transitive deps should be trimmed out..
so the situation is the following: no explicit clojure
, when I add [com.apa512/rethinkdb "0.15.23"]
, it takes clojure
1.7.0
without both it defaults to 1.8.0
commenting out all the ring libraries and rethinkdb defaults to 1.5.1
I am seeing weird things here lol
ah cool
what happened? I really don't see anything wrong in show -d
ah ah, with [faker "0.2.2" :scope "test" :scope "test"]
I default to clojure 1.2.0
😄
trying, one thing, of course I am not sure of how it works, but maybe you can add a safety net (partial pod/apply-global-exclusions (or exclusions #{})
?
no wait, haven't tried and you know the code better then me lol
ok so it looks like it is doing the right thing
no clojure if I remove the explicit dep and I keep :exclusions
default to the first clojure found if I remove the :exclusions
double checking with a couple of versions now
yes @micha everything looks good
time boot with-cp -w; drip -cp src/backend:env/dev/src:src/common:env/dev/resources:$(cat cp) clojure.main
real 0m3.786s
user 0m0.061s
sys 0m0.033s
Clojure 1.8.0
user=>
drip lanuches instantaneusly
the time spent is basically classpath math 😄
not comparable for sure, that's why I guess Rich is using this way 😉
difficult to say because repl is blocking, how can I measure? maybe I can C-c
very quickly 😄
oh let me try that
uhm the pipe does not seem to work with drip
it does with java
yeah...
the output is weird let me check again
2.59user 0.10system 0:01.19elapsed 226%CPU (0avgtext+0avgdata 137368maxresident)k
0inputs+0outputs (0major+13227minor)pagefaults 0swaps
no but this does not include with-cp
i'll make a simple script
ahhaha
Clojure 1.8.0
user=>
real 0m4.909s
user 0m8.643s
sys 0m0.356s
#!/bin/bash
boot with-cp -w; echo '(System/exit 0)' | java -cp src/backend:env/dev/src:src/common:env/dev/resources:$(cat cp) clojure.main
barp $ time (echo '(System/exit 0)' |java -cp $(cat foop) clojure.main)
Clojure 1.8.0
user=>
real 0m1.188s
user 0m2.164s
sys 0m0.084s
yeah man, my machine is old 😄
funny that drip locks
but it feels faster
using -cp
instead of resolving dependencies dynamically via aether is definitely faster
but you need then to use socket repl
and no editor supports it at the moment
well no
I am trying exactly that
if you open a buffer with a shell with a repl
change the name of the inf-clojure-buffer
then you can eval in there