Much to my relief my pom.xml file still produces a working version of clojure which I can connect to from emacs using:
$ mvn clojure:swank
and M-x slime-connect from emacs.
Now the first thing I want to do, with Clojure being a bit of a moving target, is to find out what the latest versions of everything are.
I'll use maven's versions plugin to find out. Add this snippet to the pom file.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>1.2</version>
</plugin>
$ mvn versions:display-plugin-updates
$ mvn versions:display-dependency-updates
[INFO] The following dependencies in Dependencies have newer versions:
[INFO] org.clojure:clojure ............................... 1.1.0 -> 1.2.0-RC2
[INFO] org.clojure:clojure-contrib ....................... 1.1.0 -> 1.2.0-RC2
[INFO] swank-clojure:swank-clojure .................. 1.2.0-SNAPSHOT -> 1.2.1
So it looks like clojure's gone up a version, which is about to be released.
$ mvn versions:use-latest-versions
updates these in the pom automatically
$ mvn clojure:swank
now causes a certain amount of downloading....
and rather remarkably, everything still seems to work.
Slime says, on connecting: Versions differ 2010-02-01 (slime) vs 2009-09-14, which is interesting since swank-clojure was one of the things updated, and 14th September last year isn't very recent.
The first thing I want to look at is incanter, so I go to http://clojars.org and search for incanter. Clojars tells me that the maven snippet should be
<dependency>
<groupId>incanter</groupId>
<artifactId>incanter</artifactId>
<version>1.2.3-SNAPSHOT</version>
</dependency>
So I add that to my pom.xml
$ mvn clojure:swank
Now causes a lot of downloading... including clojure-1.2.0-SNAPSHOT and clojure-contrib-1.2.0-SNAPSHOT, which are presumably dependencies of incanter. I wonder how different they are from the release candidates?
At any rate the server starts, so (I've never used incanter), I'll try the first test I find when googling:
; SLIME 2010-02-01
user>
user> (use '(incanter core charts))
nil
user> (view (function-plot sin -4 4))
And up pops a very nice graph.
I must say, that was all a lot easier than I was expecting!
No comments:
Post a Comment