summaryrefslogtreecommitdiff
path: root/src/buildtool/build_engine/base_maps
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/build_engine/base_maps')
-rw-r--r--src/buildtool/build_engine/base_maps/expression_map.hpp11
-rw-r--r--src/buildtool/build_engine/base_maps/rule_map.hpp11
-rw-r--r--src/buildtool/build_engine/base_maps/targets_file_map.hpp12
3 files changed, 21 insertions, 13 deletions
diff --git a/src/buildtool/build_engine/base_maps/expression_map.hpp b/src/buildtool/build_engine/base_maps/expression_map.hpp
index ceb2cf2f..3acec531 100644
--- a/src/buildtool/build_engine/base_maps/expression_map.hpp
+++ b/src/buildtool/build_engine/base_maps/expression_map.hpp
@@ -33,10 +33,13 @@ namespace BuildMaps::Base {
using ExpressionFileMap = AsyncMapConsumer<ModuleName, nlohmann::json>;
-constexpr auto CreateExpressionFileMap =
- CreateJsonFileMap<&RepositoryConfig::ExpressionRoot,
- &RepositoryConfig::ExpressionFileName,
- /*kMandatory=*/true>;
+[[nodiscard]] static inline auto CreateExpressionFileMap(
+ gsl::not_null<const RepositoryConfig*> const& repo_config,
+ std::size_t jobs) -> JsonFileMap {
+ return CreateJsonFileMap<&RepositoryConfig::ExpressionRoot,
+ &RepositoryConfig::ExpressionFileName,
+ /*kMandatory=*/true>(repo_config, jobs);
+}
using ExpressionFunctionMap =
AsyncMapConsumer<EntityName, ExpressionFunctionPtr>;
diff --git a/src/buildtool/build_engine/base_maps/rule_map.hpp b/src/buildtool/build_engine/base_maps/rule_map.hpp
index 867f4c38..d911317c 100644
--- a/src/buildtool/build_engine/base_maps/rule_map.hpp
+++ b/src/buildtool/build_engine/base_maps/rule_map.hpp
@@ -33,10 +33,13 @@ namespace BuildMaps::Base {
using RuleFileMap = AsyncMapConsumer<ModuleName, nlohmann::json>;
-constexpr auto CreateRuleFileMap =
- CreateJsonFileMap<&RepositoryConfig::RuleRoot,
- &RepositoryConfig::RuleFileName,
- /*kMandatory=*/true>;
+[[nodiscard]] static inline auto CreateRuleFileMap(
+ gsl::not_null<const RepositoryConfig*> const& repo_config,
+ std::size_t jobs) -> JsonFileMap {
+ return CreateJsonFileMap<&RepositoryConfig::RuleRoot,
+ &RepositoryConfig::RuleFileName,
+ /*kMandatory=*/true>(repo_config, jobs);
+}
using UserRuleMap = AsyncMapConsumer<EntityName, UserRulePtr>;
diff --git a/src/buildtool/build_engine/base_maps/targets_file_map.hpp b/src/buildtool/build_engine/base_maps/targets_file_map.hpp
index f14ea7f1..8ff5d76c 100644
--- a/src/buildtool/build_engine/base_maps/targets_file_map.hpp
+++ b/src/buildtool/build_engine/base_maps/targets_file_map.hpp
@@ -27,11 +27,13 @@ namespace BuildMaps::Base {
using TargetsFileMap = AsyncMapConsumer<ModuleName, nlohmann::json>;
-constexpr auto CreateTargetsFileMap =
- CreateJsonFileMap<&RepositoryConfig::TargetRoot,
- &RepositoryConfig::TargetFileName,
- /*kMandatory=*/true>;
-
+[[nodiscard]] static inline auto CreateTargetsFileMap(
+ gsl::not_null<const RepositoryConfig*> const& repo_config,
+ std::size_t jobs) -> JsonFileMap {
+ return CreateJsonFileMap<&RepositoryConfig::TargetRoot,
+ &RepositoryConfig::TargetFileName,
+ /*kMandatory=*/true>(repo_config, jobs);
+}
} // namespace BuildMaps::Base
#endif // INCLUDED_SRC_BUILDTOOL_BUILD_ENGINE_BASE_MAPS_TARGETS_FILE_MAP_HPP