Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Leiningen and Cake
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  6 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Phil Hagelberg  
View profile  
 More options Nov 14 2011, 7:35 pm
From: Phil Hagelberg <p...@hagelb.org>
Date: Mon, 14 Nov 2011 16:35:25 -0800
Local: Mon, Nov 14 2011 7:35 pm
Subject: Leiningen and Cake
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/186...
[2] - http://icylisper.in/jark


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Stefan Kamphausen  
View profile  
 More options Nov 15 2011, 5:31 am
From: Stefan Kamphausen <ska2...@googlemail.com>
Date: Tue, 15 Nov 2011 02:31:48 -0800 (PST)
Local: Tues, Nov 15 2011 5:31 am
Subject: Re: Leiningen and Cake

Hi,

this definitely sounds like a good move.

For me the persistent JVM was the main reason to work with cake for a
while.  It really helped me during development of tests and when I used
marginalia.

Just my 2ct.

Kind regards,
Stefan


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jeff  
View profile   Translate to Translated (View Original)
 More options Nov 15 2011, 10:39 am
From: Jeff <ros...@gmail.com>
Date: Tue, 15 Nov 2011 07:39:55 -0800 (PST)
Local: Tues, Nov 15 2011 10:39 am
Subject: Re: Leiningen and Cake
Great news!  I've been hoping this merger would happen some day.  When
I shifted over to cake a while back there were two main reasons:

* cleaner and more reliable handling of native library dependencies,
built-in
* ability to define makefile like dependency tasks
 - really handy for scripting server deployment, logfile processing
tasks, etc. (like with rake)

The persistant JVM is very handy for running these kinds of sub-tasks,
so in my mind they go together.  I also found myself using "cake ps"
and "cake killall" fairly often during development, especially when
running various web service daemons in the background.

This will be a great move for the Clojure community.  I know at least
for Overtone users it will be nice to unify on a single build tool.

Cheers,
Jeff

On Nov 15, 7:35 am, Phil Hagelberg <p...@hagelb.org> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Daniel  
View profile   Translate to Translated (View Original)
 More options Nov 15 2011, 12:30 pm
From: Daniel <doubleagen...@gmail.com>
Date: Tue, 15 Nov 2011 09:30:58 -0800 (PST)
Local: Tues, Nov 15 2011 12:30 pm
Subject: Re: Leiningen and Cake
The persistent jvm (and tasks that go with it), nailgun task, contexts
(https://github.com/flatland/cake/wiki/Contexts), task definition in a
single file....

Also, ease of installation.  'gem cake' is infinitely simpler than any
install process I've ran across for leiningen (albeit a little off-
putting).  We should at least have leiningen in an apt-get repository,
or an ebuild submitted, or something of that sort.

Some of those may not (or no longer be) differences.  The persistent
jvm pulled me away from leiningen too early, before I could learn much
about it.

On Nov 14, 6:35 pm, Phil Hagelberg <p...@hagelb.org> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Phil Hagelberg  
View profile  
 More options Nov 15 2011, 1:03 pm
From: Phil Hagelberg <p...@hagelb.org>
Date: Tue, 15 Nov 2011 10:03:17 -0800
Local: Tues, Nov 15 2011 1:03 pm
Subject: Re: Leiningen and Cake

On Tue, Nov 15, 2011 at 9:30 AM, Daniel <doubleagen...@gmail.com> wrote:
> Also, ease of installation.  'gem cake' is infinitely simpler than any
> install process I've ran across for leiningen (albeit a little off-
> putting).  We should at least have leiningen in an apt-get repository,
> or an ebuild submitted, or something of that sort.

Leiningen 1.6.1.1 is actually in Debian and Ubuntu, with 1.6.2 just
waiting to be sponsored for upload to unstable. It's also in homebrew
and (I believe) macports. Getting it into Gentoo and rpm-based package
managers would be great if anyone has expertise there. I have created
a bin/lein-pkg script especially for packagers that has things like
self-install and upgrade stripped out since these are only relevant
for the manual install.

-Phil


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Phil Hagelberg  
View profile   Translate to Translated (View Original)
 More options Nov 15 2011, 1:27 pm
From: Phil Hagelberg <p...@hagelb.org>
Date: Tue, 15 Nov 2011 10:27:20 -0800
Local: Tues, Nov 15 2011 1:27 pm
Subject: Re: Leiningen and Cake

On Tue, Nov 15, 2011 at 7:39 AM, Jeff <ros...@gmail.com> wrote:
> Great news!  I've been hoping this merger would happen some day.  When
> I shifted over to cake a while back there were two main reasons:

> * cleaner and more reliable handling of native library dependencies, built-in

This was actually added in version 1.6.0. I have superficially tested
it on most of the libraries I could find that used native
dependencies, but it would be helpful to get more eyes on that feature
in particular. Also the _creation_ of jars that contain native deps
leaves much to be desired from what I've heard, though this is
probably plugin material.

> The persistant JVM is very handy for running these kinds of sub-tasks,
> so in my mind they go together.  I also found myself using "cake ps"
> and "cake killall" fairly often during development, especially when
> running various web service daemons in the background.

I understand that this is very handy, but it seems to me like it could
be handled orthogonally to Leiningen itself. Jark is making an effort
to handle persistent JVMs for various purposes including Leiningen
tasks, and it's my initial inclination to delegate to it instead. If
you're a heavy user of the persistent JVM, I'd encourage you to at
least try out Jark and give them feedback.

I would rather avoid hoisting the conceptual complexity of process
management onto the user by default. It's not off the table to add it
as an optional feature of Leiningen, but we should think through the
options. If the main motivation is just to avoid an extra step of
installing Jark, maybe it would be better to help with packaging up
Jark to make it easier to install?

-Phil


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »