Fork me on GitHub

What's the recommended way for evaluating the dependency tree for deps.edn based projects (e.g., lein deps :tree)? I've tried clj -A:dev:test -Spom && mvn dependency:tree -Dverbose=true, but I just get an exception that maven can't resolve the project deps


I'm trying to find out if a dep somewhere is loading an old tools.reader that ends up spitting out some warnings in my project


I've used clj -A:dev:test -Stree, but wasn't sure if there is a more verbose one, as the -Stree approach only shows one dependency on tools.reader and it's definitely of a version that includes a fix to not have the warnings..


@dadair do you happen to have cloverage in your test dependencies?

Alex Miller (Clojure team)20:11:35

can you share the exception?


@nwjsmith yes, through kaocha-cloverage


it contains an AOT-ed version of tools.reader, which doesn’t show up in the dependency tree


Cannot target the sha via deps as cloverage doesn't provide a deps.edn


but a release needs to be cut for it (only @lvh can do that)


and we should probably stop AOT-ing that dependency


I’ve had problems with it too


@alexmiller Could be of note, I am running through WSL2 (Ubuntu 18.04)

Alex Miller (Clojure team)20:11:50

looks like missing clojars repo or something


Hi: I think I mentioned this in a ticket somewhere but CI should be building snapshots


I’m on my way to the Conj right now so I can’t check


Oh! good call. @dadair you might get rid of those warnings by adding cloverage {:mvn/version "1.1.3-SNAPSHOT"} to your deps.edn.


Doesn't seem to be making a difference


Confirmed that the override is in place, just not working

[email protected]:~/git/appserver$ clj -A:dev:test -Stree | grep -C 15 'cloverage'
    org.eclipse.jetty/jetty-io 9.4.0.v20161208
  org.eclipse.jetty/jetty-alpn-server 9.4.0.v20161208
expound/expound 0.7.2
org.clojure/tools.cli 0.4.2
duct/migrator.ragtime 0.2.2
  pandect/pandect 0.6.1
  integrant/integrant 0.6.3
    com.stuartsierra/dependency 0.2.0
  ragtime/ragtime 0.7.2
    ragtime/core 0.7.2
    ragtime/jdbc 0.7.2
      resauce/resauce 0.1.0
  duct/logger 0.2.1
phrase/phrase 0.3-alpha4
integrant/repl 0.2.0
lambdaisland/kaocha-cloverage 0.0-41
  cloverage/cloverage 1.1.3-SNAPSHOT <==========
    org.clojure/data.json 0.2.6
    org.clojure/tools.logging 0.5.0
    org.clojure/tools.namespace 0.3.1
    riddley/riddley 0.2.0
    org.clojure/data.xml 0.0.8
duct/module.logging 0.3.1
  duct/logger.timbre 0.4.1
    com.taoensso/timbre 4.10.0
      io.aviso/pretty 0.1.33
com.taoensso/tufte 2.0.1
  com.taoensso/encore 2.94.0
    com.taoensso/truss 1.5.0
iapetos/iapetos 0.1.8
  io.prometheus/simpleclient_pushgateway 0.2.0
  io.prometheus/simpleclient_common 0.2.0

Alex Miller (Clojure team)20:11:59

If cloverage has the other one and ends up first in the classpath it will win

Alex Miller (Clojure team)20:11:20

Whether it’s first is pretty arbitrary

Alex Miller (Clojure team)20:11:04

-Spath should be exactly what you’re running


hmm, using -Spath, cloverage is on the snapshot version (1.1.3-SNAPSHOT), and tools.reader is at the fixed version 1.3.2, yet the warnings are still printing..


FWIW, cloverage-1.1.3-20191022.214104-8.jar still contains AOT'd tools.reader


Oh, right, as it should

Alex Miller (Clojure team)22:11:58

you can take clj out of the loop by doing java -cp <the-path-from-Spath> clojure.main <your-main-args> and then feel free to reorder / edit the cp to try things