You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@buildr.apache.org by Sakari Isoniemi <sa...@gmail.com> on 2009/03/15 20:59:27 UTC

Call tasks in subdirectories ?

How to call a projects task, that is in subdirectory ?

For ex. the current directory is A, where is a buildfile.

How from this buildfile is called project/task, which buildfile is
in directory A/B/C ?

The notation
     compile.with projects('B\C\projX')

won't work

Re: Call tasks in subdirectories ?

Posted by Sakari Isoniemi <sa...@gmail.com>.
Helllo

In some future buildR version calling tasks residing outside a project
should be implemented with some notation like calling tasks inside
a project.

The need is obvious: To build all "components" belonging to system
with one buildr invocation.
Every component has of course it's own buildfile for ex decentralized
development
requires it.

For. ex
      project(dir1:project).project(dir2:project) ....

      project(..\prevDir:project)





2009/3/16 Daniel Spiewak <dj...@gmail.com>

> Well, it's not really as bad as all that.  You can always split the
> buildfile across multiple files using standard Ruby requires.  I like to
> keep the buildfile as declarative as possible anyway, factoring all the
> bizzarro tasks out.
>
> Daniel
>
> On Mon, Mar 16, 2009 at 12:06 PM, Ittay Dror <it...@tikalk.com> wrote:
>
> >
> >
> > Alex Boisvert wrote:
> >
> >  It works for a single buildfile only.   Why not use a single buildfile?
> >> If
> >> the projects are related, it's easier to have a single buildfile.
> >>
> >>
> > about single buildfile: when there are many projects, and therefore, many
> > committers, a single buildfile becomes a headache as the different
> commits
> > create conflicts (esp. if done in editors with different indentation
> > settings) and require merging. basically, it's the same reason as to
> > separate code into individual files, sure it is easier to have it all in
> one
> > place, but the lack of modularity is a boomerang.
> >
> > ittay
> >
> >  alex
> >>
> >> On Sun, Mar 15, 2009 at 10:28 PM, Sakari Isoniemi <
> >> sakari.isoniemi@gmail.com
> >>
> >>
> >>> wrote:
> >>>
> >>>
> >>
> >>
> >>
> >>> OK, but
> >>>
> >>>  Does the notation
> >>>
> >>>            project("A").project("B").project("C")
> >>>
> >>>   really work if we have a buildfile in DIRECTORIES  A and C ?
> >>>
> >>>  Or do we have to have a buldfile also in directory B, from where
> >>> buildfile in directory C is called ?
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> 2009/3/16 Alex Boisvert <bo...@intalio.com>
> >>>
> >>>
> >>>
> >>>> It depends on how you define your projects... generally you'd refer to
> >>>> sub-project with the colon notation.
> >>>>
> >>>> project("A:B:C")  # This is project A -> sub-project B -> sub-project
> C
> >>>>
> >>>> since it's shorter, although you can also use the longer form:
> >>>>
> >>>> project("A").project("B").project("C")
> >>>>
> >>>> alex
> >>>>
> >>>>
> >>>> On Sun, Mar 15, 2009 at 12:59 PM, Sakari Isoniemi <
> >>>> sakari.isoniemi@gmail.com
> >>>>
> >>>>
> >>>>> wrote:
> >>>>>        How to call a projects task, that is in subdirectory ?
> >>>>>
> >>>>> For ex. the current directory is A, where is a buildfile.
> >>>>>
> >>>>> How from this buildfile is called project/task, which buildfile is
> >>>>> in directory A/B/C ?
> >>>>>
> >>>>> The notation
> >>>>>    compile.with projects('B\C\projX')
> >>>>>
> >>>>> won't work
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>
> >>
> >
> > --
> > Tikal <http://www.tikalk.com>
> > Tikal Project <http://tikal.sourceforge.net>
> >
> >
>

Re: Call tasks in subdirectories ?

Posted by Daniel Spiewak <dj...@gmail.com>.
Well, it's not really as bad as all that.  You can always split the
buildfile across multiple files using standard Ruby requires.  I like to
keep the buildfile as declarative as possible anyway, factoring all the
bizzarro tasks out.

