 -Build(1)

NAME
-Build - build a change

SYNOPSIS
-Build [ option... ][ filename... ]
-Build -List [ option... ]
-Build -Help

DESCRIPTION
The -Build command is used to build a project. The project configuration file is consulted for the appropriate build command, and that command is executed (see the build_ command and integration_build_command fields in aepconf(5) for more information.) Output of the command is automatically logged to the .log file at the root of the development directory tree. The build command will be executed with its current directory being the root of the development directory, irrespective of there the -Build command was executed.

If the change is in the being integrated state, references to the development directory, above, should be read as the integration directory. Integration build commands are executed with the user and group set to the project's owning user and group. That is, it is not necessary for an integrator to log in as someone else, the project account for instance, in order to do an integration.

  No Build Required
It is possible to configure your project so that no build is required. To do this, set the following
    build_command = "exit 0";
in the project configuration file.

  Process Side Effects
This command will cancel any test registrations, because building the project logically invalidates them. If the project configuration file was deleted, any diff registration will also be canceled.

  Notification
The actions of the command are controlled by the build_ command and integration_build_command fields of the project config file. See aepconf(5) for more information.

PARTIAL BUILD
If files are named on the command line, these files are appended to the build command. This is known as a partial build. Partial builds are not legal in the being integrated state, but can often be useful in the being developed state. Partial builds are not recorded in the change status, because builds are decoupled from aegis it is not possible for aegis to know if any set of partial builds is equivalent to a full build.

Warning: no change state lock is taken for a partial build, only a baseline read lock.

OPTIONS
The following options are understood:

name=value
    Command line arguments of this form are assumed to be variable assignments for the build tool. They are passed through unchanged. They imply a partial build.

-MINImum
    This option may be used to request a source-only development_directory_style. This is useful if you want to simulate something like aeib -minimum in the development directory. This option is only meaningful if development_directory_style is being used. If the change is in the being integrated state, and the developer specified -MINImum when issuing the -Integrate_Begin command, then this option is set by default.

RECOMMENDED ALIAS
The recommended alias for this command is
csh%	alias aeb ' -b \!* -v'
sh$	aeb(){ -b "$@" -v}

ERRORS
It is an error if the change is not assigned to the current user.
It is an error if the change is not in one of the being developed or being integrated states.
It is an error if a partial build is requested and the change is in the being integrated state.

SEE ALSO

aedb(1)
    begin development of a change

aecp(1)
    file copy also takes a baseline read lock (non-exclusive)

aeib(1)
    begin integration of a change

aeipass(1)
    integrate pass takes a baseline write lock (exclusive)

aet(1)
    run tests

aemetrics(5)
    metrics values file format

aepconf(5)
    project configuration file format

aeuconf(5)
    user configuration file format