You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@gump.apache.org by Nick Chalko <ni...@chalko.com> on 2004/03/28 09:16:22 UTC
[RT] Let each project run using the last successfull jar from each
dependency
Here is an idea to let gump build 100% every time.
Keep the jars from the last success full build of each project. Then a
project fails it will not stop the rest of the tree from building.
Of course it becomse a little more complicated to know what jars were
used for what. But I think we could keep track of that.
Hmm almost like a gump repostory.
R,
Nick
---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@gump.apache.org
For additional commands, e-mail: general-help@gump.apache.org
Re: [RT] Let each project run using the last successfull jar from
each dependency
Posted by Michael Davey <Mi...@coderage.org>.
> 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.
If the cascading errors/warnings idea from another RT thread, or the
list of all changes idea from another RT thread still, were implemented
too, this wouldn't be an issue. We would end up with something like:
Error: 'A' failed to build because of Exception dddd
[@link-to-stacktrace], possible causes:
'A':src/java/org/apache/a/foo.java changes to lines 34, 36, 144
[@link-to-diff]
'Z':/src/java/org/apache/z/bar.java changes to lines 244-268
[@link-to-diff]
Warning: 'C' requires failed prerequisite 'A' - using build from
2004-03-27 instead
Error: 'C' failed to build because of Exception ffff
[@link-to-stacktrace], possible causes:
'C':/src/java/org/apache/c/baz.java changes to lines 640-699
[@link-to-diff]
'A':src/java/org/apache/a/foo.java (inherited from 'A') changes to
lines 34, 36, 144 [@link-to-diff]
'Z':/src/java/org/apache/z/bar.java (inherited from 'A') changes to
lines 244-268 [@link-to-diff]
--
Michael
---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@gump.apache.org
For additional commands, e-mail: general-help@gump.apache.org
Re: [RT] Let each project run using the last successfull jar from
each dependency
Posted by Nick Chalko <ni...@chalko.com>.
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: general-unsubscribe@gump.apache.org
For additional commands, e-mail: general-help@gump.apache.org
Re: [RT] Let each project run using the last successfull jar from
each dependency
Posted by Sam Ruby <ru...@apache.org>.
Martin Cooper wrote:
> On Sat, 27 Mar 2004, Nick Chalko wrote:
>
>>Here is an idea to let gump build 100% every time.
>>
>>Keep the jars from the last success full build of each project. Then a
>>project fails it will not stop the rest of the tree from building.
>
> I'm just a lurker here, but this seems to defeat the whole purpose of
> Gump. Gump's purpose in life is to let people know as soon as possible
> when changes in one place break things in other places.
>
> 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
One way to mitigate this would be to place an upper bound on how long
old builds may be used. Three days old may be fine, but three weeks old
is probably not.
- Sam Ruby
---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@gump.apache.org
For additional commands, e-mail: general-help@gump.apache.org
Re: [RT] Let each project run using the last successfull jar from
each dependency
Posted by Martin Cooper <ma...@apache.org>.
On Sat, 27 Mar 2004, Nick Chalko wrote:
> Here is an idea to let gump build 100% every time.
>
> Keep the jars from the last success full build of each project. Then a
> project fails it will not stop the rest of the tree from building.
I'm just a lurker here, but this seems to defeat the whole purpose of
Gump. Gump's purpose in life is to let people know as soon as possible
when changes in one place break things in other places.
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...
--
Martin Cooper
> Of course it becomse a little more complicated to know what jars were
> used for what. But I think we could keep track of that.
>
> Hmm almost like a gump repostory.
>
>
>
> R,
> Nick
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscribe@gump.apache.org
> For additional commands, e-mail: general-help@gump.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@gump.apache.org
For additional commands, e-mail: general-help@gump.apache.org