summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2024-11-08 15:54:26 +0100
committerMaksim Denisov <denisov.maksim@huawei.com>2024-11-14 14:23:05 +0100
commit3f24fdd9606fde402a585c57073147037378f6d1 (patch)
tree2001afd643761c7fd83c144790a922e8ca62c8a0 /src
parent8c990dbbfa1e2db1f72b54f6bbfe52c1f2c019b8 (diff)
downloadjustbuild-3f24fdd9606fde402a585c57073147037378f6d1.tar.gz
file_system: Implement IWYU suggestions
Diffstat (limited to 'src')
-rw-r--r--src/buildtool/file_system/TARGETS33
-rw-r--r--src/buildtool/file_system/file_root.hpp12
-rw-r--r--src/buildtool/file_system/file_storage.hpp2
-rw-r--r--src/buildtool/file_system/file_system_manager.hpp28
-rw-r--r--src/buildtool/file_system/git_cas.cpp5
-rw-r--r--src/buildtool/file_system/git_cas.hpp5
-rw-r--r--src/buildtool/file_system/git_context.cpp2
-rw-r--r--src/buildtool/file_system/git_repo.cpp9
-rw-r--r--src/buildtool/file_system/git_repo.hpp4
-rw-r--r--src/buildtool/file_system/git_tree.cpp6
-rw-r--r--src/buildtool/file_system/git_tree.hpp4
-rw-r--r--src/buildtool/file_system/git_utils.hpp2
-rw-r--r--src/buildtool/file_system/jsonfs.hpp2
-rw-r--r--src/buildtool/file_system/object_cas.hpp1
-rw-r--r--src/buildtool/file_system/symlinks_map/TARGETS2
-rw-r--r--src/buildtool/file_system/symlinks_map/pragma_special.hpp3
-rw-r--r--src/buildtool/file_system/symlinks_map/resolve_symlinks_map.cpp6
-rw-r--r--src/buildtool/main/TARGETS1
-rw-r--r--src/buildtool/main/main.cpp1
19 files changed, 88 insertions, 40 deletions
diff --git a/src/buildtool/file_system/TARGETS b/src/buildtool/file_system/TARGETS
index e9ee489d..59998b69 100644
--- a/src/buildtool/file_system/TARGETS
+++ b/src/buildtool/file_system/TARGETS
@@ -24,6 +24,7 @@
, "hdrs": ["object_cas.hpp"]
, "deps":
[ "file_storage"
+ , "object_type"
, ["@", "gsl", "", "gsl"]
, ["src/buildtool/common", "artifact_digest_factory"]
, ["src/buildtool/common", "common"]
@@ -40,6 +41,7 @@
, "hdrs": ["file_system_manager.hpp"]
, "deps":
[ "object_type"
+ , ["@", "fmt", "", "fmt"]
, ["@", "gsl", "", "gsl"]
, ["@", "json", "", "json"]
, ["src/buildtool/logging", "log_level"]
@@ -57,9 +59,9 @@
, "deps":
[ "file_system_manager"
, "object_type"
+ , ["@", "json", "", "json"]
, ["src/buildtool/logging", "log_level"]
, ["src/buildtool/logging", "logging"]
- , ["src/utils/cpp", "json"]
]
, "stage": ["src", "buildtool", "file_system"]
}
@@ -68,10 +70,11 @@
, "name": ["git_cas"]
, "hdrs": ["git_cas.hpp"]
, "srcs": ["git_cas.cpp"]
- , "deps": ["git_context", "git_utils", ["@", "gsl", "", "gsl"]]
+ , "deps": ["git_utils", "object_type"]
, "stage": ["src", "buildtool", "file_system"]
, "private-deps":
- [ ["", "libgit2"]
+ [ "git_context"
+ , ["", "libgit2"]
, ["src/buildtool/logging", "log_level"]
, ["src/buildtool/logging", "logging"]
, ["src/utils/cpp", "hex_string"]
@@ -84,7 +87,8 @@
, "hdrs": ["git_tree.hpp"]
, "srcs": ["git_tree.cpp"]
, "deps":
- [ "git_repo"
+ [ "git_cas"
+ , "git_repo"
, "object_type"
, ["@", "gsl", "", "gsl"]
, ["src/buildtool/multithreading", "atomic_value"]
@@ -92,8 +96,7 @@
]
, "stage": ["src", "buildtool", "file_system"]
, "private-deps":
- [ ["", "libgit2"]
- , ["src/buildtool/common", "common"]
+ [ ["src/buildtool/common", "common"]
, ["src/buildtool/logging", "log_level"]
, ["src/buildtool/logging", "logging"]
, ["src/utils/cpp", "path"]
@@ -106,10 +109,10 @@
, "srcs": ["git_context.cpp"]
, "stage": ["src", "buildtool", "file_system"]
, "private-deps":
- [ ["", "libgit2"]
+ [ ["@", "gsl", "", "gsl"]
+ , ["", "libgit2"]
, ["src/buildtool/logging", "log_level"]
, ["src/buildtool/logging", "logging"]
- , ["src/utils/cpp", "gsl"]
]
}
, "git_repo":
@@ -120,6 +123,8 @@
, "deps":
[ "git_cas"
, "git_types"
+ , "git_utils"
+ , "object_type"
, ["@", "gsl", "", "gsl"]
, ["src/buildtool/common", "common"]
, ["src/buildtool/storage", "config"]
@@ -127,15 +132,17 @@
]
, "stage": ["src", "buildtool", "file_system"]
, "private-deps":
- [ ["", "libgit2"]
+ [ "git_context"
+ , ["@", "fmt", "", "fmt"]
+ , ["", "libgit2"]
, ["src/buildtool/common", "artifact_digest_factory"]
, ["src/buildtool/crypto", "hash_function"]
, ["src/buildtool/file_system", "file_system_manager"]
, ["src/buildtool/logging", "log_level"]
, ["src/buildtool/logging", "logging"]
- , ["src/utils/cpp", "gsl"]
, ["src/utils/cpp", "hex_string"]
, ["src/utils/cpp", "path"]
+ , ["src/utils/cpp", "tmp_dir"]
]
, "cflags": ["-pthread"]
}
@@ -144,7 +151,7 @@
, "name": ["git_utils"]
, "hdrs": ["git_utils.hpp"]
, "srcs": ["git_utils.cpp"]
- , "deps": ["object_type", ["@", "gsl", "", "gsl"]]
+ , "deps": [["@", "gsl", "", "gsl"]]
, "stage": ["src", "buildtool", "file_system"]
, "private-deps":
[ ["@", "fmt", "", "fmt"]
@@ -166,7 +173,10 @@
, "hdrs": ["file_root.hpp"]
, "deps":
[ "file_system_manager"
+ , "git_cas"
, "git_tree"
+ , "object_type"
+ , ["@", "fmt", "", "fmt"]
, ["@", "gsl", "", "gsl"]
, ["@", "json", "", "json"]
, ["src/buildtool/common", "artifact_description"]
@@ -178,6 +188,7 @@
, ["src/buildtool/logging", "log_level"]
, ["src/buildtool/logging", "logging"]
, ["src/utils/cpp", "concepts"]
+ , ["src/utils/cpp", "expected"]
, ["src/utils/cpp", "json"]
]
, "stage": ["src", "buildtool", "file_system"]
diff --git a/src/buildtool/file_system/file_root.hpp b/src/buildtool/file_system/file_root.hpp
index f9085f52..4fb587c2 100644
--- a/src/buildtool/file_system/file_root.hpp
+++ b/src/buildtool/file_system/file_root.hpp
@@ -15,14 +15,20 @@
#ifndef INCLUDED_SRC_BUILDTOOL_FILE_SYSTEM_FILE_ROOT_HPP
#define INCLUDED_SRC_BUILDTOOL_FILE_SYSTEM_FILE_ROOT_HPP
+#include <algorithm>
+#include <cstddef>
+#include <exception>
#include <filesystem>
+#include <functional>
#include <iterator>
#include <memory>
+#include <optional>
#include <string>
#include <unordered_map>
#include <utility>
#include <variant>
+#include "fmt/core.h"
#include "gsl/gsl"
#include "nlohmann/json.hpp"
#include "src/buildtool/common/artifact_description.hpp"
@@ -32,11 +38,15 @@
#include "src/buildtool/common/protocol_traits.hpp"
#include "src/buildtool/crypto/hash_function.hpp"
#include "src/buildtool/file_system/file_system_manager.hpp"
+#include "src/buildtool/file_system/git_cas.hpp"
#include "src/buildtool/file_system/git_tree.hpp"
+#include "src/buildtool/file_system/object_type.hpp"
#include "src/buildtool/logging/log_level.hpp"
#include "src/buildtool/logging/logger.hpp"
#include "src/utils/cpp/concepts.hpp"
-#include "src/utils/cpp/json.hpp"
+#include "src/utils/cpp/expected.hpp"
+// Keep it to ensure fmt::format works on JSON objects
+#include "src/utils/cpp/json.hpp" // IWYU pragma: keep
/// FilteredIterator is an helper class to allow for iteration over
/// directory-only or file-only entries stored inside the class
diff --git a/src/buildtool/file_system/file_storage.hpp b/src/buildtool/file_system/file_storage.hpp
index 80aac0e0..191313dc 100644
--- a/src/buildtool/file_system/file_storage.hpp
+++ b/src/buildtool/file_system/file_storage.hpp
@@ -15,9 +15,11 @@
#ifndef INCLUDED_SRC_BUILDTOOL_FILE_SYSTEM_FILE_STORAGE_HPP
#define INCLUDED_SRC_BUILDTOOL_FILE_SYSTEM_FILE_STORAGE_HPP
+#include <cstddef>
#include <cstdint>
#include <filesystem>
#include <string>
+#include <type_traits>
#include <utility>
#include "src/buildtool/execution_api/common/execution_common.hpp"
diff --git a/src/buildtool/file_system/file_system_manager.hpp b/src/buildtool/file_system/file_system_manager.hpp
index f7bcaee0..e5e73415 100644
--- a/src/buildtool/file_system/file_system_manager.hpp
+++ b/src/buildtool/file_system/file_system_manager.hpp
@@ -15,6 +15,18 @@
#ifndef INCLUDED_SRC_BUILDTOOL_FILE_SYSTEM_FILE_SYSTEM_MANAGER_HPP
#define INCLUDED_SRC_BUILDTOOL_FILE_SYSTEM_FILE_SYSTEM_MANAGER_HPP
+#ifdef __unix__
+#include <fcntl.h>
+#include <pwd.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#else
+#error "Non-unix is not supported yet"
+#endif
+
+#include <algorithm>
#include <array>
#include <cerrno> // for errno
#include <chrono>
@@ -23,25 +35,19 @@
#include <cstdio> // for std::fopen
#include <cstdlib> // std::exit, std::getenv
#include <cstring>
+#include <ctime>
#include <exception>
#include <filesystem>
#include <fstream>
+#include <functional>
#include <optional>
+#include <string>
#include <system_error>
#include <unordered_set>
+#include <utility>
#include <variant>
-#ifdef __unix__
-#include <fcntl.h>
-#include <pwd.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <unistd.h>
-#else
-#error "Non-unix is not supported yet"
-#endif
-
+#include "fmt/core.h"
#include "gsl/gsl"
#include "nlohmann/json.hpp"
#include "src/buildtool/file_system/object_type.hpp"
diff --git a/src/buildtool/file_system/git_cas.cpp b/src/buildtool/file_system/git_cas.cpp
index 32426e88..81f03dfd 100644
--- a/src/buildtool/file_system/git_cas.cpp
+++ b/src/buildtool/file_system/git_cas.cpp
@@ -14,11 +14,10 @@
#include "src/buildtool/file_system/git_cas.hpp"
-#include <cstring>
+#include <exception>
#include <mutex>
-#include <sstream>
-#include "gsl/gsl"
+#include "src/buildtool/file_system/git_context.hpp"
#include "src/buildtool/logging/log_level.hpp"
#include "src/buildtool/logging/logger.hpp"
#include "src/utils/cpp/hex_string.hpp"
diff --git a/src/buildtool/file_system/git_cas.hpp b/src/buildtool/file_system/git_cas.hpp
index e6eed664..fff572e1 100644
--- a/src/buildtool/file_system/git_cas.hpp
+++ b/src/buildtool/file_system/git_cas.hpp
@@ -20,12 +20,11 @@
#include <memory>
#include <optional>
#include <shared_mutex>
-#include <unordered_map>
+#include <string>
#include <utility>
-#include <vector>
-#include "src/buildtool/file_system/git_context.hpp"
#include "src/buildtool/file_system/git_utils.hpp"
+#include "src/buildtool/file_system/object_type.hpp"
class GitCAS;
using GitCASPtr = std::shared_ptr<GitCAS const>;
diff --git a/src/buildtool/file_system/git_context.cpp b/src/buildtool/file_system/git_context.cpp
index f6f83c0d..eb0801a5 100644
--- a/src/buildtool/file_system/git_context.cpp
+++ b/src/buildtool/file_system/git_context.cpp
@@ -14,9 +14,9 @@
#include "src/buildtool/file_system/git_context.hpp"
+#include "gsl/gsl"
#include "src/buildtool/logging/log_level.hpp"
#include "src/buildtool/logging/logger.hpp"
-#include "src/utils/cpp/gsl.hpp"
extern "C" {
#include <git2.h>
diff --git a/src/buildtool/file_system/git_repo.cpp b/src/buildtool/file_system/git_repo.cpp
index 176535b3..d3ffb250 100644
--- a/src/buildtool/file_system/git_repo.cpp
+++ b/src/buildtool/file_system/git_repo.cpp
@@ -15,21 +15,28 @@
#include "src/buildtool/file_system/git_repo.hpp"
#include <algorithm>
+#include <chrono>
#include <cstddef>
+#include <cstring>
+#include <exception>
+#include <limits>
#include <map>
+#include <mutex>
#include <sstream>
#include <string_view>
#include <thread>
#include <unordered_set>
+#include "fmt/core.h"
#include "src/buildtool/common/artifact_digest_factory.hpp"
#include "src/buildtool/crypto/hash_function.hpp"
#include "src/buildtool/file_system/file_system_manager.hpp"
+#include "src/buildtool/file_system/git_context.hpp"
#include "src/buildtool/logging/log_level.hpp"
#include "src/buildtool/logging/logger.hpp"
-#include "src/utils/cpp/gsl.hpp"
#include "src/utils/cpp/hex_string.hpp"
#include "src/utils/cpp/path.hpp"
+#include "src/utils/cpp/tmp_dir.hpp"
extern "C" {
#include <git2.h>
diff --git a/src/buildtool/file_system/git_repo.hpp b/src/buildtool/file_system/git_repo.hpp
index df100b35..11393ff9 100644
--- a/src/buildtool/file_system/git_repo.hpp
+++ b/src/buildtool/file_system/git_repo.hpp
@@ -17,7 +17,9 @@
#include <filesystem>
#include <functional>
+#include <memory>
#include <optional>
+#include <shared_mutex>
#include <string>
#include <unordered_map>
#include <utility> // std::move
@@ -27,6 +29,8 @@
#include "src/buildtool/common/artifact_digest.hpp"
#include "src/buildtool/file_system/git_cas.hpp"
#include "src/buildtool/file_system/git_types.hpp"
+#include "src/buildtool/file_system/git_utils.hpp"
+#include "src/buildtool/file_system/object_type.hpp"
#include "src/buildtool/storage/config.hpp"
#include "src/utils/cpp/expected.hpp"
diff --git a/src/buildtool/file_system/git_tree.cpp b/src/buildtool/file_system/git_tree.cpp
index 1f916dc1..3d1418f1 100644
--- a/src/buildtool/file_system/git_tree.cpp
+++ b/src/buildtool/file_system/git_tree.cpp
@@ -15,7 +15,7 @@
#include "src/buildtool/file_system/git_tree.hpp"
#include <algorithm>
-#include <sstream>
+#include <functional>
#include <vector>
#include "src/buildtool/common/artifact_digest.hpp"
@@ -23,10 +23,6 @@
#include "src/buildtool/logging/logger.hpp"
#include "src/utils/cpp/path.hpp"
-extern "C" {
-#include <git2.h>
-}
-
namespace {
// resolve '.' and '..' in path.
diff --git a/src/buildtool/file_system/git_tree.hpp b/src/buildtool/file_system/git_tree.hpp
index ac14e239..0419ec1f 100644
--- a/src/buildtool/file_system/git_tree.hpp
+++ b/src/buildtool/file_system/git_tree.hpp
@@ -17,12 +17,16 @@
#include <cstddef>
#include <filesystem>
+#include <functional>
+#include <memory>
#include <optional>
#include <string>
#include <unordered_map>
#include <utility> // std::move
+#include <vector>
#include "gsl/gsl"
+#include "src/buildtool/file_system/git_cas.hpp"
#include "src/buildtool/file_system/git_repo.hpp"
#include "src/buildtool/file_system/object_type.hpp"
#include "src/buildtool/multithreading/atomic_value.hpp"
diff --git a/src/buildtool/file_system/git_utils.hpp b/src/buildtool/file_system/git_utils.hpp
index 916e9fbe..b39551fe 100644
--- a/src/buildtool/file_system/git_utils.hpp
+++ b/src/buildtool/file_system/git_utils.hpp
@@ -17,9 +17,9 @@
#include <cstddef>
#include <optional>
+#include <string>
#include "gsl/gsl"
-#include "src/buildtool/file_system/object_type.hpp"
extern "C" {
struct git_oid;
diff --git a/src/buildtool/file_system/jsonfs.hpp b/src/buildtool/file_system/jsonfs.hpp
index 952d2f32..dadd19f4 100644
--- a/src/buildtool/file_system/jsonfs.hpp
+++ b/src/buildtool/file_system/jsonfs.hpp
@@ -20,11 +20,11 @@
#include <fstream>
#include <optional>
+#include "nlohmann/json.hpp"
#include "src/buildtool/file_system/file_system_manager.hpp"
#include "src/buildtool/file_system/object_type.hpp"
#include "src/buildtool/logging/log_level.hpp"
#include "src/buildtool/logging/logger.hpp"
-#include "src/utils/cpp/json.hpp"
class Json {
public:
diff --git a/src/buildtool/file_system/object_cas.hpp b/src/buildtool/file_system/object_cas.hpp
index 2616814c..87042534 100644
--- a/src/buildtool/file_system/object_cas.hpp
+++ b/src/buildtool/file_system/object_cas.hpp
@@ -27,6 +27,7 @@
#include "src/buildtool/crypto/hash_function.hpp"
#include "src/buildtool/file_system/file_storage.hpp"
#include "src/buildtool/file_system/file_system_manager.hpp"
+#include "src/buildtool/file_system/object_type.hpp"
#include "src/buildtool/logging/log_level.hpp"
#include "src/buildtool/logging/logger.hpp"
diff --git a/src/buildtool/file_system/symlinks_map/TARGETS b/src/buildtool/file_system/symlinks_map/TARGETS
index aa1b400b..34320671 100644
--- a/src/buildtool/file_system/symlinks_map/TARGETS
+++ b/src/buildtool/file_system/symlinks_map/TARGETS
@@ -16,8 +16,8 @@
, "stage": ["src", "buildtool", "file_system", "symlinks_map"]
, "private-deps":
[ ["@", "fmt", "", "fmt"]
- , ["src/buildtool/storage", "config"]
, ["src/utils/cpp", "gsl"]
+ , ["src/utils/cpp", "hex_string"]
]
}
, "pragma_special":
diff --git a/src/buildtool/file_system/symlinks_map/pragma_special.hpp b/src/buildtool/file_system/symlinks_map/pragma_special.hpp
index 61935bdd..c01c7fe8 100644
--- a/src/buildtool/file_system/symlinks_map/pragma_special.hpp
+++ b/src/buildtool/file_system/symlinks_map/pragma_special.hpp
@@ -15,8 +15,11 @@
#ifndef INCLUDED_SRC_BUILDTOOL_FILE_SYSTEM_SYMLINKS_MAP_PRAGMA_SPECIAL_HPP
#define INCLUDED_SRC_BUILDTOOL_FILE_SYSTEM_SYMLINKS_MAP_PRAGMA_SPECIAL_HPP
+#include <cstdint>
+#include <functional>
#include <string>
#include <unordered_map>
+#include <utility>
/* Enum used by the resolve_symlinks_map */
diff --git a/src/buildtool/file_system/symlinks_map/resolve_symlinks_map.cpp b/src/buildtool/file_system/symlinks_map/resolve_symlinks_map.cpp
index f130df71..16556153 100644
--- a/src/buildtool/file_system/symlinks_map/resolve_symlinks_map.cpp
+++ b/src/buildtool/file_system/symlinks_map/resolve_symlinks_map.cpp
@@ -14,10 +14,14 @@
#include "src/buildtool/file_system/symlinks_map/resolve_symlinks_map.hpp"
+#include <memory>
+#include <unordered_map>
+#include <vector>
+
#include "fmt/core.h"
#include "src/buildtool/file_system/object_type.hpp"
-#include "src/buildtool/storage/config.hpp"
#include "src/utils/cpp/gsl.hpp"
+#include "src/utils/cpp/hex_string.hpp"
namespace {
diff --git a/src/buildtool/main/TARGETS b/src/buildtool/main/TARGETS
index 18ab6c65..04a3b092 100644
--- a/src/buildtool/main/TARGETS
+++ b/src/buildtool/main/TARGETS
@@ -42,6 +42,7 @@
, ["src/buildtool/execution_api/remote", "context"]
, ["src/buildtool/execution_engine/executor", "context"]
, ["src/buildtool/file_system", "file_root"]
+ , ["src/buildtool/file_system", "git_context"]
, ["src/buildtool/graph_traverser", "graph_traverser"]
, ["src/buildtool/logging", "log_level"]
, ["src/buildtool/logging", "logging"]
diff --git a/src/buildtool/main/main.cpp b/src/buildtool/main/main.cpp
index 86eebd41..7bb513f9 100644
--- a/src/buildtool/main/main.cpp
+++ b/src/buildtool/main/main.cpp
@@ -76,6 +76,7 @@
#include "src/buildtool/execution_api/remote/config.hpp"
#include "src/buildtool/execution_api/remote/context.hpp"
#include "src/buildtool/execution_engine/executor/context.hpp"
+#include "src/buildtool/file_system/git_context.hpp"
#include "src/buildtool/graph_traverser/graph_traverser.hpp"
#include "src/buildtool/main/describe.hpp"
#include "src/buildtool/main/retry.hpp"