Hi Stuart,

it might be a good idea to release shell_out.clj in the SVN repository
of clojure-contrib.

I have to deal with two versions of the jar file for clojure-contrib if
I want to use lancet and preserve what I have deployed right now.
My version of clojure is not too far behind yours.
Given that I deal with more than a 100 jars,  that would simplify my
life a bit and make it less confused than it is right now :)))
I could at least evaluate the changes between what I have deployed in
clojure-contrib and the current state in SVN and then decide
what to do.

Meanwhile I disabled the rebuild of clojure and clojure-contrib in
build.clj to keep your versions of the jar files and I restricted
these jars usage to lancet tasks only.

Thank you,
Luc


On Mon, 2009-01-26 at 14:34 -0500, Stuart Halloway wrote:

> Lancet is a build DSL written in Clojure, and a sample app in the book  
> [1]. It combines ant tasks with a Clojure build language, and uses  
> Chouser's shell-out to implement a system call for jumping to OS level  
> stuff.
> 
> Lancet's own build script is below. There isn't much in the way of  
> docs, but if you are interested please take a look at the repos [2].  
> Feedback welcomed!
> 
> Stuart
> 
> [1] http://www.pragprog.com/titles/shcloj/programming-clojure
> [2] http://github.com/stuarthalloway/lancet/tree/master
> 
> (use 'clojure.contrib.shell-out 'lancet)
> 
> (def clojure-home (or (env :CLOJURE_HOME) "/Users/stuart/repos/ 
> clojure"))
> (def contrib-home (or (env :CLOJURE_CONTRIB_HOME) "/Users/stuart/repos/ 
> clojure-contrib"))
> 
> (def lib-dir "lib")
> (def build-dir "build")
> 
> (deftarget build-clojure "Build Clojure from source"
>    (with-sh-dir clojure-home
>      (system "git svn rebase")
>      (system "ant jar")))
> 
> (deftarget build-contrib "Build Contrib from source"
>    (with-sh-dir contrib-home
>      (system "git svn rebase")
>      (system "ant clean jar")))
> 
> (deftarget init "Prepare for build"
>    (mkdir {:dir lib-dir})
>    (mkdir {:dir build-dir}))
> 
> (deftarget build-dependencies "Build dependent libraries"
>    (init)
>    (build-clojure)
>    (build-contrib)
>    (copy {:file (str clojure-home "/clojure.jar")
>           :todir lib-dir})
>    (copy {:file (str contrib-home "/clojure-contrib.jar")
>           :todir lib-dir}))
> 
> (deftarget compile-lancet "compile lancet"
>    (init)
>    (system (str "java -Dclojure.compile.path="
>              build-dir
>              " -cp lib/ant.jar:lib/ant-launcher.jar:lib/clojure.jar:lib/ 
> clojure-contrib.jar:build:. clojure.lang.Compile lancet")))
> 
> (deftarget create-jar "jar up lancet"
>    (init)
>    (unjar {:src (str lib-dir "/clojure.jar")
>         :dest build-dir})
>    (unjar {:src (str lib-dir "/clojure-contrib.jar")
>         :dest build-dir})
>    (unjar {:src (str lib-dir "/ant.jar")
>         :dest build-dir})
>    (unjar {:src (str lib-dir "/ant-launcher.jar")
>         :dest build-dir})
>    (compile-lancet)
>    (jar {:jarfile (str lib-dir "/lancet.jar")
>       :basedir "build"
>       :manifest "MANIFEST.MF"}))
> 
> > 
> 

--~--~---------~--~----~------------~-------~--~----~
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
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to