Phil, it might be worthwhile to look at Ivy (http://ant.apache.org/
ivy).  It has real good interop with ant and can easily pull from a
maven repo and read pom files.

On Jul 7, 9:28 pm, Phil Hagelberg <p...@hagelb.org> wrote:
> I've been noodling on the problem of dependency management for a while
> now. It's definitely a pain point for projects with more than a couple
> dependencies. Currently our approach has been to use maven, but that
> involves a fair amount of arcane knowledge as well as writing a bunch of
> XML, which isn't a lot of fun. But there's been a community consensus
> that any dependency tool needs to be able to leverage all the valuable
> stuff out there that's currently in maven repositories.
>
> I've put together a proof-of-concept dependency manager called
> Corkscrew. It uses Maven under the hood as well as offering dependencies
> on source packages stored in git or subversion. A simple project.clj
> file lays out the dependencies and other project info:
>
>     {:name "my-sample"
>      :version "1.0"
>      :dependencies [["tagsoup" "1.2" "org.ccil.cowan.tagsoup"]
>                     ;; group defaults to name
>                     ["rome" "0.9"]]
>      :source-dependencies [["clojure-contrib" "r663" :svn
>                             "http://clojure-contrib.googlecode.com/svn/trunk";]
>                            ["enlive" 
> "95b2558943f50bb9962fe7d500ede353f1b578f0"
>                             :git "git://github.com/cgrand/enlive.git"]]}
>
> You can install it with:
>
>   $ git clone git://github.com/technomancy/corkscrew.git
>   $ cd corkscrew
>   $ ./install
>   $ cp bin/corkscrew /somewhere/on/your/path
>
> Create a project.clj file in your project root based on the one
> above. Then you can use "corkscrew deps" to set everything up for
> you. At that point just make sure your classpath includes
> target/dependency/ and you should be good to go.
>
> It's simple, but it solves the main problems that I've been having with
> more complicated projects. I'd love to get some opinions on it.
>
> The biggest issue right now is that it runs Maven as a subprocess rather
> than using the Java API in the same VM because I can't make head or tail
> of the Maven Java API (it uses plexus.core), but shelling out works as a
> proof-of-concept even if it's tacky.
>
> -Phil
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to