summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/bazel_msg/blob_tree.cpp
diff options
context:
space:
mode:
authorOliver Reiche <oliver.reiche@huawei.com>2023-02-21 16:33:05 +0100
committerOliver Reiche <oliver.reiche@huawei.com>2023-02-22 11:52:39 +0100
commit2f4a589f869a3667f60499a71eb24c6add533193 (patch)
tree17902b7cd9bbe40fb8acccfeeb20a76c6b829053 /src/buildtool/execution_api/bazel_msg/blob_tree.cpp
parent1d954d5a1f06e65b8422b32d53d69db9fed2d60b (diff)
downloadjustbuild-2f4a589f869a3667f60499a71eb24c6add533193.tar.gz
ExecutionApi: Retrieve to correct CAS directly
... by keeping track of each blob being a file or executable and storing it to the correct local physical CAS directory. The new flag is merely a hint and only used by the local execution API. Leaving it out will still correctly transfer the blob but may cause unnecessary duplicates in file CAS.
Diffstat (limited to 'src/buildtool/execution_api/bazel_msg/blob_tree.cpp')
-rw-r--r--src/buildtool/execution_api/bazel_msg/blob_tree.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/buildtool/execution_api/bazel_msg/blob_tree.cpp b/src/buildtool/execution_api/bazel_msg/blob_tree.cpp
index 3e5e2fa6..88797970 100644
--- a/src/buildtool/execution_api/bazel_msg/blob_tree.cpp
+++ b/src/buildtool/execution_api/bazel_msg/blob_tree.cpp
@@ -69,8 +69,10 @@ auto BlobTree::FromDirectoryTree(DirectoryTreePtr const& tree,
/*is_tree=*/true));
digest.set_size_bytes(
gsl::narrow<google::protobuf::int64>(git_tree->second.size()));
- return std::make_shared<BlobTree>(
- BazelBlob{digest, git_tree->second}, nodes);
+ return std::make_shared<BlobTree>(BazelBlob{digest,
+ git_tree->second,
+ /*is_exec=*/false},
+ nodes);
}
} catch (...) {
return std::nullopt;