buildr-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Assaf Arkin" <ar...@intalio.com>
Subject Re: build dependency (was: Re: buildfile per component)
Date Mon, 30 Jun 2008 16:21:25 GMT
On Mon, Jun 30, 2008 at 4:14 AM, Ittay Dror <ittay.dror@gmail.com> wrote:
> Fair enough and I agree with all your points.
>
> I do however have an idea which I wrote before but may have been obscured by
> the talk about separating build files:
>
> Today in buildr I have two modes: compile all and compile a project group
> (cd to the group's directory and run buildr)
>
> But, what if there are dependencies between modules and groups? Say I have
> an application with 'common', 'server' and 'client' modules (or group of
> modules). It would be nice if I could tell buildr to build 'server' and all
> its dependencies and it would build 'common'.

It already does that. If there's any dependency it knows how to build,
it will build it.  You get that when you have several projects in the
same buildfile.

Assaf

 or, if i cd into one of the
> server modules and build it, it will also build those modules in common
> which it depends on. this is good for source trees with high modularization
> (for example a framework that has a lot of plugins - it will be a waste of
> time to build everything just for one plugin). I know this may cause
> consistency problems ('common' might have changes that break 'client'), but
> I think the flexibility this brings is good (I know of one project that will
> benefit from such a feature).
>
> So, if in 'server' buildfile i use 'project("common")', and 'common' is not
> found in @projects, then buildr can try to load the buildfile from
> root/common.
>
> What is your view?
>
> Ittay
>
>
> Assaf Arkin wrote:
>>
>>
>>>
>>> So root/bar/buildfile should be evaluated also.
>>>
>>> There are two ways that I think of:
>>> 1. the "user" way: rename root/foo/buildfile and root/bar/buildfile to
>>> root/foo/buildfile.sub and root/bar/buildfile.sub. then when building in
>>> foo
>>> builr will still read the file from root/buildfile
>>> 2. the "framework" way: when referencing an unknown project, try to
>>> search
>>> the directories for a directory with the same name as the project and
>>> read
>>> the buildfile from there. this means buildr needs to know the root from
>>> which to search, maybe by requiring a root.buildr file to be placed
>>> there.
>>> then, if in root/foo/buildfile, buildr sees 'project("bar")', it will try
>>> to
>>> read root/bar/buildfile, finding the definition of bar there and all is
>>> well
>>>
>>> The second way is better for complex projects since it requires reading
>>> only
>>> those projects that are required as dependencies by the project that is
>>> currently being built.
>>>
>>> Unfortunately, I do not yet know enough Ruby / Rake / Buildr to try to
>>> attempt this change myself.
>>>
>>> Ittay
>>>
>>>
>>> Assaf Arkin wrote:
>>>>
>>>>>
>>>>> thanks,
>>>>> ittay
>>>>>
>>>>>
>>>>> Assaf Arkin wrote:
>>>>>>
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Assaf Arkin wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Thank you,
>>>>>>>>> Ittay
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> View this message in context:
>>>>>>>>> http://www.nabble.com/buildfile-per-component-tp18107287p18107287.html
>>>>>>>>> Sent from the Buildr - User mailing list archive at Nabble.com.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> View this message in context:
>>>>>>> http://www.nabble.com/buildfile-per-component-tp18107287p18167540.html
>>>>>>> Sent from the Buildr - User mailing list archive at Nabble.com.
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> View this message in context:
>>>>> http://www.nabble.com/buildfile-per-component-tp18107287p18185612.html
>>>>> Sent from the Buildr - User mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/buildfile-per-component-tp18107287p18188699.html
>>> Sent from the Buildr - User mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>
> --
> View this message in context: http://www.nabble.com/buildfile-per-component-tp18107287p18193377.html
> Sent from the Buildr - User mailing list archive at Nabble.com.
>
>

Mime
View raw message