Sam Ruby wrote:

Martin Cooper wrote:



The change you are suggesting would at best delay the guilty party from
being notified of the issues, and at worst result in everything building
successfully every time.

Of course, I may be misinterpreting you entirely...


It is more subtle that that. What it would do is to enable a nearly perfect system to run better, but it could make a bad situation worse.

Example: Xalan is a stable project with a stable set of interfaces. However, I have seen it fail to build. Due to Ant's depedency on Xalan, this pretty much wiped out the days's run. Unnecessarily.

On the other side is projects that rarely build. If this is obscured by substituting in older jars, projects will be provided with misleading impression that


When ant fails we learn nothing else that is it for the day but there is more to learn

Lets look at this example
Project A, B, C
Project C depends on A and B

Now let Project A fail to build
let Project B make a non backwards compatible change.

Project C will not find this out until project A succeeds. If we used a old build of project A, Project C would learn this sooner.

Projects that have to many dependencies or to deep of a dependency chain , never get a chance to build. The more we grow the more projects that will never get a chance build.

There is a gump "smell" to learn. How old are the dependencies. Oldest dependency and average age of dependency, and number old dependencies.

Let's attempt to learn as much as possible on each run. And that means using the newest build available.

I do see one possible problem we could face
From above let project A and project B both depend on Project Z
Project Z makes a change and project B makes a change to match.
Now since project A is not building Project C will use the old version of Project A with new version of Project B. If they are incompatible Project C will see the error not Project A. But we still learn something as early as possible just not in the desired place.


R,
Nick



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to