builder 

Build Management from Bell Labs Systems Technology Center

New and changed features of builder v2.1

builder home page

 Node_update

Builder v2 uses now uses the Sablime v5.1 or 5.2 node_update getversion interface feature to perform source node maintenance. Since node_update actively verifies the correctness of each file on the target node, build performance can be greatly improved, and accuracy enhanced.

The speed improvement comes from not replacing files unless they actually changed.

The accuracy improvement comes from replacing files that have been improperly modified or corrupted, and by removing files that should no longer be on the target node. (Both of these are optional, by the way).

These positive qualities of node_update are offset somewhat by its greater need for temporary disk space.

Desired State Updates

When used in "Desired State" mode, you define the getversion criteria for a particular source node, and builder - using node_update - makes the node correct. If an MR has joined the criteria for this node, then the files for that MR will be updated. If an MR got rejected out of the criteria (and even resubmitted), then its files will be updated.

Only files that actually change get replaced, so if an MR that touches many files gets rejected and resubmitted, for example, only those files that were re-modified between the submits get updated.

Desired State updates can also update nodes to reflect an MR getting approved, or to reflect name and directory changes due to the "source" command.

Fast Incremental Updates

As an alternative to "Desired State" updates, builder also offers "Fast Incremental" updates. Both update modes produce incremental changes to source nodes and both use Sablime's node_update.

As the name suggests, Fast Incremental updates are quicker. They also use much less temporary disk space. When used in Fast Incremental mode, builder stores the list of MRs (along with their submit time) that were used to perform the node_update. The next build, then, only updates files for MRs that were not previously on the list, or that have been re-submitted.

Fast Incremental updates, though, only add/replace files on a node. Fast Incremental mode won't remove or update files due to an MR's rejection or approval, nor will it fix corrupted files or remove junk files, nor make file name or directory to reflect changes made by the "source" command.

Usability Enhancements

Persistence of "Command_Line" settings after scenario updates

Viewpath node name change while maintaining associated parameters!

More email formatting flexibility

Usage models and usage templates

NEXT! option during reconfig. (similar to YES!)

Friendlier status file names.

"latest" build status directory!

"Continue without source changes" available as command line option.

Status directory names indicate build success or failure

Performance / Structural Enhancements

Support for "snapid" and "newsnapid" getversion options

Operations Log for each build

Status directory names indicate build success/failure

Elimination of instance directories when only "update" or "display" is used.

Much less reliance on Sablime groups for data storage.

Hooks to user code at critical points.

Support for multi-platform installations