This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-06-10
Channels
- # admin-announcements (2)
- # arachne (2)
- # beginners (53)
- # boot (52)
- # cider (7)
- # cljs-dev (61)
- # cljsrn (12)
- # clojure (61)
- # clojure-greece (22)
- # clojure-nl (16)
- # clojure-russia (103)
- # clojure-spec (84)
- # clojure-uk (15)
- # clojurescript (137)
- # community-development (14)
- # cursive (4)
- # datomic (14)
- # devcards (6)
- # euroclojure (3)
- # funcool (26)
- # hoplon (27)
- # jobs (4)
- # lambdaisland (1)
- # leiningen (1)
- # om (75)
- # onyx (77)
- # planck (15)
- # proton (2)
- # re-frame (23)
- # ring-swagger (9)
- # schema (1)
- # specter (95)
- # untangled (124)
- # yada (27)
@seancorfield: I am on a crusade, PR-ing some lib in order to add [org.clojure/clojure "1.7.0" :scope "provided"]
😄
I was testing drip
again, and this way it actually makes a difference:
time drip -cp $(cat cp) clojure.main -e "(+ 1 3)"
4
real 0m1.035s
user 0m1.894s
sys 0m0.095s
time drip -cp $(cat cp) clojure.main -e "(+ 1 3)"
4
real 0m0.212s
user 0m0.062s
sys 0m0.043s
Added check-conflicts
here: https://github.com/boot-clj/boot/wiki/Snippets#check-dependency-conflicts
@richiardiandrea: i need to add the filtering step
currently it returns all conflicts it sees, even ones you resolve correctly by specifying a direct dependency that overrides the contested transitive one
it returns them because with show -p you want to see those; it marks them with a check mark in the fancy output to show that you resolved them
it seems like the only way to deal with it is to add a direct dependency for the version you want, or use :exclusions
from what I can see here, for org.clojure/clojure
is working (and makes sense right?)
if a library has a dependency with :scope "provided" maven will ignore it when it resolves transitive dependencies
yes true
yes that's true but imho it depends on the scenario, in case of Clojure I guess that you cannot rely on a transitive dep
yes agree
and you kind of should always specify it yourself explicitly right?
but if there were changes you needed to watch out for, using :scope "provided" would hide the version the library depends on from tools like show -p
understand
valid point I guess
currently i am thinking the best way to deal with it is to specify your own version explicitly as a direct dependency, or to completely :exclusions it
i'll have a look
oh nice, well today I went through some cleaning and it is not pleasant, so any better way is better 🙂
I guess the only real reliable test is to try it out, kind of hoping that libraries are following semver as well, so that patch numbers don't break anything important
i downgraded a lot of deps today because they felt like a "common" denominator 😄
then tried, nothing broke, tried tests, nothing broke
still I am not confident
Hi where can i find something working the same as maven-assembly-plugin in boot-clj? I mean build the whole package?
@berrysoup: https://github.com/adzerk-oss/boot-uberjar-example perhaps would be helpful?
@alandipert: Thanks a lot. I have done done jar file in my project but I would like to avoid writing the whole command: java -cp my-jar.jar [command] [options] because it is multiple main classes and I would like to keep log4j.xml outside the jar file. Thus command will be like: java -cp lib/my-jar;lib/log4j2.xml [command] [options]. I thought about giving a few shell scripts to make the call shorter. I thought about following project https://github.com/jgrzebyta/sesame-loader/
I added the filter to boot-cp
and I am working on adding an :exclusions
options
I was thinking of using this in a couple of project and these two things are necessary I guess...for the exclusion I was thinking of importing from: https://github.com/boot-clj/boot/blob/master/boot/core/src/boot/core.clj#L278
is it the right place Micha?