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 namesource 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 namelist 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 namestack 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.

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.

Wiki: rosdistro/Format (last edited 2010-10-19 22:56:15 by KenConley)