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/build-config.hxx | 99 ---------------------------------------------------- 1 file changed, 99 deletions(-) delete mode 100644 mod/build-config.hxx (limited to 'mod/build-config.hxx') diff --git a/mod/build-config.hxx b/mod/build-config.hxx deleted file mode 100644 index 6eece1d..0000000 --- a/mod/build-config.hxx +++ /dev/null @@ -1,99 +0,0 @@ -// file : mod/build-config.hxx -*- C++ -*- -// copyright : Copyright (c) 2014-2018 Code Synthesis Ltd -// license : MIT; see accompanying LICENSE file - -#ifndef MOD_BUILD_CONFIG_HXX -#define MOD_BUILD_CONFIG_HXX - -#include -#include // find() - -#include - -#include -#include - -#include -#include - -#include - -// Various build-related state and utilities. -// -namespace brep -{ - using bbot::build_config; - - // Return pointer to the shared build configurations instance, creating one - // on the first call. Throw tab_parsing on parsing error, io_error on the - // underlying OS error. Is not thread-safe. - // - shared_ptr - shared_build_config (const path&); - - // Map of build bot agent public keys fingerprints to the key file paths. - // - using bot_agent_keys = std::map; - - // Return pointer to the shared build bot agent public keys map, creating - // one on the first call. Throw system_error on the underlying openssl or OS - // error. Not thread-safe. - // - shared_ptr - shared_bot_agent_keys (const options::openssl_options&, const dir_path&); - - // Return the package configuration build log url. By default the url is to - // the operations combined log. - // - string - build_log_url (const string& host, const dir_path& root, - const build&, - const string* operation = nullptr); - - // Return the package configuration forced rebuild url. - // - string - force_rebuild_url (const string& host, const dir_path& root, const build&); - - // Check if the configuration belongs to the specified class. - // - inline bool - belongs (const build_config& cfg, const char* cls) - { - const strings& cs (cfg.classes); - return find (cs.begin (), cs.end (), cls) != cs.end (); - } - - // Return true if the specified build configuration is excluded by a package - // based on its underlying build class set, build class expressions, and - // build constraints, potentially extending the underlying set with the - // special classes. Set the exclusion reason if requested. - // - bool - exclude (const build_class_exprs&, - const build_constraints&, - const build_config&, - string* reason = nullptr); - - inline bool - exclude (const build_package& p, const build_config& c, string* r = nullptr) - { - return exclude (p.builds, p.constraints, c, r); - } - - // Convert dash-separated components (target, build configuration name, - // machine name) or a pattern thereof into a path, replacing dashes with - // slashes (directory separators), `**` with `*/**/*`, and appending the - // trailing slash for a subsequent match using the path_match() - // functionality (the idea here is for `linux**` to match `linux-gcc` which - // is quite natural to expect). Throw invalid_path if the resulting path is - // invalid. - // - // Note that the match_absent path match flag must be used for the above - // `**` transformation to work. - // - path - dash_components_to_path (const string&); -} - -#endif // MOD_BUILD_CONFIG_HXX -- cgit v1.1