summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaksim Denisov <denisov.maksim@huawei.com>2024-07-24 12:46:18 +0200
committerMaksim Denisov <denisov.maksim@huawei.com>2024-08-07 14:43:19 +0200
commitdb20ff655a5ba65c69260a5eceec8a9f7cfc9f50 (patch)
tree32bd339df841b7f6696998fc9aa48634e78f0e5b
parent0afacdb938a9787151f338656fa943679b7ec68b (diff)
downloadjustbuild-db20ff655a5ba65c69260a5eceec8a9f7cfc9f50.tar.gz
Remove unused code from BazelMasgFactory
1. Remove NodeProperties from CreateDirectory; 2. Set digest in CreateFileNode, CreateDirectoryNode.
-rw-r--r--src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp100
1 files changed, 26 insertions, 74 deletions
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 d4a096fb..15353a42 100644
--- a/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp
+++ b/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp
@@ -66,8 +66,7 @@ template <class T>
[[nodiscard]] auto CreateDirectory(
std::vector<bazel_re::FileNode> const& files,
std::vector<bazel_re::DirectoryNode> const& dirs,
- std::vector<bazel_re::SymlinkNode> const& links,
- std::vector<bazel_re::NodeProperty> const& props) noexcept
+ std::vector<bazel_re::SymlinkNode> const& links) noexcept
-> bazel_re::Directory {
bazel_re::Directory dir{};
@@ -84,79 +83,41 @@ template <class T>
copy_nodes(dir.mutable_directories(), dirs);
copy_nodes(dir.mutable_symlinks(), links);
- std::copy(
- props.cbegin(),
- props.cend(),
- pb::back_inserter(dir.mutable_node_properties()->mutable_properties()));
-
return dir;
}
-/// \brief Create protobuf message 'FileNode' without digest.
-[[nodiscard]] auto CreateFileNode(
- std::string const& file_name,
- ObjectType type,
- std::vector<bazel_re::NodeProperty> const& props) noexcept
+/// \brief Create protobuf message 'FileNode'.
+[[nodiscard]] auto CreateFileNode(std::string const& file_name,
+ ObjectType type,
+ bazel_re::Digest const& digest) noexcept
-> bazel_re::FileNode {
bazel_re::FileNode node;
node.set_name(file_name);
node.set_is_executable(IsExecutableObject(type));
- std::copy(props.cbegin(),
- props.cend(),
- pb::back_inserter(
- node.mutable_node_properties()->mutable_properties()));
+ (*node.mutable_digest()) = digest;
return node;
}
-/// \brief Create protobuf message 'DirectoryNode' without digest.
-[[nodiscard]] auto CreateDirectoryNode(std::string const& dir_name) noexcept
+/// \brief Create protobuf message 'DirectoryNode'.
+[[nodiscard]] auto CreateDirectoryNode(std::string const& dir_name,
+ bazel_re::Digest const& digest) noexcept
-> bazel_re::DirectoryNode {
bazel_re::DirectoryNode node;
node.set_name(dir_name);
+ (*node.mutable_digest()) = digest;
return node;
}
/// \brief Create protobuf message 'SymlinkNode'.
-[[nodiscard]] auto CreateSymlinkNode(
- std::string const& link_name,
- std::string const& target,
- std::vector<bazel_re::NodeProperty> const& props) noexcept
+[[nodiscard]] auto CreateSymlinkNode(std::string const& link_name,
+ std::string const& target) noexcept
-> bazel_re::SymlinkNode {
bazel_re::SymlinkNode node;
node.set_name(link_name);
node.set_target(target);
- std::copy(props.cbegin(),
- props.cend(),
- pb::back_inserter(
- node.mutable_node_properties()->mutable_properties()));
return node;
}
-/// \brief Create protobuf message FileNode from Artifact::ObjectInfo
-[[nodiscard]] auto CreateFileNodeFromObjectInfo(
- std::string const& name,
- Artifact::ObjectInfo const& object_info) noexcept -> bazel_re::FileNode {
- auto file_node = CreateFileNode(name, object_info.type, {});
-
- file_node.set_allocated_digest(gsl::owner<bazel_re::Digest*>{
- new bazel_re::Digest{object_info.digest}});
-
- return file_node;
-}
-
-/// \brief Create protobuf message DirectoryNode from Artifact::ObjectInfo
-[[nodiscard]] auto CreateDirectoryNodeFromObjectInfo(
- std::string const& name,
- Artifact::ObjectInfo const& object_info) noexcept
- -> bazel_re::DirectoryNode {
- auto dir_node = CreateDirectoryNode(name);
-
- dir_node.set_allocated_digest(gsl::owner<bazel_re::Digest*>{
- new bazel_re::Digest{object_info.digest}});
-
- return dir_node;
-}
-
/// \brief Create protobuf message SymlinkNode from Digest for multiple
/// instances at once
[[nodiscard]] auto CreateSymlinkNodesFromDigests(
@@ -171,7 +132,7 @@ template <class T>
std::vector<bazel_re::SymlinkNode> symlink_nodes;
// both loops have same length
for (; it_name != symlink_names.end(); ++it_name, ++it_target) {
- symlink_nodes.emplace_back(CreateSymlinkNode(*it_name, *it_target, {}));
+ symlink_nodes.emplace_back(CreateSymlinkNode(*it_name, *it_target));
}
return symlink_nodes;
}
@@ -190,12 +151,8 @@ template <class T>
auto digest =
ArtifactDigest::Create<ObjectType::File>(hash_function, *content);
- auto msg = CreateDirectoryNode(dir_name);
- msg.set_allocated_digest(
- gsl::owner<bazel_re::Digest*>{new bazel_re::Digest{digest}});
-
return DirectoryNodeBundle{
- .message = std::move(msg),
+ .message = CreateDirectoryNode(dir_name, digest),
.bazel_blob = BazelBlob{
std::move(digest), std::move(*content), /*is_exec=*/false}};
}
@@ -305,7 +262,7 @@ template <class T>
}
if (IsTreeObject(object_info->type)) {
dir_nodes.emplace_back(
- CreateDirectoryNodeFromObjectInfo(name, *object_info));
+ CreateDirectoryNode(name, object_info->digest));
}
else if (IsSymlinkObject(object_info->type)) {
// for symlinks we need to retrieve the data from the
@@ -314,18 +271,18 @@ template <class T>
symlink_digests.emplace_back(object_info->digest);
}
else {
- file_nodes.emplace_back(
- CreateFileNodeFromObjectInfo(name, *object_info));
+ file_nodes.emplace_back(CreateFileNode(
+ name, object_info->type, object_info->digest));
}
}
}
return CreateDirectoryNodeBundle(
root_name,
- CreateDirectory(file_nodes,
- dir_nodes,
- CreateSymlinkNodesFromDigests(
- symlink_names, symlink_digests, resolve_links),
- {}));
+ CreateDirectory(
+ file_nodes,
+ dir_nodes,
+ CreateSymlinkNodesFromDigests(
+ symlink_names, symlink_digests, resolve_links)));
} catch (...) {
return std::nullopt;
}
@@ -382,10 +339,7 @@ auto BazelMsgFactory::CreateDirectoryDigestFromLocalTree(
return false;
}
- auto dir = CreateDirectoryNode(name.string());
- dir.set_allocated_digest(
- gsl::owner<bazel_re::Digest*>{new bazel_re::Digest{*digest}});
- dirs.emplace_back(std::move(dir));
+ dirs.emplace_back(CreateDirectoryNode(name.string(), *digest));
return true;
}
@@ -395,7 +349,7 @@ auto BazelMsgFactory::CreateDirectoryDigestFromLocalTree(
auto content = FileSystemManager::ReadSymlink(full_name);
if (content and store_symlink(*content)) {
symlinks.emplace_back(
- CreateSymlinkNode(name.string(), *content, {}));
+ CreateSymlinkNode(name.string(), *content));
return true;
}
Logger::Log(LogLevel::Error,
@@ -405,9 +359,7 @@ auto BazelMsgFactory::CreateDirectoryDigestFromLocalTree(
}
// create and store file
if (auto digest = store_file(full_name, IsExecutableObject(type))) {
- auto file = CreateFileNode(name.string(), type, {});
- file.set_allocated_digest(gsl::owner<bazel_re::Digest*>{
- new bazel_re::Digest{std::move(*digest)}});
+ auto file = CreateFileNode(name.string(), type, *digest);
files.emplace_back(std::move(file));
return true;
}
@@ -422,7 +374,7 @@ auto BazelMsgFactory::CreateDirectoryDigestFromLocalTree(
if (FileSystemManager::ReadDirectory(
root, dir_reader, /*allow_upwards=*/true)) {
- auto dir = CreateDirectory(files, dirs, symlinks, {});
+ auto dir = CreateDirectory(files, dirs, symlinks);
if (auto bytes = SerializeMessage(dir)) {
try {
if (auto digest = store_dir(*bytes)) {