From 66931be8c547d99a5d5ca679d39694669d6e13b9 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Mon, 5 Nov 2018 23:23:50 +0300 Subject: Add build-warning-email and build-error-email package manifest values --- libbpkg/manifest.cxx | 26 +++++++++++++++++++++++++- libbpkg/manifest.hxx | 4 ++++ 2 files changed, 29 insertions(+), 1 deletion(-) (limited to 'libbpkg') diff --git a/libbpkg/manifest.cxx b/libbpkg/manifest.cxx index 4f53fbc..e41099e 100644 --- a/libbpkg/manifest.cxx +++ b/libbpkg/manifest.cxx @@ -1150,7 +1150,21 @@ namespace bpkg if (m.build_email) bad_name ("build email redefinition"); - m.build_email = parse_email (v, "build", true); + m.build_email = parse_email (v, "build", true /* empty */); + } + else if (n == "build-warning-email") + { + if (m.build_warning_email) + bad_name ("build warning email redefinition"); + + m.build_warning_email = parse_email (v, "build warning"); + } + else if (n == "build-error-email") + { + if (m.build_error_email) + bad_name ("build error email redefinition"); + + m.build_error_email = parse_email (v, "build error"); } else if (n == "priority") { @@ -1502,6 +1516,16 @@ namespace bpkg serializer::merge_comment (*m.build_email, m.build_email->comment)); + if (m.build_warning_email) + s.next ("build-warning-email", + serializer::merge_comment (*m.build_warning_email, + m.build_warning_email->comment)); + + if (m.build_error_email) + s.next ("build-error-email", + serializer::merge_comment (*m.build_error_email, + m.build_error_email->comment)); + for (const auto& d: m.dependencies) s.next ("depends", (d.conditional diff --git a/libbpkg/manifest.hxx b/libbpkg/manifest.hxx index bae3ffe..b9e7f92 100644 --- a/libbpkg/manifest.hxx +++ b/libbpkg/manifest.hxx @@ -262,6 +262,8 @@ namespace bpkg // email // package-email // build-email + // build-warning-email + // build-error-email // class email: public std::string { @@ -452,6 +454,8 @@ namespace bpkg butl::optional email; butl::optional package_email; butl::optional build_email; + butl::optional build_warning_email; + butl::optional build_error_email; std::vector dependencies; std::vector requirements; std::vector build_constraints; -- cgit v1.1