On Mon, Dec 6, 2010 at 3:10 PM, Chris Dean <[email protected]> wrote:
> Anything I can do to help out with getting Clojure support into the > trunk? We still use it daily and would love to see it be in the > mainline code. > > There is a patch in https://issues.apache.org/jira/browse/BUILDR-259 Hi Chris, I've been working on your patch on-and-off. I tried to get it done before November but then we had a second baby and other bug-fix type issues took priority and my available time. Most of the work on the patch is to align it with idioms used for other languages. For example, the patch uses "options.clojure" as namespace for options whereas with other languages options are configured either via the project or via the language module proper. Sometimes it also required fixing/aligning other parts of Buildr. Case in point, back in October I refactored parts of the shell task which already supported clojure so it would use the same artifact(s) and not depend on CLOJURE_HOME being set. One thing I'm not entirely happy with the patch is how it supports multiple language. That's more of a problem with buildr than with your patch but I mention it because clojure exacerbates the issue. The way things are done currently doesn't really compose well with other features of buildr. For instance, with groovy and scala the tooling provides joint compilation and joint documentation. I don't think clojure will support that even down the road so it makes, say, the doc task problematic. I think it would simplify things if the clojure module didn't try to do joint compilation and if we went and fixed that problem at the buildr level instead. I'm hoping that we can multiplex multiple languages into one project tree while retaining several projects instances in buildr. This would keep the model sane. So assuming this simplification then I think clojure support could go in Buildr 1.4.5 (maybe in January? hasn't been discussed yet) and hopefully we can get project multiplexing in that same timeframe. How does that sound? alex
