113 Component Manifest
A component manifest is the _component_.predica file in a component root. It identifies the
containing folder as a component root and records schema-evolution release metadata.
A component manifest has the following content model:
- A component declaration, when the manifest records a filesystem-location check.
- A
releasesblock, when the component has schema-evolution release metadata.
Releases
A component with schema-evolution release metadata records it with a releases block. The
schema evolution chapter defines the components that require this block. Each release entry
records a component release and the release numbers of its serialised representation
dependencies.
component SpaceShuttle;
releases
{
0 :
{
name: "Release 1.0",
date: (2012,April,18),
acme.Geometry: 1,
nasa.CommsModule: 0
},
1 :
{
name: "Release 1.1",
date: (2015,July,11),
acme.Geometry: 2,
nasa.CommsModule: 3,
nasa.Scrubber: 2
},
2 :
{
name: "Release 1.2",
date: (2015,August,24),
acme.Geometry: 2,
nasa.Scrubber: 2
},
3 :
{
name: "Release 2.0",
date: (2018,March,6),
acme.Geometry: 4,
nasa.Scrubber: 3,
nasa.Telemetry: 0
}
}
Release dates are metadata only and do not determine dependency versions. Dependency release numbers are explicit release metadata. The set of serialised representation dependencies grows or shrinks between component releases as the serialised representation changes.