summaryrefslogtreecommitdiff
path: root/src/buildtool/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/common')
-rw-r--r--src/buildtool/common/TARGETS6
-rw-r--r--src/buildtool/common/repository_config.cpp8
-rw-r--r--src/buildtool/common/repository_config.hpp4
3 files changed, 9 insertions, 9 deletions
diff --git a/src/buildtool/common/TARGETS b/src/buildtool/common/TARGETS
index be4246f0..d8f48a8e 100644
--- a/src/buildtool/common/TARGETS
+++ b/src/buildtool/common/TARGETS
@@ -127,12 +127,10 @@
, ["src/buildtool/file_system", "file_root"]
, ["src/buildtool/file_system", "git_cas"]
, ["src/buildtool/multithreading", "atomic_value"]
- ]
- , "stage": ["src", "buildtool", "common"]
- , "private-deps":
- [ ["src/utils/automata", "dfa_minimizer"]
, ["src/buildtool/storage", "storage"]
]
+ , "stage": ["src", "buildtool", "common"]
+ , "private-deps": [["src/utils/automata", "dfa_minimizer"]]
}
, "user_structs":
{ "type": ["@", "rules", "CC", "library"]
diff --git a/src/buildtool/common/repository_config.cpp b/src/buildtool/common/repository_config.cpp
index a3b81de1..d26ba55b 100644
--- a/src/buildtool/common/repository_config.cpp
+++ b/src/buildtool/common/repository_config.cpp
@@ -14,7 +14,6 @@
#include "src/buildtool/common/repository_config.hpp"
-#include "src/buildtool/storage/storage.hpp"
#include "src/utils/automata/dfa_minimizer.hpp"
auto RepositoryConfig::RepositoryInfo::BaseContentDescription() const
@@ -35,15 +34,16 @@ auto RepositoryConfig::RepositoryInfo::BaseContentDescription() const
return std::nullopt;
}
-auto RepositoryConfig::RepositoryKey(std::string const& repo) const noexcept
+auto RepositoryConfig::RepositoryKey(Storage const& storage,
+ std::string const& repo) const noexcept
-> std::optional<std::string> {
auto const& unique = DeduplicateRepo(repo);
if (auto const* data = Data(unique)) {
// compute key only once (thread-safe)
return data->key.SetOnceAndGet(
- [this, &unique]() -> std::optional<std::string> {
+ [this, &storage, &unique]() -> std::optional<std::string> {
if (auto graph = BuildGraphForRepository(unique)) {
- auto const& cas = Storage::Instance().CAS();
+ auto const& cas = storage.CAS();
if (auto digest = cas.StoreBlob(graph->dump(2))) {
return ArtifactDigest{*digest}.hash();
}
diff --git a/src/buildtool/common/repository_config.hpp b/src/buildtool/common/repository_config.hpp
index ea463d43..8c5c29a5 100644
--- a/src/buildtool/common/repository_config.hpp
+++ b/src/buildtool/common/repository_config.hpp
@@ -28,6 +28,7 @@
#include "src/buildtool/file_system/file_root.hpp"
#include "src/buildtool/file_system/git_cas.hpp"
#include "src/buildtool/multithreading/atomic_value.hpp"
+#include "src/buildtool/storage/storage.hpp"
class RepositoryConfig {
@@ -136,7 +137,8 @@ class RepositoryConfig {
// Obtain repository's cache key if the repository is content fixed or
// std::nullopt otherwise.
- [[nodiscard]] auto RepositoryKey(std::string const& repo) const noexcept
+ [[nodiscard]] auto RepositoryKey(Storage const& storage,
+ std::string const& repo) const noexcept
-> std::optional<std::string>;
// used for testing