On Tue, Jul 15, 2008 at 7:51 AM, Ittay Dror <[EMAIL PROTECTED]> wrote:
> Hi Assaf, > > Assaf Arkin wrote: > >> >> That's true. If your buildfile has one project and you run buildr with no >> arguments, it builds that project but doesn't package anything. >> >> If you have foo and bar, and foo depends on a jar generated by bar, than >> now >> you have a dependency: foo depends on bar.jar, so when foo builds, it >> invokes that task which builds bar and packages bar.jar. >> >> > can you point me where in the code this is done? I can see that the method > 'package' creates a task and makes it depend on 'build', and i also see that > 'with' in CompileTask converts specs to artifacts, which in the case of > Project just takes the packages tasks of the project. What I don't see is > where the dependency on those package tasks is created. (it looks like > @dependencies in CompileTask is just set to an array of tasks and then is > mapped to an array of strings before passing it to the compiler object) invoke_prerequisites adds the source directories and dependencies to the list of prerequisites before invoking them all. The reason, if you're curious, is to satisfy another -- no longer in existence -- feature; if this was rewritten today, probably go straight in the same enhance block as compile. Assaf > > > Thank you, > Ittay > >> That's opportunistic. Since you're not running buildr package, foo will >> not >> package itself, neither will any other package defined by bar but never >> referenced. Only foo's dependency gets packaged. >> >> Assaf >> >> >> >> >>> or put it another way, where in the code is 'package' called explicitly >>> to >>> start the build? >>> >>> >>> >>>> Assaf >>>> >>>> >>>> >>>> >>>> >>>> >>>>> Thanks, >>>>> Ittay >>>>> >>>>> -- >>>>> -- >>>>> Ittay Dror <[EMAIL PROTECTED]> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> -- >>> -- >>> >>> Ittay Dror <[EMAIL PROTECTED]> >>> >>> >>> >>> >> >> >> > > -- > -- > > Ittay Dror <[EMAIL PROTECTED]> > >
