diff options
author | Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | 2023-11-24 11:31:42 +0100 |
---|---|---|
committer | Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | 2023-11-27 15:03:20 +0100 |
commit | cf04253130030bc28866d10aa1f8fe1353643d42 (patch) | |
tree | ef7049624771866455105a8dab7b001840139701 /src/buildtool/build_engine/base_maps/source_map.cpp | |
parent | bc09302c2772c979c45ecc716c36e4a70bb484ac (diff) | |
download | justbuild-cf04253130030bc28866d10aa1f8fe1353643d42.tar.gz |
Refactoring RepositoryConfig
With the introduction of 'just serve', export targets can now be
built also independently from one another based on their
corresponding minimal repository configuration, as stored in the
target cache key.
In this context, this commit changes the RepositoryConfig usage
from one global (static) instance to pointers passed as necessary
throughout the code.
Diffstat (limited to 'src/buildtool/build_engine/base_maps/source_map.cpp')
-rw-r--r-- | src/buildtool/build_engine/base_maps/source_map.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/buildtool/build_engine/base_maps/source_map.cpp b/src/buildtool/build_engine/base_maps/source_map.cpp index 1b39ec3e..0453657a 100644 --- a/src/buildtool/build_engine/base_maps/source_map.cpp +++ b/src/buildtool/build_engine/base_maps/source_map.cpp @@ -45,12 +45,13 @@ auto as_target(const BuildMaps::Base::EntityName& key, ExpressionPtr artifact) } // namespace auto CreateSourceTargetMap(const gsl::not_null<DirectoryEntriesMap*>& dirs, + gsl::not_null<RepositoryConfig*> const& repo_config, std::size_t jobs) -> SourceTargetMap { - auto src_target_reader = [dirs](auto ts, - auto setter, - auto logger, - auto /* unused */, - auto const& key) { + auto src_target_reader = [dirs, repo_config](auto ts, + auto setter, + auto logger, + auto /* unused */, + auto const& key) { using std::filesystem::path; const auto& target = key.GetNamedTarget(); auto name = path(target.name).lexically_normal(); @@ -62,8 +63,7 @@ auto CreateSourceTargetMap(const gsl::not_null<DirectoryEntriesMap*>& dirs, return; } auto dir = (path(target.module) / name).parent_path(); - auto const* ws_root = - RepositoryConfig::Instance().WorkspaceRoot(target.repository); + auto const* ws_root = repo_config->WorkspaceRoot(target.repository); auto src_file_reader = [key, name, setter, logger, dir, ws_root]( bool exists_in_ws_root) { |