WIP: Implement generated build manifests

Description

This MR brings generated build manifests to buildstream, allowing users to generate a yaml file containing a collection of elements, sources and build meta data from a build.

This allows users of BuildStream to summarise the contents of their build with the generated manifest file or generate their own manifest by parsing and formatting the yaml file however they choose.

An example of a build manifest within the freedesktopsdk project can be found at https://gitlab.com/freedesktop-sdk/freedesktop-sdk/wikis/Release-Contents

The format is as follows:

BuildStream_Version: 1.4.0
Build_Date: '2018-08-01T12:15:56.202631'
Elements:
  element1:
    Cache_Key: <cache key here>
  element2:
    Cache_Key: <cache key here>
    Sources: 
      <index>(<SourceType>):
        url: <source url if present>
        ref: <source ref if present>
...

Producing a manifest

To produce a manifest on a build: bst build <element> --manifest-path <path>

bst build <element> --build-manifest will also work, and will just default to build_manifest.yaml in your project directory.

Changes proposed in this merge request:

  • Add command line arguments to bst build
  • Generate a build manifest after a build when argument present

This merge request, when approved, will close issue/bug: #235 (closed)


Edited by Qinusty

Merge request reports

Loading