summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaksim Denisov <denisov.maksim@huawei.com>2024-09-03 14:56:55 +0200
committerMaksim Denisov <denisov.maksim@huawei.com>2024-09-09 13:07:13 +0200
commit9fbc8d2985fbb930fd02498238a3fb2ddfb4512e (patch)
tree5f0e85ce8a46369ff0532d802e9a86eaef697391 /src
parent4cecbc2873cd4ce464a8bf3b3c529830fcd29d0d (diff)
downloadjustbuild-9fbc8d2985fbb930fd02498238a3fb2ddfb4512e.tar.gz
Use ArtifactDigestFactory casts in Storage
Diffstat (limited to 'src')
-rw-r--r--src/buildtool/storage/local_ac.tpp16
-rw-r--r--src/buildtool/storage/local_cas.tpp16
2 files changed, 24 insertions, 8 deletions
diff --git a/src/buildtool/storage/local_ac.tpp b/src/buildtool/storage/local_ac.tpp
index 8cc55638..e58c7fb9 100644
--- a/src/buildtool/storage/local_ac.tpp
+++ b/src/buildtool/storage/local_ac.tpp
@@ -77,9 +77,13 @@ auto LocalAC<kDoGlobalUplink>::LocalUplinkEntry(
// Uplink result content
for (auto const& file : result->output_files()) {
- ArtifactDigest const a_digest{file.digest()};
+ auto const digest = ArtifactDigestFactory::FromBazel(
+ cas_.GetHashFunction().GetType(), file.digest());
+ if (not digest) {
+ return false;
+ }
if (not cas_.LocalUplinkBlob(
- latest.cas_, a_digest, file.is_executable())) {
+ latest.cas_, *digest, file.is_executable())) {
return false;
}
}
@@ -102,8 +106,12 @@ auto LocalAC<kDoGlobalUplink>::LocalUplinkEntry(
}
}
for (auto const& directory : result->output_directories()) {
- ArtifactDigest const a_digest{directory.tree_digest()};
- if (not cas_.LocalUplinkTree(latest.cas_, a_digest)) {
+ auto const digest = ArtifactDigestFactory::FromBazel(
+ cas_.GetHashFunction().GetType(), directory.tree_digest());
+ if (not digest) {
+ return false;
+ }
+ if (not cas_.LocalUplinkTree(latest.cas_, *digest)) {
return false;
}
}
diff --git a/src/buildtool/storage/local_cas.tpp b/src/buildtool/storage/local_cas.tpp
index d43bd18b..8b91f7e4 100644
--- a/src/buildtool/storage/local_cas.tpp
+++ b/src/buildtool/storage/local_cas.tpp
@@ -217,14 +217,22 @@ auto LocalCAS<kDoGlobalUplink>::LocalUplinkBazelDirectory(
// Uplink bazel directory entries.
for (auto const& file : dir.files()) {
- ArtifactDigest const a_digest{file.digest()};
- if (not LocalUplinkBlob(latest, a_digest, file.is_executable())) {
+ auto const digest = ArtifactDigestFactory::FromBazel(
+ hash_function_.GetType(), file.digest());
+ if (not digest) {
+ return false;
+ }
+ if (not LocalUplinkBlob(latest, *digest, file.is_executable())) {
return false;
}
}
for (auto const& directory : dir.directories()) {
- ArtifactDigest const a_digest{directory.digest()};
- if (not LocalUplinkBazelDirectory(latest, a_digest, seen)) {
+ auto const digest = ArtifactDigestFactory::FromBazel(
+ hash_function_.GetType(), directory.digest());
+ if (not digest) {
+ return false;
+ }
+ if (not LocalUplinkBazelDirectory(latest, *digest, seen)) {
return false;
}
}