DO NOT READ, THIS IS A WORK IN PROGRESS
rosdistro is a file format for managing ROS Distributions and the ROS Stacks they contain. This file format is used as input to a variety of tools in the ROS build and release toolchain, from stack release tools to rosdoc.
UNSTABLE DOCUMENTATION
rosdistro.yaml
The rosdistro file format is a YAML-based description of a collection of ROS stacks.
This file format has several main sections:
_rules
- Top-level, named rules for stacks. Rules describe the URLs where stacks can be found in source control
type: mappings {_rules name → source control rules}
release
- Name of this release.
type: string
variants
- This section lists the variants (aka debian metapackages) that are described by this file.
type: ordered sequence of mappings, {distribution name → list of stacks}
stacks
- This section lists release information about the stacks that are included in the distribution. This information ranges from the version number of the release to URLs that are used for source control.
NOTE: the _uri_rules key can appear at any level in this tree of mappings.
type: unordered list of mappings {stack name → stack properties}
version
Version number for this file. Version numbers may be used by tools, such as the debian package builder, to determine whether or not to generate new output. You can use the $Revision: $ svn:keyword to track the SVN revision Id of the file.
type: int or special $Revision: VERSION $ string.
- Top-level, named rules for stacks. Rules describe the URLs where stacks can be found in source control
variants
The variants section lists groupings of stacks that you wish to install together. They map directly to debian metapackages.
stacks
Each key in the stacks section describes information about a particular stack, e.g.
mystack: {version: 0.7.3}
In this example, the stack is named mystack. It has a version 0.7.3 release associated with the latest distribution. Additional keys for other distributions can be added.
Each stack property list may also contain a _rules key, which overrides any higher-level _rules values.
_rules
_rules are URL format strings that are used for determining the location of source code related to a stack.
There are two types of _rules allowed in a rosdistro file. The top-level rules section is a dictionary with named rule entries. You can also put a _rules entry at any level of the stacks entry. This lower-level _rules entry can either contain a rules list, or it can refer to a top-level `_rules entry by name.
For a description of the _rules format, please see the rules page.