Hello folks.

You may have heard some rumours and/or tweetage about Cake and
Leiningen. During the Conj I met with Justin Balthrop and some of the
other Cake developers. They were interested in joining forces to
develop a single unified build tool for Clojure. We talked it through
and I think Leiningen could definitely benefit on the one hand from
having a few of Cake's features ported over and on the other hand from
gaining a bunch of new developers. This will mean Cake may see another
few releases but will have its development efforts directed to
Leiningen.[1]

In particular I'm thinking of two or three things that make sense to
take from Cake for Leiningen 2.0. Firstly there's the use of
in-process classloaders for project execution. I've wanted this for a
while, and they've got a nice well-tested implementation they're
offering to have ported right over. This should speed things up and
offer fairly significant memory savings. The other definite win would
be taking the SCP implementation for Clojars uploads. There is a
lein-clojars plugin, but it has some issues with keys that have
prevented it from being considered for inclusion.

Another thing we may take is the notion of "profiles" or environments
in which tasks execute. Right now Leiningen has a notion of dev time
vs production, which is just a single bit that determines whether
dev-dependencies, tests, and test resources are on the classpath. Cake
(and Maven IIUC) expand on this and allow various config options to be
grouped and activated on a per-profile basis. I'll start a separate
thread discussing this since there's still a fair bit more I'd like to
understand about how people are using this in Cake and how simply it
could be implemented.

We're still thinking through whether it makes sense for Leiningen to
offer persistent/daemonized JVMs to reduce execution time; it may be
simpler to delegate this to Jark[2] instead since it could be
considered fairly orthogonal. If you use Cake and Leiningen and have
some other features you would miss, please mention them.

So I'm excited to welcome them to the team.

Happy Hacking.

-Phil

[1] - 
https://groups.google.com/group/clojure-cake/browse_thread/thread/186ec36c2426996e
[2] - http://icylisper.in/jark

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