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 clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
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.

Reply via email to