Autobuild/Lexicon

From Second Life Wiki
Jump to navigation Jump to search


This document defines terms as they are used in the context of Autobuild. This is not design documentation, but rather a resource to help define key phrases and words we use.

Archive
A file containing a set of artifacts used to store and transport dependencies from source builds to dependent builds.
Artifact
One or more files from a package that can be dependencies of another build. Some artifacts are the output of the build of a package, like a static library, dll or an executable. Some artifacts can be source for a package that needs to be redistributed, like header files that define symbols in a build.
Autobuild
Autobuild is the name of the tool. It is a command line tool supported on Windows, MacOS, and Linux. It is useable by developers and scripts to ease building and maintaining projects from multiple modular sources.
Build Configuration
A named configuration variant specifically for configuring or building package source. In particular a build configuration selects sets of options to pass to the configuration and compiler executables.
Build Id
A unique number for the build provided by the --id option to the build subcommand; defaults to a date/time stamp
Build-time Dependency
A file needed by a build for successful completion. Some artifacts, like header files, are build time dependencies.
Configuration
A superset of all parameters affecting a build of a given version. The package will need to describe which artifacts are specific to which configurations for downstream builds. config info: Platform, Compiler, Build Variant, CPU architecture.
Package
Metadata that describes the dependencies, artifacts and supported configuration info for a build. The sharing the metadata allows dependent builds to use the artifacts. The metadata should also describe how to start with a source version and produce expected artifacts from a build.
Package Repository
A database containing info about available packages and the URLs for finding their versions and artifacts.
Run-time Dependency
A file needed by a build to execute its output. Some artifacts, like dlls, are run time dependencies and will need to be redistributed with the output of a dependent build. Artifacts can be both run-time and build-time dependencies. Its up to the dependent build to determine.
Source Repository
A location containing the source for a project. The source repository format is not specified, it could be an hg repository or a tarball, etc.
Version
A unique and reproducible set of source data for a package.
Working Copy
The location where a source is being built. A developer will create a local working copy of source and a package to do development. The artifacts for the working copies dependencies will be copied into the working copies build folder.
Working Platform
The platform under which the autobuild tool is invoked, e.g. 'darwin' when running an autobuild tool on a Mac running OS X.