Authoring Projects

This section details how to use the BuildStream YAML format to create your own project or modify existing projects.


Plugins provide their own individual plugin specific YAML configurations, The element .bst files can specify plugin specific configuration in the config section, while sources declared on a given element specify their plugin specific configuration directly on their main dictionary.


The following element types are provided with BuildStream:

General Elements

  • stack - Symbolic Element for dependency grouping
  • import - Import sources directly
  • compose - Compose the output of multiple elements
  • script - Run scripts to create output
  • junction - Integrate subprojects
  • filter - Extract a subset of files from another element

Build Elements


The following source types are provided with BuildStream:

  • local - A Source implementation for local files and directories
  • tar - A Source implementation for tarballs
  • zip - A Source implementation for zip archives
  • git - A Source implementation for git
  • bzr - A Source implementation for bazaar
  • ostree - A Source implementation for ostree
  • patch - A Source implementation for applying local patches

External Plugins

External plugins need to be installed separately, here is a list of BuildStream plugin projects known to us at this time: