design a way to build against the last-successful-dependency-build
------------------------------------------------------------------

         Key: GUMP-105
         URL: http://issues.apache.org/jira/browse/GUMP-105
     Project: Gump
        Type: Task
  Components: Python-based Gump  
    Versions: Gump3-beta    
    Reporter: Leo Simons
     Fix For: Gump3-beta


The first algorithm to get right is GUMP-104, where we bail out of building at 
all if a dependency dies. The next step to tackle is to build against the last 
version of the dependency that /was/ built successfully.

This requires gump to become time-aware beyond a single build run, saving off 
previous successes into a repository and knowing about them. It requires a 
significant extension of the model where, for example

class BuildFailureRecoveryPlugin(AbstractPlugin):
  visit_project(p):
    if p.state <= FAILED:
      successful_p = historyutil.lookup_last_successful_build(p)
      modelutil.replace(p, succesful_p)
      p.failed_project = p
      p.state == RECOVERED

stages are inserted to keep most of the plugins blissfully unaware of the 
intelligence going on. If we get this right that'll be where the staged plugin 
model will really start to shine, as the graph theory people can design smart 
new algorithms (As long as they're compatible with the basic topsort we're 
doing in some way), and the build tool people can just, well, build stuff.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


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

Reply via email to