Fork me on GitHub
#tools-deps
<
2018-10-12
>
arrdem01:10:27

Re: yesterday’s discussion of depstar, this is apparently floating around https://github.com/luchiniatwork/cambada

seancorfield01:10:19

Yeah, that is a lot more comprehensive but has a lot of knobs and dials -- and has its own set of surprises, I gather, from people who've used it.

tianshu06:10:24

is that in tools.deps, there's no exclusions?

seancorfield06:10:09

@doglooksgood :exclusions work fine in deps.edn

seancorfield06:10:02

Do you have a specific case where you think it doesn't work?

dominicm06:10:46

@doglooksgood there isn't a top level exclusions though, which is something people try though, only a per-dependency exclusions.

tianshu06:10:03

@seancorfield When using leiningen, usually I found there're some conflicts in my dependencies, but with clojure -Stree, I don't get any information like this.

tianshu06:10:22

So I don't know if there's conflicts or not

dominicm06:10:17

@doglooksgood I think tools.deps operates on a different principle to maven/lein, so conflicts are less of an issue. tools.deps always picks the newest version, as opposed to maven which picks the first one it finds.

tianshu06:10:12

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/tianshu/.m2/repository/org/slf4j/slf4j-nop/1.6.2/slf4j-nop-1.6.2.jar!/org/slf4j
/impl/StaticLoggerBinder.class]         
SLF4J: Found binding in [jar:file:/home/tianshu/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2
.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See  for an explanation.
SLF4J: Actual binding is of type [org.slf4j.helpers.NOPLoggerFactory]
I want to remove one of the binding, but don't know where introduce the multiple bindings.

tianshu06:10:35

with lein I got some information like this:

Possibly confusing dependencies found:
[org.quartz-scheduler/quartz "2.3.0"] -> [org.slf4j/slf4j-api "1.7.7"]
 overrides                                
[conman "0.8.1"] -> [hikari-cp "2.4.0"] -> [com.zaxxer/HikariCP "3.1.0"] -> [org.slf4j/slf4j-api "1.7.25"]
 and                                     
[org.quartz-scheduler/quartz "2.3.0"] -> [com.zaxxer/HikariCP-java6 "2.3.13"] -> [org.slf4j/slf4j-api "1.7.10"]
 and                                   
[ch.qos.logback/logback-classic "1.2.3"] -> [org.slf4j/slf4j-api "1.7.25"]
                                                                     
Consider using these exclusions:                                      
[conman "0.8.1" :exclusions [org.slf4j/slf4j-api]]           
[org.quartz-scheduler/quartz "2.3.0" :exclusions [org.slf4j/slf4j-api]]
[ch.qos.logback/logback-classic "1.2.3" :exclusions [org.slf4j/slf4j-api]]

tianshu06:10:40

then I know I can remove the binding by add exclusions on the org.quartz-scheduler/quartz dependency.

dominicm06:10:37

@doglooksgood this is different to conflicting dependencies. clj -Stree gives you the information you need to fix this, you need to find which dependency is bringing in the logback you don't want, either nop of logback-classic.

alexmiller12:10:46

I don’t think -Stree actually does provide info to do that - it just lists what is used, not what isn’t

alexmiller12:10:59

This is an area that needs some more work

alexmiller12:10:46

If you don’t like the one you’re getting, you can try excluding that one and see which one you get instead

dominicm14:10:56

@alexmiller that's what I meant. It will show where logback-nop comes from.

seancorfield16:10:05

@alexmiller Any thoughts on adding some sort of "pedantic" check to tools.deps?

alexmiller18:10:24

in terms of reporting or also failing on pedanticness?

Michael Fiano18:10:48

Are there any plans to allow whitespace in strings?

Michael Fiano18:10:38

I was reading the edn spec and it says commas are not treated as whitespace within strings, but I must use them for arbitrary code using -e for example

alexmiller18:10:06

would like to allow, in practice it’s painful due to the interaction with the shell

Michael Fiano18:10:58

I see. Editor word-wise commands etc get confused so it's painful to edit