On Wed, 2003-06-04 at 05:47, Aslak Helles�y wrote:
> Sorry if this has been brought up before, but I have an idea about how
> to make the reactor smarter/quicker.
>
> I have a project with lots of subprojects that are built with reactor. I
> want to reduce the build time by making the reactor smarter.
>
> Imagine I have 3 sub projects a,b and c with the following dependencies:
> a<-b<-c.
>
> The 1st time I run reactor everything is built. Then I modify b and run
> reactor again. a doesn't depend on b and therefore shouldn't be rebuilt.
> The reactor should now only build b and c.
This is not really within the domain of the reactor to decide. This is
probably something that could be implemented as a separate goal that
might do a check before attaining goals pertinent to building.
You could use the task in cruisecontrol that check a whole set of
sources to see if there have been any changes. This would include any
changes to POM. You might also want to look at SNAPSHOTS eventually.
But I don't think this belongs in the reactor per se.
> I think this can be implemented quite simply by doing some date
> comparisons between java sources and classes in each project.
Yup, I think there's something like this in cruisecontrol as mentioned
before.
> I'm planning to implement this feature, but before I do, I'd like to
> hear some opinions.
I think something like:
<goal name="compile-with-uptodate-check">
<j:if test="$!{sourcesUptodate}">
<attainGoal name="compile"/>
</j:if>
</goal>
Where you do whatever you like to get a value for the up-to-date test.
> Cheers,
> Aslak
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
--
jvz.
Jason van Zyl
[EMAIL PROTECTED]
http://tambora.zenplex.org
In short, man creates for himself a new religion of a rational
and technical order to justify his work and to be justified in it.
-- Jacques Ellul, The Technological Society
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]