Daniel

On Mon, Mar 16, 2009 at 12:06 PM, Ittay Dror <it...@tikalk.com> wrote:

>
>
> Alex Boisvert wrote:
>
>  It works for a single buildfile only.   Why not use a single buildfile?
>> If
>> the projects are related, it's easier to have a single buildfile.
>>
>>
> about single buildfile: when there are many projects, and therefore, many
> committers, a single buildfile becomes a headache as the different commits
> create conflicts (esp. if done in editors with different indentation
> settings) and require merging. basically, it's the same reason as to
> separate code into individual files, sure it is easier to have it all in one
> place, but the lack of modularity is a boomerang.
>
> ittay
>
>  alex
>>
>> On Sun, Mar 15, 2009 at 10:28 PM, Sakari Isoniemi <
>> sakari.isoniemi@gmail.com
>>
>>
>>> wrote:
>>>
>>>
>>
>>
>>
>>> OK, but
>>>
>>>  Does the notation
>>>
>>>            project("A").project("B").project("C")
>>>
>>>   really work if we have a buildfile in DIRECTORIES  A and C ?
>>>
>>>  Or do we have to have a buldfile also in directory B, from where
>>> buildfile in directory C is called ?
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> 2009/3/16 Alex Boisvert <bo...@intalio.com>
>>>
>>>
>>>
>>>> It depends on how you define your projects... generally you'd refer to
>>>> sub-project with the colon notation.
>>>>
>>>> project("A:B:C")  # This is project A -> sub-project B -> sub-project C
>>>>
>>>> since it's shorter, although you can also use the longer form:
>>>>
>>>> project("A").project("B").project("C")
>>>>
>>>> alex
>>>>
>>>>
>>>> On Sun, Mar 15, 2009 at 12:59 PM, Sakari Isoniemi <
>>>> sakari.isoniemi@gmail.com
>>>>
>>>>
>>>>> wrote:
>>>>>        How to call a projects task, that is in subdirectory ?
>>>>>
>>>>> For ex. the current directory is A, where is a buildfile.
>>>>>
>>>>> How from this buildfile is called project/task, which buildfile is
>>>>> in directory A/B/C ?
>>>>>
>>>>> The notation
>>>>>    compile.with projects('B\C\projX')
>>>>>
>>>>> won't work
>>>>>
>>>>>
>>>>>
>>>>
>>
>>
>
> --
> Tikal <http://www.tikalk.com>
> Tikal Project <http://tikal.sourceforge.net>
>
>

Re: Call tasks in subdirectories ?

Posted by Ittay Dror <it...@tikalk.com>.

Alex Boisvert wrote:

> It works for a single buildfile only.   Why not use a single buildfile?   If
> the projects are related, it's easier to have a single buildfile.
>   
about single buildfile: when there are many projects, and therefore, 
many committers, a single buildfile becomes a headache as the different 
commits create conflicts (esp. if done in editors with different 
indentation settings) and require merging. basically, it's the same 
reason as to separate code into individual files, sure it is easier to 
have it all in one place, but the lack of modularity is a boomerang.

ittay
> alex
>
> On Sun, Mar 15, 2009 at 10:28 PM, Sakari Isoniemi <sakari.isoniemi@gmail.com
>   
>> wrote:
>>     
>
>   
>> OK, but
>>
>>   Does the notation
>>
>>             project("A").project("B").project("C")
>>
>>    really work if we have a buildfile in DIRECTORIES  A and C ?
>>
>>   Or do we have to have a buldfile also in directory B, from where
>> buildfile in directory C is called ?
>>
>>
>>
>>
>>
>>
>>
>> 2009/3/16 Alex Boisvert <bo...@intalio.com>
>>
>>     
>>> It depends on how you define your projects... generally you'd refer to
>>> sub-project with the colon notation.
>>>
>>> project("A:B:C")  # This is project A -> sub-project B -> sub-project C
>>>
>>> since it's shorter, although you can also use the longer form:
>>>
>>> project("A").project("B").project("C")
>>>
>>> alex
>>>
>>>
>>> On Sun, Mar 15, 2009 at 12:59 PM, Sakari Isoniemi <
>>> sakari.isoniemi@gmail.com
>>>       
>>>> wrote:
>>>>         
>>>> How to call a projects task, that is in subdirectory ?
>>>>
>>>> For ex. the current directory is A, where is a buildfile.
>>>>
>>>> How from this buildfile is called project/task, which buildfile is
>>>> in directory A/B/C ?
>>>>
>>>> The notation
>>>>     compile.with projects('B\C\projX')
>>>>
>>>> won't work
>>>>
>>>>         
>
>   

