aboutsummaryrefslogtreecommitdiff
path: root/libbbot/manifest.hxx
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2021-09-06 19:05:38 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2021-09-24 12:43:21 +0300
commit066c25383db8d24cc0aed21d9bd4a071c1afdbbd (patch)
tree272f97e67f039cb2e26004b47f104e4df0d172fa /libbbot/manifest.hxx
parent52305ec0f8bd3fbff63a538fbef12ab9fee4340f (diff)
Add support for requires, tests, examples, benchmarks, and host task manifest values and drop test-exclude value
Diffstat (limited to 'libbbot/manifest.hxx')
-rw-r--r--libbbot/manifest.hxx19
1 files changed, 14 insertions, 5 deletions
diff --git a/libbbot/manifest.hxx b/libbbot/manifest.hxx
index c3bb6ce..b6c4263 100644
--- a/libbbot/manifest.hxx
+++ b/libbbot/manifest.hxx
@@ -164,10 +164,11 @@ namespace bbot
//
strings trust;
- // Separate tests, examples, and benchmarks packages that should be
- // excluded from building together with the primary package.
+ // The subset of the build task-relevant package manifest values (see
+ // bpkg::package_manifest for their semantics).
//
- butl::small_vector<package, 1> test_exclusions;
+ std::vector<bpkg::requirement_alternatives> requirements;
+ butl::small_vector<bpkg::test_dependency, 1> tests;
std::string machine; // Build machine to use for building the package.
@@ -181,6 +182,10 @@ namespace bbot
//
strings config;
+ // If true, then this configuration is self-hosted.
+ //
+ butl::optional<bool> host;
+
// Regular expressions for detecting warnings in the operation result logs
// (in addition to the default list of expressions).
// Note: could be quoted.
@@ -199,22 +204,26 @@ namespace bbot
bpkg::version vr,
bpkg::repository_location rl,
strings tr,
- butl::small_vector<package, 1> te,
+ std::vector<bpkg::requirement_alternatives> ra,
+ butl::small_vector<bpkg::test_dependency, 1> ts,
std::string mn,
butl::target_triplet tg,
butl::optional<std::string> en,
strings cf,
+ butl::optional<bool> ht,
strings wr,
butl::optional<std::string> ir)
: name (std::move (nm)),
version (std::move (vr)),
repository (std::move (rl)),
trust (std::move (tr)),
- test_exclusions (std::move (te)),
+ requirements (std::move (ra)),
+ tests (std::move (ts)),
machine (std::move (mn)),
target (std::move (tg)),
environment (std::move (en)),
config (std::move (cf)),
+ host (std::move (ht)),
warning_regex (std::move (wr)),
interactive (std::move (ir)) {}