From 0ffb0a1a0a13d07c4448f7752232d8854b790623 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Sun, 30 Apr 2017 23:21:12 +0300 Subject: Add hxx extension for headers and lib prefix for library dirs --- bbot/bootstrap-manifest.hxx | 50 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 bbot/bootstrap-manifest.hxx (limited to 'bbot/bootstrap-manifest.hxx') diff --git a/bbot/bootstrap-manifest.hxx b/bbot/bootstrap-manifest.hxx new file mode 100644 index 0000000..9d583ad --- /dev/null +++ b/bbot/bootstrap-manifest.hxx @@ -0,0 +1,50 @@ +// file : bbot/bootstrap-manifest.hxx -*- C++ -*- +// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd +// license : TBC; see accompanying LICENSE file + +#ifndef BBOT_BOOTSTRAP_MANIFEST_HXX +#define BBOT_BOOTSTRAP_MANIFEST_HXX + +#include + +#include + +#include +#include + +namespace bbot +{ + // Bootstrap result manifest. Uploaded by the worker to the agent's TFTP + // server. + // + class bootstrap_manifest + { + public: + + // Map of packages to their (numeric) versions that were used inside the + // bootstrapped machine. Used to make sure bbot agent/worker use the same + // versions. For example: + // + // libbbot-version: 1010100 # 1.1.1 + // bbot-version: 1010200 # 1.1.2 + // + using versions_type = std::map; + versions_type versions; + + explicit + bootstrap_manifest (versions_type v) + : versions (move (v)) {} + + public: + bootstrap_manifest () = default; // VC export. + bootstrap_manifest (butl::manifest_parser&, bool ignore_unknown = false); + bootstrap_manifest (butl::manifest_parser&, + butl::manifest_name_value start, + bool ignore_unknown = false); + + void + serialize (butl::manifest_serializer&) const; + }; +} + +#endif // BBOT_BOOTSTRAP_MANIFEST_HXX -- cgit v1.1