summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/buildtool/storage/config.hpp9
-rw-r--r--src/buildtool/storage/fs_utils.cpp3
2 files changed, 9 insertions, 3 deletions
diff --git a/src/buildtool/storage/config.hpp b/src/buildtool/storage/config.hpp
index 069daed2..92358d12 100644
--- a/src/buildtool/storage/config.hpp
+++ b/src/buildtool/storage/config.hpp
@@ -170,11 +170,18 @@ class StorageConfig {
}
}
+ /// \brief Root directory for all ephemeral directories, i.e., directories
+ /// that can (and should) be removed immediately by garbage collection.
+ [[nodiscard]] static auto EphemeralRoot() noexcept
+ -> std::filesystem::path {
+ return GenerationCacheRoot(0) / "ephemeral";
+ }
+
/// \brief Root directory for local action executions; individual actions
/// create a working directory below this root.
[[nodiscard]] static auto ExecutionRoot() noexcept
-> std::filesystem::path {
- return GenerationCacheRoot(0) / "exec_root";
+ return EphemeralRoot() / "exec_root";
}
private:
diff --git a/src/buildtool/storage/fs_utils.cpp b/src/buildtool/storage/fs_utils.cpp
index 83167181..5cc3d8a0 100644
--- a/src/buildtool/storage/fs_utils.cpp
+++ b/src/buildtool/storage/fs_utils.cpp
@@ -51,8 +51,7 @@ auto GetGitRoot(LocalPathsPtr const& just_mr_paths,
auto CreateTypedTmpDir(std::string const& type) noexcept -> TmpDirPtr {
// try to create parent dir
- auto parent_path =
- StorageConfig::GenerationCacheRoot(0) / "tmp-workspaces" / type;
+ auto parent_path = StorageConfig::EphemeralRoot() / "tmp-workspaces" / type;
return TmpDir::Create(parent_path);
}