From 294c558d577cd4acb2ee8e94e0dfd6acdb946c6c Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Fri, 7 Dec 2018 23:12:05 +0300 Subject: Add support for build configuration class inheritance --- mod/mod-builds.cxx | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'mod/mod-builds.cxx') diff --git a/mod/mod-builds.cxx b/mod/mod-builds.cxx index 6ad5a0e..6f027d2 100644 --- a/mod/mod-builds.cxx +++ b/mod/mod-builds.cxx @@ -28,7 +28,6 @@ #include #include -#include // *_url() using namespace std; using namespace butl; @@ -44,6 +43,7 @@ using namespace brep::cli; brep::builds:: builds (const builds& r) : database_module (r), + build_config_module (r), options_ (r.initialized_ ? r.options_ : nullptr) { } @@ -57,10 +57,13 @@ init (scanner& s) s, unknown_mode::fail, unknown_mode::fail); if (options_->build_config_specified ()) - database_module::init (static_cast (*options_), - static_cast (*options_), + { + database_module::init (static_cast (*options_), options_->build_db_retry ()); + build_config_module::init (static_cast (*options_)); + } + if (options_->root ().empty ()) options_->root (dir_path ("/")); } @@ -550,7 +553,7 @@ handle (request& rq, response& rs) // Match the configuration against the package build // expressions/constraints. // - if (!exclude (*p, *i->second)) + if (!exclude (p->builds, p->constraints, *i->second)) { if (skip != 0) --skip; @@ -813,7 +816,7 @@ handle (request& rq, response& rs) for (const auto& c: configs) { - if (exclude (*p, *c)) + if (exclude (p->builds, p->constraints, *c)) { nmax -= nt; @@ -942,7 +945,7 @@ handle (request& rq, response& rs) auto i (build_conf_map_->find (ct.configuration.c_str ())); assert (i != build_conf_map_->end ()); - if (!exclude (*p, *i->second)) + if (!exclude (p->builds, p->constraints, *i->second)) unbuilt_configs.insert (ct); } } -- cgit v1.1