4
votes

I have a leiningen project that uses clojure 1.2.1. I would like to add a dependency to a package that requires clojure 1.3.0-beta1. So I decided to upgrade my project to the newer version.

To be honest I was not sure what that involved but I did the following..

In my project.clj I changed my dependency from [org.clojure/clojure "1.2.1] to [org.clojure/clojure "1.3.0"]

I use swank so I changed my swank clojure dependency to [swank-clojure "1.3.2"].

I then ran

lein deps

Lastly I manually edited my /usr/bin/lein file to change the CLOJURE_JAR variable to point to the newer clojure jar.

When I start swank with 'lein swank'. It starts fine and I now get the following warning messages like so..

Warning: default-javac-options not declared dynamic and thus is not dynamically rebindable, >but its name suggests otherwise. Please either indicate ^:dynamic default-javac-options or >change the name.

Which I think has to do with clojure 1.3.0.

I then fire up Aquamacs and run slime-connect. The REPL starts fine but when call clojure-version if get "1.2.1".

; SLIME 20100404 user> (clojure-version) "1.2.1"

Is there something else I need to do?

1

1 Answers

4
votes

I think, that you need to add :exclusions list to swank-clojure specification, something like:

:dev-dependencies [[swank-clojure "1.3.2" 
      :exclusions [org.clojure/clojure]]]

although, I just checked my installation, and clojure 1.3 worked out of box. I think, that you just forgot to call lein clean before lein deps...