-- 
Tikal <http://www.tikalk.com>
Tikal Project <http://tikal.sourceforge.net>


Re: Call tasks in subdirectories ?

Posted by Alex Boisvert <bo...@intalio.com>.
It works for a single buildfile only.   Why not use a single buildfile?   If
the projects are related, it's easier to have a single buildfile.

alex

On Sun, Mar 15, 2009 at 10:28 PM, Sakari Isoniemi <sakari.isoniemi@gmail.com
> wrote:

> OK, but
>
>   Does the notation
>
>             project("A").project("B").project("C")
>
>    really work if we have a buildfile in DIRECTORIES  A and C ?
>
>   Or do we have to have a buldfile also in directory B, from where
> buildfile in directory C is called ?
>
>
>
>
>
>
>
> 2009/3/16 Alex Boisvert <bo...@intalio.com>
>
> > It depends on how you define your projects... generally you'd refer to
> > sub-project with the colon notation.
> >
> > project("A:B:C")  # This is project A -> sub-project B -> sub-project C
> >
> > since it's shorter, although you can also use the longer form:
> >
> > project("A").project("B").project("C")
> >
> > alex
> >
> >
> > On Sun, Mar 15, 2009 at 12:59 PM, Sakari Isoniemi <
> > sakari.isoniemi@gmail.com
> > > wrote:
> >
> > > How to call a projects task, that is in subdirectory ?
> > >
> > > For ex. the current directory is A, where is a buildfile.
> > >
> > > How from this buildfile is called project/task, which buildfile is
> > > in directory A/B/C ?
> > >
> > > The notation
> > >     compile.with projects('B\C\projX')
> > >
> > > won't work
> > >
> >
>

Re: Call tasks in subdirectories ?

Posted by Sakari Isoniemi <sa...@gmail.com>.
OK, but

   Does the notation

             project("A").project("B").project("C")

   really work if we have a buildfile in DIRECTORIES  A and C ?

   Or do we have to have a buldfile also in directory B, from where
buildfile in directory C is called ?







2009/3/16 Alex Boisvert <bo...@intalio.com>

> It depends on how you define your projects... generally you'd refer to
> sub-project with the colon notation.
>
> project("A:B:C")  # This is project A -> sub-project B -> sub-project C
>
> since it's shorter, although you can also use the longer form:
>
> project("A").project("B").project("C")
>
> alex
>
>
> On Sun, Mar 15, 2009 at 12:59 PM, Sakari Isoniemi <
> sakari.isoniemi@gmail.com
> > wrote:
>
> > How to call a projects task, that is in subdirectory ?
> >
> > For ex. the current directory is A, where is a buildfile.
> >
> > How from this buildfile is called project/task, which buildfile is
> > in directory A/B/C ?
> >
> > The notation
> >     compile.with projects('B\C\projX')
> >
> > won't work
> >
>

Re: Call tasks in subdirectories ?

Posted by Alex Boisvert <bo...@intalio.com>.
It depends on how you define your projects... generally you'd refer to
sub-project with the colon notation.

project("A:B:C")  # This is project A -> sub-project B -> sub-project C

since it's shorter, although you can also use the longer form:

project("A").project("B").project("C")

alex


On Sun, Mar 15, 2009 at 12:59 PM, Sakari Isoniemi <sakari.isoniemi@gmail.com
> wrote:

> How to call a projects task, that is in subdirectory ?
>
> For ex. the current directory is A, where is a buildfile.
>
> How from this buildfile is called project/task, which buildfile is
> in directory A/B/C ?
>
> The notation
>     compile.with projects('B\C\projX')
>
> won't work
>