summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/buildtool/build_engine/target_map/built_in_rules.cpp3
-rw-r--r--src/buildtool/build_engine/target_map/target_map.cpp3
-rw-r--r--src/buildtool/common/artifact_digest.hpp2
-rw-r--r--src/buildtool/execution_api/bazel_msg/bazel_blob.hpp3
-rw-r--r--src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp6
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_network.cpp6
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_response.cpp2
-rw-r--r--src/buildtool/execution_engine/executor/executor.hpp2
-rw-r--r--src/buildtool/graph_traverser/graph_traverser.hpp2
9 files changed, 16 insertions, 13 deletions
diff --git a/src/buildtool/build_engine/target_map/built_in_rules.cpp b/src/buildtool/build_engine/target_map/built_in_rules.cpp
index bac1f5cd..a34dfb03 100644
--- a/src/buildtool/build_engine/target_map/built_in_rules.cpp
+++ b/src/buildtool/build_engine/target_map/built_in_rules.cpp
@@ -183,7 +183,8 @@ void FileGenRuleWithDeps(
auto stage = ExpressionPtr{Expression::map_t{
file_name_val->String(),
ExpressionPtr{ArtifactDescription{
- ArtifactDigest::Create(data_val->String()), ObjectType::File}}}};
+ ArtifactDigest::Create<ObjectType::File>(data_val->String()),
+ ObjectType::File}}}};
auto vars_set = std::unordered_set<std::string>{};
vars_set.insert(param_vars->begin(), param_vars->end());
diff --git a/src/buildtool/build_engine/target_map/target_map.cpp b/src/buildtool/build_engine/target_map/target_map.cpp
index ac06250b..760e8306 100644
--- a/src/buildtool/build_engine/target_map/target_map.cpp
+++ b/src/buildtool/build_engine/target_map/target_map.cpp
@@ -582,7 +582,8 @@ void withDependencies(
}
blobs.emplace_back(data->String());
return ExpressionPtr{ArtifactDescription{
- ArtifactDigest::Create(data->String()), ObjectType::File}};
+ ArtifactDigest::Create<ObjectType::File>(data->String()),
+ ObjectType::File}};
}},
{"TREE",
[&trees](auto&& eval, auto const& expr, auto const& env) {
diff --git a/src/buildtool/common/artifact_digest.hpp b/src/buildtool/common/artifact_digest.hpp
index c9250cf9..11fab86d 100644
--- a/src/buildtool/common/artifact_digest.hpp
+++ b/src/buildtool/common/artifact_digest.hpp
@@ -70,7 +70,7 @@ class ArtifactDigest {
return std::equal_to<bazel_re::Digest>{}(*this, other);
}
- template <ObjectType kType = ObjectType::File>
+ template <ObjectType kType>
[[nodiscard]] static auto Create(std::string const& content) noexcept
-> ArtifactDigest {
if constexpr (kType == ObjectType::Tree) {
diff --git a/src/buildtool/execution_api/bazel_msg/bazel_blob.hpp b/src/buildtool/execution_api/bazel_msg/bazel_blob.hpp
index 524e2fc8..5e92a393 100644
--- a/src/buildtool/execution_api/bazel_msg/bazel_blob.hpp
+++ b/src/buildtool/execution_api/bazel_msg/bazel_blob.hpp
@@ -39,7 +39,8 @@ struct BazelBlob {
if (not content.has_value()) {
return std::nullopt;
}
- return BazelBlob{ArtifactDigest::Create(*content), *content};
+ return BazelBlob{ArtifactDigest::Create<ObjectType::File>(*content),
+ *content};
}
#endif // INCLUDED_SRC_BUILDTOOL_EXECUTION_API_BAZEL_MSG_BAZEL_BLOB_HPP
diff --git a/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp b/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp
index da1d6554..a9022e55 100644
--- a/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp
+++ b/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp
@@ -274,7 +274,7 @@ template <class T>
auto msg = CreateDirectoryNode(dir_name);
auto content_creator = [&dir] { return SerializeMessage(dir); };
auto digest_creator = [](std::string const& content) -> bazel_re::Digest {
- return ArtifactDigest::Create(content);
+ return ArtifactDigest::Create<ObjectType::File>(content);
};
return DirectoryNodeBundle::Create(msg, content_creator, digest_creator);
}
@@ -305,7 +305,7 @@ template <class T>
auto content_creator = [&msg] { return SerializeMessage(msg); };
auto digest_creator = [](std::string const& content) -> bazel_re::Digest {
- return ArtifactDigest::Create(content);
+ return ArtifactDigest::Create<ObjectType::File>(content);
};
return CommandBundle::Create(msg, content_creator, digest_creator);
@@ -341,7 +341,7 @@ template <class T>
auto content_creator = [&msg] { return SerializeMessage(msg); };
auto digest_creator = [](std::string const& content) -> bazel_re::Digest {
- return ArtifactDigest::Create(content);
+ return ArtifactDigest::Create<ObjectType::File>(content);
};
return ActionBundle::Create(msg, content_creator, digest_creator);
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_network.cpp b/src/buildtool/execution_api/remote/bazel/bazel_network.cpp
index 0252328b..5bf254e1 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_network.cpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_network.cpp
@@ -269,9 +269,9 @@ auto BazelNetwork::RecursivelyReadTreeLeafs(
dir_map->reserve(dirs.size());
for (auto& dir : dirs) {
try {
- dir_map->emplace(
- ArtifactDigest::Create(dir.SerializeAsString()),
- std::move(dir));
+ dir_map->emplace(ArtifactDigest::Create<ObjectType::File>(
+ dir.SerializeAsString()),
+ std::move(dir));
} catch (...) {
return std::nullopt;
}
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_response.cpp b/src/buildtool/execution_api/remote/bazel/bazel_response.cpp
index 97fae4f9..615c0177 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_response.cpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_response.cpp
@@ -24,7 +24,7 @@ namespace {
auto ProcessDirectoryMessage(bazel_re::Directory const& dir) noexcept
-> std::optional<BazelBlob> {
auto data = dir.SerializeAsString();
- auto digest = ArtifactDigest::Create(data);
+ auto digest = ArtifactDigest::Create<ObjectType::File>(data);
return BazelBlob{std::move(digest), std::move(data)};
}
diff --git a/src/buildtool/execution_engine/executor/executor.hpp b/src/buildtool/execution_engine/executor/executor.hpp
index fc169200..ec280b01 100644
--- a/src/buildtool/execution_engine/executor/executor.hpp
+++ b/src/buildtool/execution_engine/executor/executor.hpp
@@ -382,7 +382,7 @@ class ExecutorImpl {
if (not content.has_value()) {
return std::nullopt;
}
- auto digest = ArtifactDigest::Create(*content);
+ auto digest = ArtifactDigest::Create<ObjectType::File>(*content);
if (not api->Upload(
BlobContainer{{BazelBlob{digest, std::move(*content)}}})) {
return std::nullopt;
diff --git a/src/buildtool/graph_traverser/graph_traverser.hpp b/src/buildtool/graph_traverser/graph_traverser.hpp
index 916932fd..063c1b85 100644
--- a/src/buildtool/graph_traverser/graph_traverser.hpp
+++ b/src/buildtool/graph_traverser/graph_traverser.hpp
@@ -284,7 +284,7 @@ class GraphTraverser {
std::vector<std::string> const& blobs) const noexcept -> bool {
BlobContainer container;
for (auto const& blob : blobs) {
- auto digest = ArtifactDigest::Create(blob);
+ auto digest = ArtifactDigest::Create<ObjectType::File>(blob);
Logger::Log(LogLevel::Trace, [&]() {
return fmt::format(
"Uploaded blob {}, its digest has id {} and size {}.",