Fork me on GitHub
#tools-deps
<
2018-11-19
>
martinklepsch19:11:05

This fails to find org.jboss.naming:jnpserver:jar:5.0.3.GA. org.immutant/messaging has the jboss repo specified in it's pom but only transitively depends on jnpserver. The the immediate dependencies of org.immutant/messaging do not specify the jboss repository.

clj -Sdeps '{:deps {org.immutant/messaging {:mvn/version "2.1.10"}}}' -Stree

martinklepsch19:11:34

Is this something worth opening a JIRA ticket for?

Alex Miller (Clojure team)19:11:54

Well that’s for -Spom right? Related but different

Alex Miller (Clojure team)19:11:49

I find the way that ticket is written confusing

martinklepsch19:11:53

yeah... but there's a ticket for -Spom as well

martinklepsch19:11:35

@alexmiller btw, I checked up on canonicalize-deps and either it's not working or I'm misunderstanding what it's supposed to do:

(let [cfg {:deps '{clj-time {:mvn/version "0.8.0"}
                   clj-time/clj-time {:mvn/version "0.7.0"}}
           :mvn/repos mvn/standard-repos}]
  (canonicalize-deps (:deps cfg) cfg))
;; => [[clj-time #:mvn{:version "0.8.0"}]
;;     [clj-time/clj-time #:mvn{:version "0.7.0"}]]

Alex Miller (Clojure team)19:11:55

there’s actually two different points where things get canonicalized

Alex Miller (Clojure team)19:11:30

the other is one of the extension methods that gets called by resolve-deps, and I think that’s where this gets adjusted

Alex Miller (Clojure team)19:11:00

I started doing this earlier in canonicalize-deps and then ended up incorporating it later in the process instead

Alex Miller (Clojure team)19:11:27

sorry, don’t have time to look at it now

borkdude20:11:19

In the case of git deps, which paths of the repo get added to the classpath? Does it look at a pom file? Can you control this? E.g. also add the test dir so you can run the tests of a git dep?

Alex Miller (Clojure team)21:11:40

git deps will detect the manifest type (deps.edn or pom.xml) and use the paths indicated

Alex Miller (Clojure team)21:11:07

you can override it with :deps/manifest :deps or :deps/manifest :pom

borkdude21:11:04

I guess that’s only useful if both are present, else it will choose whichever is present?

Alex Miller (Clojure team)21:11:32

if neither will throw, but if you explicitly set to :deps, it is tolerant of a missing deps.edn

Alex Miller (Clojure team)21:11:41

and just treats it as a dep with no transitive deps

borkdude21:11:02

in that case it chooses ["src"] as the default :paths?