blob: 5cd89a4c5d28b48491349be451c2b06d00d7315c [file] [log] [blame]
Jiri Simsa41fb3782015-02-18 11:24:46 -08001# Manifests
Jiri Simsa39a40a62014-10-11 09:08:05 -07002
Jenkins Veyron0e2b7c92014-11-20 20:28:15 -08003The files in this repository are referred to as "manifests" and
Jiri Simsa41fb3782015-02-18 11:24:46 -08004are used by the v23 tool for multi-repository management. Each
Jiri Simsae7bf98b2014-10-20 16:04:32 -07005manifest describes a set of projects and each project consist of a
6remote repository, a local path, and other optional attributes.
7
8Backwards incompatible changes to the manifest format are deployed by
Jenkins Veyron0e2b7c92014-11-20 20:28:15 -08009creating a new 'version' subdirectory (e.g. v2) and a new default
10manifest (e.g. v2/default), which is used by new versions of the
11veyron tool by default. Format of existing manifest files should not
12be changed as old versions of the veyron tool would not be able to
13parse them.
Jiri Simsa41fb3782015-02-18 11:24:46 -080014
15To add a project to an existing Vanadium universe, one should add
16it to relevant manifest for all versions that are still supported,
17following the format of the respective versions.
18
19Further, the set of projects that form a Vanadium universe should be
20closed under transitive closure with respect to dependencies. In other
21words, if a project A depends on a project B, then project A should
22only be included in manifests that include project B as well.