I haven't followed up with Jim after the conference unfortunately but I
would love indeed to help get it a bit more flexible.

OK with project do ... end but I am afraid of confusing people and making
Buildr look even more magic.

On Mon, Nov 15, 2010 at 10:04, Alex Boisvert <alex.boisv...@gmail.com>wrote:

> The project method could be overloaded to not only return a project but
> also define a project if a block is given, e.g.,
>
> project :foo # => returns the project named :foo if it exists
>
> project :foo do
>   ...  # define the project
> end
>
> I feel it would be consistent with many of Rake's task constructors, such
> as file('/path/to/file') do ... end, so I'm open to the idea of allowing
> this provided it doesn't break backward compatibility.
>
> I've also been entertaining the idea (which we discussed this briefly with
> Antoine and Jim Weirich at GoGaRuCo) of aliasing Task.enhance to
> depends_on, accepting either a single task or a list of tasks,
>
> task(:foo).depends_on :bar
>
> task(:foo).depends_on :bar, :baz
>
> and adding convenience methods such as first, and last:
>
> task(:foo).first do
>   # block will be executed before 'enhance' blocks
> end
>
> task(:foo).last do
>   # block will be executed after 'enhance' blocks
> end
>
> (with the caveat that 'first' and 'last' don't compose as well as task
> dependencies and should therefore not be overused)
>
> Ideally, these last enhancement should go in Rake but we could stage them
> in Buildr first.   Thoughts?
>
> alex
>
> On Mon, Nov 15, 2010 at 8:37 AM, Antoine Toulme 
> <anto...@lunar-ocean.com>wrote:
>
>> project is used too - it's a method returning the current project.
>>
>> define comes from Rake.
>>
>> On Mon, Nov 15, 2010 at 01:33, redstun <reds...@gmail.com> wrote:
>>
>> > Why the word 'define' is chosen to create a project?
>> >
>> > The word 'define' makes me thinking I'm creating a ruby method, rather
>> than
>> > a project, because it's too close to ruby keyword 'def'. Even if 'def'
>> is
>> > not a ruby keyword, 'define' really means define anything, much more
>> than
>> > just a project.
>> >
>> > And I always feel it's natural to define a project with the word
>> 'project',
>> > rather than the word 'define'. Probably we have 'project' used every
>> > elsewhere, such as Ant, Maven, Java IDEs, MS Visual Studios, anything
>> else?
>> >
>> > Although 'define' cannot be dropped, can we just allow the word
>> 'project'
>> > be
>> > used to create a project by something like method alias?
>> >
>>
>
>

Reply via email to