From 98f8d3031eb4b55fcedb753fdd4473b081023db9 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Wed, 5 Jul 2017 21:44:50 +0300 Subject: Add support for build include/exclude manifest values --- libbpkg/manifest.hxx | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'libbpkg/manifest.hxx') diff --git a/libbpkg/manifest.hxx b/libbpkg/manifest.hxx index 1420cdb..ccc52a6 100644 --- a/libbpkg/manifest.hxx +++ b/libbpkg/manifest.hxx @@ -321,6 +321,33 @@ namespace bpkg : conditional (d), buildtime (b), comment (std::move (c)) {} }; + class build_constraint + { + public: + // If true, then the package should not be built for matching + // configurations by automated build bots. + // + bool exclusion; + + // Filesystem wildcard patterns for the build configuration name and + // target. + // + std::string config; + butl::optional target; + + std::string comment; + + build_constraint () = default; + build_constraint (bool e, + std::string n, + butl::optional t, + std::string c) + : exclusion (e), + config (std::move (n)), + target (std::move (t)), + comment (std::move (c)) {} + }; + class LIBBPKG_EXPORT package_manifest { public: @@ -344,6 +371,7 @@ namespace bpkg butl::optional build_email; std::vector dependencies; std::vector requirements; + std::vector build_constraints; // The following values are only valid in the manifest list. // -- cgit v1.1