Estimated Progress is a progress bar visible in the Build Summary view that increments by one every time an action completes while your build runs, and the total is dynamically calculated. This is what the progress bar looks like during a build:

The calculation of progress is only an estimate - these are the steps FinalBuilder makes to estimate the build progress:
| 1. | When a build first starts, the progress is set to zero and the progress bar total is calculated. |
| 2. | First the log archive is queried to find the last successful build. If there was a last successful build, then the amount of actions that executed in that build is used to set the total. |
| 3. | If there was no last successful build, then FinalBuilder calculates how many actions are in your build process and uses that as the total. |
For some build process, the above methods to calculate the progress may not be adequate. For example, a build process may have two modes (eg. Full and BugFix). The two different modes may have very different progress totals, and using the last successful build action count method will only work some of the time. You can override the estimated total using a either the script method "SetEstimatedProgressTotal", or by using the Set Estimated Progress Total Action.
SetEstimatedProgressTotal script method
The SetEstimatedProgressTotal script method takes a single integer parameter which allows the progress total to be set to any value at any time.
An example how to use the "SetEstimatedProgressTotal" script method.
Using the same example above - your build process has Full and BugFix modes. You know (because you've run a Full build enough times) that a Full build will run 469 actions, and that a BugFix build runs only 210 actions. Your build process will have some logic at the start which figures out if a Full build or BugFix build is required, and using that same logic it can call the script function for the full build (in JScript):
if (FullBuild){
SetEstimatedProgressTotal(469)
} else {
SetEstimatedProgressTotal(210)
}
This gives you complete control over the estimated progress, and it can be set at any time during your build.


