Distribution Recipes

TODO introduction see project-recipe

A basic distribution description, which in this case would be stored in a file named toolkit.distribution, looks like this:

variables:
  

include:
  

versions:
  - project₁@version₁
  - project₂@version₂
  

The following fields are most important:

FILENAME

This is not an actual field but the name of the recipe file with its extension removed (e.g. rsb for a recipe file named rsb.distribution).

TODO

variables

TODO

include

TODO

versions

A list of project names and versions with elements of the form

NAME@VERSION
name: "NAME" versions: - VERSION₁ - VERSION₂

which should be part the distribution. Note that multiple versions of a project can be specified in one entry but multiple entry for the same project are not allowed.

versions » name

TODO

versions » match

TODO

Example:

versions:
- pattern: "^(([^-]+)-stable)$"
  variables:
    name: "${match:1}"
    numeric: "${match:2}"

versions » variables

TODO

versions » include » distributions

Like the global include » distributions field, but specific to a versions. The value can refer to the value of the global variable via ${next-value}.

TODO overwriting entries?

versions » include » projects

Like the global include » projects field, but specific to a versions. The value can refer to the value of the global variable via ${next-value}.

TODO overwriting entries?