summaryrefslogtreecommitdiff
path: root/src/buildtool/main/build_utils.cpp
diff options
context:
space:
mode:
authorMaksim Denisov <denisov.maksim@huawei.com>2024-06-20 11:42:05 +0200
committerMaksim Denisov <denisov.maksim@huawei.com>2024-06-25 13:59:48 +0200
commit4392b0de9b77d750f4c531c167ab008237cfde1a (patch)
tree3c5fea5d7661d1085e2d51a37a6cafae611ccbba /src/buildtool/main/build_utils.cpp
parenta39592af10ad2a43b5d444d1bee018b72f696f6b (diff)
downloadjustbuild-4392b0de9b77d750f4c531c167ab008237cfde1a.tar.gz
Pass ApiBundle to add-to-cas and install-cas
Diffstat (limited to 'src/buildtool/main/build_utils.cpp')
-rw-r--r--src/buildtool/main/build_utils.cpp30
1 files changed, 9 insertions, 21 deletions
diff --git a/src/buildtool/main/build_utils.cpp b/src/buildtool/main/build_utils.cpp
index fb60ea15..2f7549b7 100644
--- a/src/buildtool/main/build_utils.cpp
+++ b/src/buildtool/main/build_utils.cpp
@@ -68,12 +68,11 @@ auto CreateTargetCacheWriterMap(
std::unordered_map<ArtifactDescription, Artifact::ObjectInfo> const&
extra_infos,
std::size_t jobs,
- gsl::not_null<IExecutionApi*> const& local_api,
- gsl::not_null<IExecutionApi*> const& remote_api,
+ gsl::not_null<ApiBundle const*> const& apis,
TargetCacheWriteStrategy strategy,
TargetCache<true> const& tc) -> TargetCacheWriterMap {
auto write_tc_entry =
- [cache_targets, extra_infos, jobs, local_api, remote_api, strategy, tc](
+ [cache_targets, extra_infos, jobs, apis, strategy, tc](
auto /*ts*/,
auto setter,
auto logger,
@@ -107,23 +106,13 @@ auto CreateTargetCacheWriterMap(
if (auto implied_targets = entry->ToImpliedIds(key.digest.hash())) {
(*subcaller)(
*implied_targets,
- [tc_key,
- entry,
- jobs,
- local_api,
- remote_api,
- strategy,
- tc,
- setter,
- logger]([[maybe_unused]] auto const& values) {
+ [tc_key, entry, jobs, apis, strategy, tc, setter, logger](
+ [[maybe_unused]] auto const& values) {
// create parallel artifacts downloader
- auto downloader = [&local_api,
- &remote_api,
- &jobs,
- strategy](auto infos) {
- return remote_api->ParallelRetrieveToCas(
+ auto downloader = [apis, &jobs, strategy](auto infos) {
+ return apis->remote->ParallelRetrieveToCas(
infos,
- local_api,
+ &*apis->local,
jobs,
strategy == TargetCacheWriteStrategy::Split);
};
@@ -155,8 +144,7 @@ void WriteTargetCacheEntries(
std::unordered_map<ArtifactDescription, Artifact::ObjectInfo> const&
extra_infos,
std::size_t jobs,
- gsl::not_null<IExecutionApi*> const& local_api,
- gsl::not_null<IExecutionApi*> const& remote_api,
+ ApiBundle const& apis,
TargetCacheWriteStrategy strategy,
TargetCache<true> const& tc,
Logger const* logger,
@@ -172,7 +160,7 @@ void WriteTargetCacheEntries(
}
// set up writer map
auto tc_writer_map = CreateTargetCacheWriterMap(
- cache_targets, extra_infos, jobs, local_api, remote_api, strategy, tc);
+ cache_targets, extra_infos, jobs, &apis, strategy, tc);
std::vector<Artifact::ObjectInfo> cache_targets_ids;
cache_targets_ids.reserve(cache_targets.size());
for (auto const& [k, _] : cache_targets) {