builder 

Build Management from Bell Labs Systems Technology Center

Getting Started with builder

builder home page

Download and Install builder if you haven't already.  

The next thing to do is to run builder. You should give it a "project" and "scenario" name (it will prompt for them if you don't).

These names can be whatever you want. Typically the "project" is some name that indicates the Sablime product and generic; for example "myprod1.0". The "scenario" is a typically a descriptive name of the particular build; for example "nightly".

See the Usage Models page for examples of how builder can be used, and for links to sample (template) scenarios.

   $BUILDERDIR/bin/builder -pmyprod1.0 -snightly

Note: whenever builder is used, the $BUILDERDIR variable must either be defined in the environment, or be passed to builder on the command line (use the -b option).

Builder will notice that the project and scenario don't yet exist, and will offer to create them.

If you want to work from a template, builder will let you select one and then it will ask you about each value specified in the template, and whether that existing value is "OK". If you answer yes, it will go on to the next value. "No" will cause it to ask for a new value.

If you are not working with a template (that is, you specified that you want a "clean configuration"), then builder will ask for new values without reference to any previous values.

There are quite a few of these questions, so you might want to open another window on the intended build machine so that you can verify path and file names.

Note: Type "help" at any prompt for context-sensitive help. You can also type "exit" or "quit" at any prompt.

It will start by asking you for a few "project" level configuration items such as the path to your Sablime initialization script.  Then it will proceed to ask about the "scenario" level items such as the options to pass to the build tool (nmake).  One of the other key pieces of information about a scenario is its Viewpath.

Once it completes the initial "scenario" level questions, it will ask a series of questions about each Viewpath node: such things as whether or not Sablime's node_update/getversion should be run on the node.  For node_update/getversion nodes there are a lot more questions than for the others.

Any time builder prompts for information you can enter "help", and it will display some appropriate help text and then re-prompt for the information.

Note: If you make a mistake, there's no need to quit the process. It is easy to go back and modify the scenario later.

Once the configuration operation is completed, you're ready to launch builder.

        $BUILDERDIR/bin/builder -pmyprod1.0 -snightly

Now that there IS such a project and scenario configured on your machine, builder will offer to launch the scenario:

        Builder is about to launch a build of scenario nightly under the 
       project myprod1.0.  Is that OK?  (y or n)

(If you get some goofy messages about <very long path>: not found, you are probably on a Solaris machine. Most Solaris machines have a bug in their "ksh" that both builder and nmake have trouble with. You'll need to use the nmake-supplied version of ksh. See the troubleshooting page.)


See the User's Guide for more information on launching builder.  


 If you wish to get a report on the settings you selected, use the "-d" option:

        $BUILDERDIR/bin/builder -pmyprod1.0 -snightly -d

Builder will display all of the project and scenario settings for this scenario (it will not attempt to launch it).

If you wish to modify the project level parameters, use the "-f" option, or to modify the scenario level parameters, use the "-F" option. Or use both.

$BUILDERDIR/bin/builder -pmyprod1.0 -snightly -f -F

Builder will ask about each existing parameter. It will show you the current value and ask if the setting "is OK?". A yes answer causes it to continue to the next parameter, a "no" answer causes it to prompt for new values.

Special hints: if you answer "NEXT!" to any "is this OK?" question, builder will skip over (i.e. assume "yes" answers to) the remaining "is this OK?" questions until it gets to the next major section (i.e. to the scenario if it is currently doing the project, or to the next viewpath node if it is doing the scenario). If you answer "YES!" to any such question, it will assume "yes" answers to all remaining questions. You'd use this when you've already modified the thing you wanted to change.