diff options
-rw-r--r-- | src/buildtool/storage/config.hpp | 9 | ||||
-rw-r--r-- | src/buildtool/storage/fs_utils.cpp | 3 |
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); } |