diff options
author | Klaus Aehlig <klaus.aehlig@huawei.com> | 2024-12-05 14:55:01 +0100 |
---|---|---|
committer | Klaus Aehlig <klaus.aehlig@huawei.com> | 2024-12-05 16:42:20 +0100 |
commit | a266d84863663ead200e9bf9e53ad4287f5a3bbe (patch) | |
tree | 60474d7c444eb21fe4724f3937184f917da33bfc /src | |
parent | 17be89e34ce5b1160af90430be8e0b32acbf6efc (diff) | |
download | justbuild-a266d84863663ead200e9bf9e53ad4287f5a3bbe.tar.gz |
Also for installation to stdout prefer local CAS
... to avoid unnecessary network fetches.
Diffstat (limited to 'src')
-rw-r--r-- | src/buildtool/graph_traverser/graph_traverser.hpp | 11 | ||||
-rw-r--r-- | src/buildtool/main/install_cas.cpp | 6 |
2 files changed, 11 insertions, 6 deletions
diff --git a/src/buildtool/graph_traverser/graph_traverser.hpp b/src/buildtool/graph_traverser/graph_traverser.hpp index ddd25277..51069c0b 100644 --- a/src/buildtool/graph_traverser/graph_traverser.hpp +++ b/src/buildtool/graph_traverser/graph_traverser.hpp @@ -681,7 +681,8 @@ class GraphTraverser { if (info) { if (not remote.RetrieveToFds({*info}, {dup(fileno(stdout))}, - /*raw_tree=*/false)) { + /*raw_tree=*/false, + &*context_.apis->local)) { Logger::Log(logger_, LogLevel::Error, "Failed to retrieve {}", @@ -720,9 +721,11 @@ class GraphTraverser { auto new_info = RetrieveSubPathId(*info, *context_.apis, relpath); if (new_info) { - if (not remote.RetrieveToFds({*new_info}, - {dup(fileno(stdout))}, - /*raw_tree=*/false)) { + if (not remote.RetrieveToFds( + {*new_info}, + {dup(fileno(stdout))}, + /*raw_tree=*/false, + &*context_.apis->local)) { Logger::Log(logger_, LogLevel::Error, "Failed to retrieve artifact {} at " diff --git a/src/buildtool/main/install_cas.cpp b/src/buildtool/main/install_cas.cpp index ca851d25..8f7f9d65 100644 --- a/src/buildtool/main/install_cas.cpp +++ b/src/buildtool/main/install_cas.cpp @@ -173,8 +173,10 @@ auto FetchAndInstallArtifacts(ApiBundle const& apis, out->string()); } else { // dump to stdout - if (not apis.remote->RetrieveToFds( - {*object_info}, {dup(fileno(stdout))}, clargs.raw_tree)) { + if (not apis.remote->RetrieveToFds({*object_info}, + {dup(fileno(stdout))}, + clargs.raw_tree, + &*apis.local)) { Logger::Log(LogLevel::Error, "failed to dump artifact."); return false; } |