From Second Life Wiki
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.
- A file containing a set of artifacts used to store and transport dependencies from source builds to dependent builds.
- 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 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-time Dependency
- A file needed by a build for successful completion. Some artifacts, like header files, are build time dependencies.
- 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.
- 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.
- 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.