I'm now using polyglot maven for a project in both NetBeans/Enclojure and
Intellij/LaClojure. The pom.clj for one of my subprojects looks like this:
----------------------------------------------------------------------------------
(defproject main "com.linkuistics.lamdras:website:1.0-SNAPSHOT"
:model-version "4.0.0"
:name "Lamdras Website"
:description "Acumen / LRMDS Integration"
:packaging "war"
:properties {:project.build.sourceEncoding "UTF-8"}
:dependencies [["ring:ring-servlet:0.2.0-RC2"]
["ring:ring-devel:0.2.0-RC2"]
["clj-routing:clj-routing:0.1.0-SNAPSHOT"]
["clout:clout:0.2.0-SNAPSHOT"]
["compojure:compojure:0.4.0-SNAPSHOT"]
["hiccup:hiccup:0.1.0-SNAPSHOT"]
["org.clojure:clojure:1.2.0-master-SNAPSHOT"]
["org.clojure:clojure-contrib:1.2.0-master-SNAPSHOT"]
["congomongo:congomongo:0.1.2-SNAPSHOT"]
["jline:jline:0.9.94"]]
:provided-dependencies [["org.mortbay.jetty:servlet-api-2.5:6.1.14"]]
:final-name "website"
:plugins [["org.apache.maven.plugins:maven-war-plugin:2.1-beta-1"]
["org.apache.maven.plugins:maven-compiler-plugin:2.1"
{:configuration {:source "1.6" :target "1.6"}}]
["com.theoryinpractise:clojure-maven-plugin:1.3.1" {:executions
[{:id "compile-clojure" :phase "compile" :goals ["compile"]}]}]
["org.mortbay.jetty:maven-jetty-plugin:6.1.10" {:configuration
{:scanIntervalSeconds "10" :stopKey "foo" :stopPort "9999"}}]])
----------------------------------------------------------------------------------
which isn't at all painful. It's early days yet, and neither IDE picks up the
pom.clj, so I have to run the translator to get a pom.xml, but that's trivial -
the command to produce pom.xml from pom.clj (and the translation is
bidirectional) is this:
translate pom.clj newpom.xml
assuming the polyglot maven translate command is on your path. Note that you
can use either maven 2 or 3 to run the resultant pom.xml.
You can use either declarative or imperative code in the pom.clj i.e. you can
call methods on the pom's object model to build up a project definition, which
you can then run using polyglot maven or translate to a pom.xml which can then
be run.
Antony Blakey
-------------
CTO, Linkuistics Pty Ltd
Ph: 0438 840 787
On the other side, you have the customer and/or user, and they tend to do what
we call "automating the pain." They say, "What is it we're doing now? How would
that look if we automated it?" Whereas, what the design process should properly
be is one of saying, "What are the goals we're trying to accomplish and how can
we get rid of all this task crap?"
-- Alan Cooper
--
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.