A Build Specification contains the instructions that tell
the build engine how to create and change the objects that are in
a project. It contains four sections: Project References, Variables,
Command Sets, and Builders, with command sets and builders being the
most fundamental. Command sets describe how objects are built
on the IBM® i Operating System,
builders describe what is built. Here is a quick overview.
- Project References
- These are used to refer to build specifications in other projects.
Command sets defined in these other specifications can then be used
in this specification. This allows common definitions to be shared
among a number of projects. Project references can also be used to
specify prerequisite projects. These are projects upon which this
project depends and thus should be built before this project is built.
- Variables
- These are string values that can be used by name in the attributes
of command sets and builders. Variables are used to control various
aspects of a build and to provide a convenient place for defining
build options.
- Builders
- These define what objects are built, the inputs that are used
to build those outputs, and what the dependencies among the builders
in the project are. These dependencies defines the order in which
the builders in the project are run. In addition, builders describe
the other resources that may be dependencies of a project that aren't
contained directly in the project.
- Command Sets
- These lists of standard IBM i
commands which can be used by builders. A command set can be used
by more than one builder. They can be parameterized by using substitution
variables whose values are then provided by the builder.
The .ibuild File
The Build Specification
is kept in the .ibuild file located in the .ibmi directory of the
project. It is an XML file. The file can be edited using the IBM i Build
Specification Editor, a form-based editor that provides a convenient
way to ensure that the generated XML markup is correct. Do not edit
this file directly. Always use the build specification editor.
Please refer to Jazz™.net for
more information.