summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaksim Denisov <denisov.maksim@huawei.com>2024-08-29 14:47:12 +0200
committerMaksim Denisov <denisov.maksim@huawei.com>2024-08-30 17:17:09 +0200
commit74ae139a6df49de37868f723299a600dfd5e90d8 (patch)
tree9a718332d26f3c5280e8c86ebceb4a1b89613e35 /src
parent5ecbcbbcf71ca9fafaddf9a2353fe31a75fb33e4 (diff)
downloadjustbuild-74ae139a6df49de37868f723299a600dfd5e90d8.tar.gz
Replace bazel_re::Digest in BazelMsgFactory (local trees)
...with ArtifactDigest.
Diffstat (limited to 'src')
-rw-r--r--src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp21
-rw-r--r--src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp10
-rw-r--r--src/buildtool/execution_api/local/local_action.cpp6
-rw-r--r--src/buildtool/main/add_to_cas.cpp6
4 files changed, 20 insertions, 23 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 15353a42..27e07c12 100644
--- a/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp
+++ b/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp
@@ -89,22 +89,22 @@ template <class T>
/// \brief Create protobuf message 'FileNode'.
[[nodiscard]] auto CreateFileNode(std::string const& file_name,
ObjectType type,
- bazel_re::Digest const& digest) noexcept
+ ArtifactDigest const& digest) noexcept
-> bazel_re::FileNode {
bazel_re::FileNode node;
node.set_name(file_name);
node.set_is_executable(IsExecutableObject(type));
- (*node.mutable_digest()) = digest;
+ (*node.mutable_digest()) = static_cast<bazel_re::Digest>(digest);
return node;
}
/// \brief Create protobuf message 'DirectoryNode'.
[[nodiscard]] auto CreateDirectoryNode(std::string const& dir_name,
- bazel_re::Digest const& digest) noexcept
+ ArtifactDigest const& digest) noexcept
-> bazel_re::DirectoryNode {
bazel_re::DirectoryNode node;
node.set_name(dir_name);
- (*node.mutable_digest()) = digest;
+ (*node.mutable_digest()) = static_cast<bazel_re::Digest>(digest);
return node;
}
@@ -315,7 +315,7 @@ auto BazelMsgFactory::CreateDirectoryDigestFromLocalTree(
FileStoreFunc const& store_file,
TreeStoreFunc const& store_dir,
SymlinkStoreFunc const& store_symlink) noexcept
- -> std::optional<bazel_re::Digest> {
+ -> std::optional<ArtifactDigest> {
std::vector<bazel_re::FileNode> files{};
std::vector<bazel_re::DirectoryNode> dirs{};
std::vector<bazel_re::SymlinkNode> symlinks{};
@@ -396,7 +396,7 @@ auto BazelMsgFactory::CreateGitTreeDigestFromLocalTree(
FileStoreFunc const& store_file,
TreeStoreFunc const& store_tree,
SymlinkStoreFunc const& store_symlink) noexcept
- -> std::optional<bazel_re::Digest> {
+ -> std::optional<ArtifactDigest> {
GitRepo::tree_entries_t entries{};
auto dir_reader = [&entries,
&root,
@@ -408,8 +408,7 @@ auto BazelMsgFactory::CreateGitTreeDigestFromLocalTree(
// create and store sub directory
if (auto digest = CreateGitTreeDigestFromLocalTree(
full_name, store_file, store_tree, store_symlink)) {
- if (auto raw_id = FromHexString(
- NativeSupport::Unprefix(digest->hash()))) {
+ if (auto raw_id = FromHexString(digest->hash())) {
entries[std::move(*raw_id)].emplace_back(name.string(),
ObjectType::Tree);
return true;
@@ -425,8 +424,7 @@ auto BazelMsgFactory::CreateGitTreeDigestFromLocalTree(
auto content = FileSystemManager::ReadSymlink(full_name);
if (content) {
if (auto digest = store_symlink(*content)) {
- if (auto raw_id = FromHexString(
- NativeSupport::Unprefix(digest->hash()))) {
+ if (auto raw_id = FromHexString(digest->hash())) {
entries[std::move(*raw_id)].emplace_back(
name.string(), type);
return true;
@@ -445,8 +443,7 @@ auto BazelMsgFactory::CreateGitTreeDigestFromLocalTree(
}
// create and store file
if (auto digest = store_file(full_name, IsExecutableObject(type))) {
- if (auto raw_id = FromHexString(
- NativeSupport::Unprefix(digest->hash()))) {
+ if (auto raw_id = FromHexString(digest->hash())) {
entries[std::move(*raw_id)].emplace_back(name.string(),
type);
return true;
diff --git a/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp b/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp
index 0b006273..0e209153 100644
--- a/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp
+++ b/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp
@@ -46,11 +46,11 @@ class BazelMsgFactory {
std::function<void(std::vector<bazel_re::Digest> const&,
std::vector<std::string>*)>;
using FileStoreFunc = std::function<
- std::optional<bazel_re::Digest>(std::filesystem::path const&, bool)>;
+ std::optional<ArtifactDigest>(std::filesystem::path const&, bool)>;
using SymlinkStoreFunc =
- std::function<std::optional<bazel_re::Digest>(std::string const&)>;
+ std::function<std::optional<ArtifactDigest>(std::string const&)>;
using TreeStoreFunc =
- std::function<std::optional<bazel_re::Digest>(std::string const&)>;
+ std::function<std::optional<ArtifactDigest>(std::string const&)>;
/// \brief Create Directory digest from artifact tree structure. Uses
/// compatible HashFunction for hashing. Recursively traverse entire tree
@@ -77,7 +77,7 @@ class BazelMsgFactory {
FileStoreFunc const& store_file,
TreeStoreFunc const& store_dir,
SymlinkStoreFunc const& store_symlink) noexcept
- -> std::optional<bazel_re::Digest>;
+ -> std::optional<ArtifactDigest>;
/// \brief Create Git tree digest from local file root.
/// Recursively traverse entire root and store files and directories.
@@ -91,7 +91,7 @@ class BazelMsgFactory {
FileStoreFunc const& store_file,
TreeStoreFunc const& store_tree,
SymlinkStoreFunc const& store_symlink) noexcept
- -> std::optional<bazel_re::Digest>;
+ -> std::optional<ArtifactDigest>;
struct ActionDigestRequest;
/// \brief Creates Action digest from command line.
diff --git a/src/buildtool/execution_api/local/local_action.cpp b/src/buildtool/execution_api/local/local_action.cpp
index ad106c6f..fd742f76 100644
--- a/src/buildtool/execution_api/local/local_action.cpp
+++ b/src/buildtool/execution_api/local/local_action.cpp
@@ -61,15 +61,15 @@ class BuildCleanupAnchor {
std::filesystem::path const& dir_path) -> std::optional<bazel_re::Digest> {
auto const& cas = storage.CAS();
auto store_blob = [&cas](std::filesystem::path const& path,
- auto is_exec) -> std::optional<bazel_re::Digest> {
+ auto is_exec) -> std::optional<ArtifactDigest> {
return cas.StoreBlob</*kOwner=*/true>(path, is_exec);
};
auto store_tree =
- [&cas](std::string const& content) -> std::optional<bazel_re::Digest> {
+ [&cas](std::string const& content) -> std::optional<ArtifactDigest> {
return cas.StoreTree(content);
};
auto store_symlink =
- [&cas](std::string const& content) -> std::optional<bazel_re::Digest> {
+ [&cas](std::string const& content) -> std::optional<ArtifactDigest> {
return cas.StoreBlob(content);
};
return Compatibility::IsCompatible()
diff --git a/src/buildtool/main/add_to_cas.cpp b/src/buildtool/main/add_to_cas.cpp
index 7a20af65..73f19502 100644
--- a/src/buildtool/main/add_to_cas.cpp
+++ b/src/buildtool/main/add_to_cas.cpp
@@ -78,15 +78,15 @@ auto AddArtifactsToCas(ToAddArguments const& clargs,
}
auto store_blob =
[&cas](std::filesystem::path const& path,
- auto is_exec) -> std::optional<bazel_re::Digest> {
+ auto is_exec) -> std::optional<ArtifactDigest> {
return cas.StoreBlob</*kOwner=*/true>(path, is_exec);
};
auto store_tree = [&cas](std::string const& content)
- -> std::optional<bazel_re::Digest> {
+ -> std::optional<ArtifactDigest> {
return cas.StoreTree(content);
};
auto store_symlink = [&cas](std::string const& content)
- -> std::optional<bazel_re::Digest> {
+ -> std::optional<ArtifactDigest> {
return cas.StoreBlob(content);
};
digest = BazelMsgFactory::CreateGitTreeDigestFromLocalTree(