[I've cross posted because I think this is relevent to both lists]
I've started fixing some bugs in the Clojure support in polyglot maven. I've
sent pull requests upstream, but until then you can get it from
http://github.com/AntonyBlakey/polyglot-maven. It works as my default maven
(although there are some plugins such as the Atlassian stuff that doesn't work
in Maven 3), and is self hosting.
The simplest pom.clj, corresponding to this leiningen project:
(defproject org.clojars.the-kenny/clojure-couchdb "0.2"
:description "Simple Clojure interface to Apache CouchDB, fork of the
original project with function arguments instead of *server* and some other
changes."
:dependencies [[org.clojure/clojure "1.1.0-master-SNAPSHOT"]
[org.clojure/clojure-contrib "1.0-SNAPSHOT"]
[org.clojure/clojure-http-client "1.0.0-SNAPSHOT"]]
:dev-dependencies [[lein-clojars "0.5.0-SNAPSHOT"]
[org.clojure/swank-clojure "1.0"]])
is:
(defproject main "org.clojars.the-kenny:clojure-couchdb:0.2"
:add-default-plugins true
:description "Simple Clojure interface to Apache CouchDB, fork of the
original project with function arguments instead of *server* and some other
changes."
:dependencies [["org.clojure:clojure:1.1.0-master-SNAPSHOT"]
["org.clojure:clojure-contrib:1.0-SNAPSHOT"]
["org.clojure:clojure-http-client:1.0.0-SNAPSHOT"]])
The most obvious difference is in the coordinate syntax. Note that this
includes the clojure-maven-plugin, so you get the following clojure-specific
goals:
clojure:compile clojure:test clojure:run clojure:repl clojure:swank
clojure:nailgun
You can package using "mvn package", and install to the local repository using
"mvn install". There are many other things you can do using existing maven
plugins. I have a branch that allows leiningen-format artifact references e.g.
(defproject main org.clojars.the-kenny/clojure-couchdb "0.2"
:add-default-plugins true
:description "Simple Clojure interface to Apache CouchDB, fork of the
original project with function arguments instead of *server* and some other
changes."
:dependencies [[org.clojure/clojure "1.1.0-master-SNAPSHOT"]
[org.clojure/clojure-contrib "1.0-SNAPSHOT"]
[org.clojure/clojure-http-client "1.0.0-SNAPSHOT"]])
The single benefit is that it would be easy to allow an existing unmodified
project.clj to be used by maven, although without leiningen plugins. I'm not
sure if it's worth it, and I'm interested in hearing arguments pro and con.
My next step is to make sure it's easy to write polyglot maven plugins in
Clojure, with easy deployment.
Antony Blakey
-------------
CTO, Linkuistics Pty Ltd
Ph: 0438 840 787
Every task involves constraint,
Solve the thing without complaint;
There are magic links and chains
Forged to loose our rigid brains.
Structures, structures, though they bind,
Strangely liberate the mind.
-- James Fallen
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
To unsubscribe from this group, send email to
clojure+unsubscribegooglegroups.com or reply to this email with the words
"REMOVE ME" as the subject.