Search code examples
clojureleiningenincanter

Leiningen: working with local git repo


I want to change something in incanter, so I created a fork on github and a clone of it on my laptop. Now, when I try to run tests with lein test I get these errors:

/Users/me/work/incanter$ lein test
Could not find artifact incanter:incanter-core:jar:1.5.8-SNAPSHOT in clojars (https://clojars.org/repo/)
Could not find artifact incanter:incanter-io:jar:1.5.8-SNAPSHOT in clojars (https://clojars.org/repo/)
Could not find artifact incanter:incanter-charts:jar:1.5.8-SNAPSHOT in clojars (https://clojars.org/repo/)
Could not find artifact incanter:incanter-mongodb:jar:1.5.8-SNAPSHOT in clojars (https://clojars.org/repo/)
Could not find artifact incanter:incanter-pdf:jar:1.5.8-SNAPSHOT in clojars (https://clojars.org/repo/)
Could not find artifact incanter:incanter-svg:jar:1.5.8-SNAPSHOT in clojars (https://clojars.org/repo/)
Could not find artifact incanter:incanter-latex:jar:1.5.8-SNAPSHOT in clojars (https://clojars.org/repo/)
Could not find artifact incanter:incanter-excel:jar:1.5.8-SNAPSHOT in clojars (https://clojars.org/repo/)
Could not find artifact incanter:incanter-sql:jar:1.5.8-SNAPSHOT in clojars (https://clojars.org/repo/)
Could not find artifact incanter:incanter-zoo:jar:1.5.8-SNAPSHOT in clojars (https://clojars.org/repo/)
This could be due to a typo in :dependencies or network issues.
If you are behind a proxy, try setting the 'http_proxy' environment variable.
/Users/me/work/incanter$

I have not changed anything in the project.clj yet, here it is:

(defproject incanter "1.5.8-SNAPSHOT"
  :description "Incanter is a Clojure-based, R-like statistical programming and data visualization environment."
  :url "http://incanter.org/"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :scm {:name "git" :url "https://github.com/incanter/incanter"}
  :min-lein-version "2.0.0"
  :dependencies [[incanter/incanter-core "1.5.8-SNAPSHOT"]
                 [incanter/incanter-io "1.5.8-SNAPSHOT"]
                 [incanter/incanter-charts "1.5.8-SNAPSHOT"]
                 [incanter/incanter-mongodb "1.5.8-SNAPSHOT"]
                 [incanter/incanter-pdf "1.5.8-SNAPSHOT"]
                 [incanter/incanter-svg "1.5.8-SNAPSHOT"]
                 [incanter/incanter-latex "1.5.8-SNAPSHOT"]
                 [incanter/incanter-excel "1.5.8-SNAPSHOT"]
                 [incanter/incanter-sql "1.5.8-SNAPSHOT"]
                 [incanter/incanter-zoo "1.5.8-SNAPSHOT"]
                 [org.clojure/clojure "1.5.1"]
                 ]
  :profiles {:dev {:resource-paths ["data"]}
             :debug {:debug true}
             :uberjar {:aot :all
                       :main incanter.main
                       :dependencies [[reply "0.3.0" :exclusions [org.clojure/clojure]]
                                      [swingrepl "1.3.0"
                                       :exclusions [org.clojure/clojure org.clojure/clojure-contrib]]
                                      ]
                       }
             }  
  :repl-options {:init-ns incanter.irepl
                 :resource-paths ["data"]
                 :init (do
                         (set! *print-length* 500)
                         (use 'clojure.repl))
                 }
  :jvm-opts ["-Xmx1g" "-Djsse.enableSNIExtension=false"
             ~(str "-Dincanter.home=" (System/getProperty "user.dir"))]
  )

Any help will be greatly appreciated.


Solution

  • I took a look at the project. You must build any projects under /modules so that the snapshot-version 1.5.8-SNAPSHOT will be builded on your local .m2/

    cd modules
    cd incanter-core
    lein install
    ...
    

    Then I think it should work. Alternative you can reduce in the dependencies to 1.5.7.