diff options
Diffstat (limited to 'bpkg')
-rw-r--r-- | bpkg/manifest | 2 | ||||
-rw-r--r-- | bpkg/manifest.cxx | 13 |
2 files changed, 15 insertions, 0 deletions
diff --git a/bpkg/manifest b/bpkg/manifest index 8ad9512..f638592 100644 --- a/bpkg/manifest +++ b/bpkg/manifest @@ -233,6 +233,7 @@ namespace bpkg // email // package-email + // build-email // class email: public std::string { @@ -339,6 +340,7 @@ namespace bpkg butl::optional<url_type> package_url; email_type email; butl::optional<email_type> package_email; + butl::optional<email_type> build_email; std::vector<dependency_alternatives> dependencies; std::vector<requirement_alternatives> requirements; diff --git a/bpkg/manifest.cxx b/bpkg/manifest.cxx index 107c2fe..2236d3a 100644 --- a/bpkg/manifest.cxx +++ b/bpkg/manifest.cxx @@ -848,6 +848,15 @@ namespace bpkg package_email = email_type (move (v), move (c)); } + else if (n == "build-email") + { + if (build_email) + bad_name ("build email redefinition"); + + string c (split_comment (v)); + + build_email = email_type (move (v), move (c)); + } else if (n == "priority") { if (priority) @@ -1242,6 +1251,10 @@ namespace bpkg s.next ("package-email", add_comment (*package_email, package_email->comment)); + if (build_email) + s.next ("build-email", + add_comment (*build_email, build_email->comment)); + for (const auto& d: dependencies) s.next ("depends", (d.conditional |