librelist archives

« back to archive

Strange resolving of dependencies

Strange resolving of dependencies

Alex Ott
2013-05-31 @ 19:05
Hi all

I've got strange problem with dependencies after upgrading to lein
2.2.0,that lead to error when I'd tried to execute 'lein test':

java.lang.IllegalArgumentException: Unable to resolve classname:

and 'lein repl' showed the 1.2.0 version of Clojure

lein deps :tree produced following output

[org.clojure/tools.nrepl "0.2.3"] -> [org.clojure/clojure "1.2.0"]
[clojure-complete "0.2.3"] -> [org.clojure/clojure "1.3.0"]
[incanter/incanter-io "1.5.0-SNAPSHOT"] -> [incanter/incanter-core
"1.5.0-SNAPSHOT"] -> [org.clojure/clojure "1.5.1"]

 [clj-time "0.5.0" :exclusions [[org.clojure/clojure]]]
   [joda-time "2.2"]
 [clojure-complete "0.2.3"]
 [incanter/incanter-io "1.5.0-SNAPSHOT"]
   [incanter/incanter-core "1.5.0-SNAPSHOT"]
     [com.quantisan/clatrix "0.2.2" :exclusions [[org.clojure/clojure]]]
       [org.jblas/jblas "1.2.2"]
       [slingshot "0.8.0"]
     [net.sourceforge.parallelcolt/parallelcolt "0.10.0"]
       [com.github.rwl/JKLU "1.0.0"]
         [com.github.rwl/AMDJ "1.0.1"]
         [com.github.rwl/BTFJ "1.0.1"]
         [com.github.rwl/COLAMDJ "1.0.1"]
       [com.googlecode.netlib-java/netlib-java "0.9.3"]
       [junit "4.10"]
         [org.hamcrest/hamcrest-core "1.1"]
       [net.sourceforge.csparsej/csparsej "1.1.1"]
       [net.sourceforge.jplasma/jplasma "1.2.0"]
         [net.sourceforge.f2j/arpack_combined_all "0.1"]
         [net.sourceforge.jplasma/core-lapack "0.1"]
       [net.sourceforge.jtransforms/jtransforms "2.4.0"]
       [net.sourceforge.parallelcolt/optimization "1.0"]
     [org.clojure/math.combinatorics "0.0.3" :exclusions
   [net.sf.opencsv/opencsv "2.3"]
   [org.danlarkin/clojure-json "1.1" :exclusions [[org.clojure/clojure]
 [incanter/jfreechart "1.0.13-no-gnujaxp"]
   [incanter/jcommon "1.0.16"]
 [org.clojure/tools.nrepl "0.2.3"]
   [org.clojure/clojure "1.2.0"]

Specifying the Clojure version explicitly for incanter-chart subproject
helped, but I want to have clojure version specified only in one place.

In Incanter, before lein upgrade we had following structure:
- clojure version was specified in incanter-core module
- incanter-chart module includes incanter-core via incanter-io module

Can we have org.clojure/clojure excluded from all implicit dependecies?

With best wishes,                    Alex Ott
Twitter: alexott_en (English), alexott (Russian)