diff options
author | Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | 2024-11-08 15:54:26 +0100 |
---|---|---|
committer | Maksim Denisov <denisov.maksim@huawei.com> | 2024-11-14 14:23:05 +0100 |
commit | 3f24fdd9606fde402a585c57073147037378f6d1 (patch) | |
tree | 2001afd643761c7fd83c144790a922e8ca62c8a0 /src | |
parent | 8c990dbbfa1e2db1f72b54f6bbfe52c1f2c019b8 (diff) | |
download | justbuild-3f24fdd9606fde402a585c57073147037378f6d1.tar.gz |
file_system: Implement IWYU suggestions
Diffstat (limited to 'src')
-rw-r--r-- | src/buildtool/file_system/TARGETS | 33 | ||||
-rw-r--r-- | src/buildtool/file_system/file_root.hpp | 12 | ||||
-rw-r--r-- | src/buildtool/file_system/file_storage.hpp | 2 | ||||
-rw-r--r-- | src/buildtool/file_system/file_system_manager.hpp | 28 | ||||
-rw-r--r-- | src/buildtool/file_system/git_cas.cpp | 5 | ||||
-rw-r--r-- | src/buildtool/file_system/git_cas.hpp | 5 | ||||
-rw-r--r-- | src/buildtool/file_system/git_context.cpp | 2 | ||||
-rw-r--r-- | src/buildtool/file_system/git_repo.cpp | 9 | ||||
-rw-r--r-- | src/buildtool/file_system/git_repo.hpp | 4 | ||||
-rw-r--r-- | src/buildtool/file_system/git_tree.cpp | 6 | ||||
-rw-r--r-- | src/buildtool/file_system/git_tree.hpp | 4 | ||||
-rw-r--r-- | src/buildtool/file_system/git_utils.hpp | 2 | ||||
-rw-r--r-- | src/buildtool/file_system/jsonfs.hpp | 2 | ||||
-rw-r--r-- | src/buildtool/file_system/object_cas.hpp | 1 | ||||
-rw-r--r-- | src/buildtool/file_system/symlinks_map/TARGETS | 2 | ||||
-rw-r--r-- | src/buildtool/file_system/symlinks_map/pragma_special.hpp | 3 | ||||
-rw-r--r-- | src/buildtool/file_system/symlinks_map/resolve_symlinks_map.cpp | 6 | ||||
-rw-r--r-- | src/buildtool/main/TARGETS | 1 | ||||
-rw-r--r-- | src/buildtool/main/main.cpp | 1 |
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" |