diff options
Diffstat (limited to 'src')
44 files changed, 288 insertions, 104 deletions
diff --git a/src/buildtool/build_engine/analysed_target/TARGETS b/src/buildtool/build_engine/analysed_target/TARGETS index 3fff08b8..8d524e08 100644 --- a/src/buildtool/build_engine/analysed_target/TARGETS +++ b/src/buildtool/build_engine/analysed_target/TARGETS @@ -5,14 +5,16 @@ , "srcs": ["analysed_target.cpp"] , "deps": [ "graph_information" - , ["src/buildtool/build_engine/expression", "expression"] , ["src/buildtool/build_engine/expression", "expression_ptr_interface"] , ["src/buildtool/common", "action_description"] , ["src/buildtool/common", "artifact_description"] , ["src/buildtool/common", "tree"] ] , "stage": ["src", "buildtool", "build_engine", "analysed_target"] - , "private-deps": [["@", "gsl", "", "gsl"]] + , "private-deps": + [ ["@", "gsl", "", "gsl"] + , ["src/buildtool/build_engine/expression", "expression"] + ] } , "graph_information": { "type": ["@", "rules", "CC", "library"] diff --git a/src/buildtool/build_engine/analysed_target/analysed_target.cpp b/src/buildtool/build_engine/analysed_target/analysed_target.cpp index b9a5f559..84b9b6ef 100644 --- a/src/buildtool/build_engine/analysed_target/analysed_target.cpp +++ b/src/buildtool/build_engine/analysed_target/analysed_target.cpp @@ -15,6 +15,7 @@ #include "src/buildtool/build_engine/analysed_target/analysed_target.hpp" #include "gsl/gsl" +#include "src/buildtool/build_engine/expression/expression.hpp" namespace { diff --git a/src/buildtool/build_engine/analysed_target/analysed_target.hpp b/src/buildtool/build_engine/analysed_target/analysed_target.hpp index 889a6e89..419db910 100644 --- a/src/buildtool/build_engine/analysed_target/analysed_target.hpp +++ b/src/buildtool/build_engine/analysed_target/analysed_target.hpp @@ -15,6 +15,7 @@ #ifndef INCLUDED_SRC_BUILDTOOL_BUILDENGINE_ANALYSED_TARGET_ANALYSED_TARGET_HPP #define INCLUDED_SRC_BUILDTOOL_BUILDENGINE_ANALYSED_TARGET_ANALYSED_TARGET_HPP +#include <functional> #include <memory> #include <set> #include <string> @@ -23,7 +24,6 @@ #include <vector> #include "src/buildtool/build_engine/analysed_target/target_graph_information.hpp" -#include "src/buildtool/build_engine/expression/configuration.hpp" #include "src/buildtool/build_engine/expression/expression_ptr.hpp" #include "src/buildtool/build_engine/expression/target_result.hpp" #include "src/buildtool/common/action_description.hpp" diff --git a/src/buildtool/build_engine/analysed_target/target_graph_information.cpp b/src/buildtool/build_engine/analysed_target/target_graph_information.cpp index 24ba3090..3a923740 100644 --- a/src/buildtool/build_engine/analysed_target/target_graph_information.cpp +++ b/src/buildtool/build_engine/analysed_target/target_graph_information.cpp @@ -14,6 +14,8 @@ #include "src/buildtool/build_engine/analysed_target/target_graph_information.hpp" +#include <memory> + auto TargetGraphInformation::NodeString() const noexcept -> std::optional<std::string> { if (node_) { diff --git a/src/buildtool/build_engine/base_maps/TARGETS b/src/buildtool/build_engine/base_maps/TARGETS index 3a3107be..f91b9c6e 100644 --- a/src/buildtool/build_engine/base_maps/TARGETS +++ b/src/buildtool/build_engine/base_maps/TARGETS @@ -18,7 +18,7 @@ , ["src/buildtool/multithreading", "async_map_consumer"] ] , "stage": ["src", "buildtool", "build_engine", "base_maps"] - , "private-deps": [["src/utils/cpp", "path"]] + , "private-deps": [["@", "fmt", "", "fmt"]] } , "json_file_map": { "type": ["@", "rules", "CC", "library"] @@ -30,6 +30,7 @@ , ["@", "gsl", "", "gsl"] , ["@", "json", "", "json"] , ["src/buildtool/common", "config"] + , ["src/buildtool/file_system", "file_root"] , ["src/buildtool/multithreading", "async_map_consumer"] ] , "stage": ["src", "buildtool", "build_engine", "base_maps"] @@ -41,7 +42,9 @@ , "deps": [ "json_file_map" , "module_name" + , ["@", "gsl", "", "gsl"] , ["@", "json", "", "json"] + , ["src/buildtool/common", "config"] , ["src/buildtool/multithreading", "async_map_consumer"] ] , "stage": ["src", "buildtool", "build_engine", "base_maps"] @@ -56,7 +59,6 @@ , ["@", "json", "", "json"] , ["src/buildtool/build_engine/expression", "expression_ptr_interface"] , ["src/utils/cpp", "hash_combine"] - , ["src/utils/cpp", "hex_string"] ] , "stage": ["src", "buildtool", "build_engine", "base_maps"] } @@ -66,11 +68,12 @@ , "hdrs": ["entity_name.hpp"] , "deps": [ "entity_name_data" + , ["@", "fmt", "", "fmt"] , ["@", "gsl", "", "gsl"] , ["@", "json", "", "json"] , ["src/buildtool/build_engine/expression", "expression"] + , ["src/buildtool/build_engine/expression", "expression_ptr_interface"] , ["src/buildtool/common", "config"] - , ["src/utils/cpp", "hash_combine"] ] , "stage": ["src", "buildtool", "build_engine", "base_maps"] } @@ -81,21 +84,23 @@ , "srcs": ["source_map.cpp"] , "deps": [ "directory_map" - , "entity_name" + , "entity_name_data" , ["@", "gsl", "", "gsl"] , ["@", "json", "", "json"] , ["src/buildtool/build_engine/analysed_target", "target"] - , ["src/buildtool/build_engine/expression", "expression"] , ["src/buildtool/common", "config"] , ["src/buildtool/crypto", "hash_function"] , ["src/buildtool/multithreading", "async_map_consumer"] - , ["src/buildtool/multithreading", "task_system"] ] , "stage": ["src", "buildtool", "build_engine", "base_maps"] , "private-deps": - [ ["src/buildtool/common", "common"] - , ["src/buildtool/file_system", "object_type"] - , ["src/utils/cpp", "json"] + [ "module_name" + , ["@", "fmt", "", "fmt"] + , ["src/buildtool/build_engine/analysed_target", "graph_information"] + , ["src/buildtool/build_engine/expression", "expression"] + , ["src/buildtool/build_engine/expression", "expression_ptr_interface"] + , ["src/buildtool/common", "action_description"] + , ["src/buildtool/common", "tree"] ] } , "field_reader": @@ -104,10 +109,12 @@ , "hdrs": ["field_reader.hpp"] , "deps": [ "entity_name" + , "entity_name_data" , ["@", "fmt", "", "fmt"] , ["@", "gsl", "", "gsl"] , ["@", "json", "", "json"] , ["src/buildtool/build_engine/expression", "expression"] + , ["src/buildtool/build_engine/expression", "expression_ptr_interface"] , ["src/buildtool/common", "config"] , ["src/buildtool/multithreading", "async_map_consumer"] ] @@ -126,6 +133,11 @@ , ["src/utils/cpp", "gsl"] ] , "stage": ["src", "buildtool", "build_engine", "base_maps"] + , "private-deps": + [ ["@", "json", "", "json"] + , ["src/buildtool/build_engine/expression", "expression_ptr_interface"] + , ["src/buildtool/build_engine/expression", "linked_map"] + ] } , "expression_map": { "type": ["@", "rules", "CC", "library"] @@ -133,7 +145,7 @@ , "hdrs": ["expression_map.hpp"] , "srcs": ["expression_map.cpp"] , "deps": - [ "entity_name" + [ "entity_name_data" , "expression_function" , "json_file_map" , "module_name" @@ -151,11 +163,11 @@ , "name": ["user_rule"] , "hdrs": ["user_rule.hpp"] , "deps": - [ "entity_name" + [ "entity_name_data" , "expression_function" , ["@", "fmt", "", "fmt"] , ["@", "gsl", "", "gsl"] - , ["src/buildtool/build_engine/expression", "expression"] + , ["src/buildtool/build_engine/expression", "expression_ptr_interface"] , ["src/utils/cpp", "concepts"] , ["src/utils/cpp", "gsl"] ] @@ -167,7 +179,7 @@ , "hdrs": ["rule_map.hpp"] , "srcs": ["rule_map.cpp"] , "deps": - [ "entity_name" + [ "entity_name_data" , "expression_map" , "json_file_map" , "module_name" @@ -179,6 +191,12 @@ , ["src/buildtool/multithreading", "async_map_consumer"] ] , "stage": ["src", "buildtool", "build_engine", "base_maps"] - , "private-deps": ["field_reader"] + , "private-deps": + [ "entity_name" + , "expression_function" + , "field_reader" + , ["src/buildtool/build_engine/expression", "expression"] + , ["src/buildtool/build_engine/expression", "expression_ptr_interface"] + ] } } diff --git a/src/buildtool/build_engine/base_maps/directory_map.cpp b/src/buildtool/build_engine/base_maps/directory_map.cpp index 809a8788..0cdd7977 100644 --- a/src/buildtool/build_engine/base_maps/directory_map.cpp +++ b/src/buildtool/build_engine/base_maps/directory_map.cpp @@ -14,11 +14,11 @@ #include "src/buildtool/build_engine/base_maps/directory_map.hpp" -#include <filesystem> -#include <unordered_set> +#include <functional> +#include <string> +#include "fmt/core.h" #include "src/buildtool/multithreading/async_map_consumer.hpp" -#include "src/utils/cpp/path.hpp" auto BuildMaps::Base::CreateDirectoryEntriesMap( gsl::not_null<const RepositoryConfig*> const& repo_config, diff --git a/src/buildtool/build_engine/base_maps/directory_map.hpp b/src/buildtool/build_engine/base_maps/directory_map.hpp index 463b273d..e5b970f7 100644 --- a/src/buildtool/build_engine/base_maps/directory_map.hpp +++ b/src/buildtool/build_engine/base_maps/directory_map.hpp @@ -16,9 +16,6 @@ #define INCLUDED_SRC_BUILDTOOL_BUILD_ENGINE_BASE_MAPS_DIRECTORY_MAP_HPP #include <cstddef> -#include <filesystem> -#include <map> -#include <unordered_set> #include "gsl/gsl" #include "src/buildtool/build_engine/base_maps/module_name.hpp" diff --git a/src/buildtool/build_engine/base_maps/entity_name.hpp b/src/buildtool/build_engine/base_maps/entity_name.hpp index ad2b368d..16fcb3aa 100644 --- a/src/buildtool/build_engine/base_maps/entity_name.hpp +++ b/src/buildtool/build_engine/base_maps/entity_name.hpp @@ -17,15 +17,18 @@ #include <cstddef> #include <filesystem> +#include <functional> #include <optional> +#include <string> #include <utility> +#include "fmt/core.h" #include "gsl/gsl" #include "nlohmann/json.hpp" #include "src/buildtool/build_engine/base_maps/entity_name_data.hpp" #include "src/buildtool/build_engine/expression/expression.hpp" +#include "src/buildtool/build_engine/expression/expression_ptr.hpp" #include "src/buildtool/common/repository_config.hpp" -#include "src/utils/cpp/hash_combine.hpp" namespace BuildMaps::Base { diff --git a/src/buildtool/build_engine/base_maps/entity_name_data.hpp b/src/buildtool/build_engine/base_maps/entity_name_data.hpp index 52ac1490..4302d902 100644 --- a/src/buildtool/build_engine/base_maps/entity_name_data.hpp +++ b/src/buildtool/build_engine/base_maps/entity_name_data.hpp @@ -16,8 +16,10 @@ #define INCLUDED_SRC_BUILDTOOL_BUILD_ENGINE_BASE_MAPS_ENTITY_NAME_DATA_HPP #include <cstddef> +#include <cstdint> #include <filesystem> -#include <optional> +#include <functional> +#include <string> #include <utility> #include <variant> @@ -25,7 +27,6 @@ #include "src/buildtool/build_engine/base_maps/module_name.hpp" #include "src/buildtool/build_engine/expression/expression_ptr.hpp" #include "src/utils/cpp/hash_combine.hpp" -#include "src/utils/cpp/hex_string.hpp" namespace BuildMaps::Base { diff --git a/src/buildtool/build_engine/base_maps/expression_function.hpp b/src/buildtool/build_engine/base_maps/expression_function.hpp index 379da7c2..e2c691d8 100644 --- a/src/buildtool/build_engine/base_maps/expression_function.hpp +++ b/src/buildtool/build_engine/base_maps/expression_function.hpp @@ -15,17 +15,23 @@ #ifndef INCLUDED_SRC_BUILDTOOL_BUILD_ENGINE_BASE_MAPS_EXPRESSION_FUNCTION_HPP #define INCLUDED_SRC_BUILDTOOL_BUILD_ENGINE_BASE_MAPS_EXPRESSION_FUNCTION_HPP +#include <functional> #include <memory> +#include <sstream> #include <string> #include <unordered_map> -#include <utility> // std::move +#include <utility> #include <vector> #include "fmt/core.h" #include "gsl/gsl" +#include "nlohmann/json.hpp" #include "src/buildtool/build_engine/expression/configuration.hpp" #include "src/buildtool/build_engine/expression/evaluator.hpp" #include "src/buildtool/build_engine/expression/expression.hpp" +#include "src/buildtool/build_engine/expression/expression_ptr.hpp" +#include "src/buildtool/build_engine/expression/function_map.hpp" +#include "src/buildtool/build_engine/expression/linked_map.hpp" #include "src/buildtool/logging/log_level.hpp" #include "src/buildtool/logging/logger.hpp" #include "src/utils/cpp/gsl.hpp" diff --git a/src/buildtool/build_engine/base_maps/expression_map.cpp b/src/buildtool/build_engine/base_maps/expression_map.cpp index 30722bf3..17eb6c99 100644 --- a/src/buildtool/build_engine/base_maps/expression_map.cpp +++ b/src/buildtool/build_engine/base_maps/expression_map.cpp @@ -14,9 +14,8 @@ #include "src/buildtool/build_engine/base_maps/expression_map.hpp" -#include <optional> +#include <memory> #include <string> -#include <utility> // std::move #include "fmt/core.h" #include "src/buildtool/build_engine/base_maps/field_reader.hpp" diff --git a/src/buildtool/build_engine/base_maps/expression_map.hpp b/src/buildtool/build_engine/base_maps/expression_map.hpp index 3acec531..eec77cd6 100644 --- a/src/buildtool/build_engine/base_maps/expression_map.hpp +++ b/src/buildtool/build_engine/base_maps/expression_map.hpp @@ -17,12 +17,11 @@ #include <cstddef> #include <functional> -#include <memory> #include <string> #include "gsl/gsl" #include "nlohmann/json.hpp" -#include "src/buildtool/build_engine/base_maps/entity_name.hpp" +#include "src/buildtool/build_engine/base_maps/entity_name_data.hpp" #include "src/buildtool/build_engine/base_maps/expression_function.hpp" #include "src/buildtool/build_engine/base_maps/json_file_map.hpp" #include "src/buildtool/build_engine/base_maps/module_name.hpp" diff --git a/src/buildtool/build_engine/base_maps/field_reader.hpp b/src/buildtool/build_engine/base_maps/field_reader.hpp index a28999ab..df9682f9 100644 --- a/src/buildtool/build_engine/base_maps/field_reader.hpp +++ b/src/buildtool/build_engine/base_maps/field_reader.hpp @@ -15,7 +15,10 @@ #ifndef INCLUDED_SRC_BUILDTOOL_BUILD_ENGINE_BASE_MAPS_FIELD_READER_HPP #define INCLUDED_SRC_BUILDTOOL_BUILD_ENGINE_BASE_MAPS_FIELD_READER_HPP +#include <algorithm> #include <cstddef> +#include <functional> +#include <iterator> #include <memory> #include <optional> #include <string> @@ -27,7 +30,9 @@ #include "gsl/gsl" #include "nlohmann/json.hpp" #include "src/buildtool/build_engine/base_maps/entity_name.hpp" +#include "src/buildtool/build_engine/base_maps/entity_name_data.hpp" #include "src/buildtool/build_engine/expression/expression.hpp" +#include "src/buildtool/build_engine/expression/expression_ptr.hpp" #include "src/buildtool/common/repository_config.hpp" #include "src/buildtool/multithreading/async_map_consumer.hpp" diff --git a/src/buildtool/build_engine/base_maps/json_file_map.hpp b/src/buildtool/build_engine/base_maps/json_file_map.hpp index 61813c7b..ff068fb6 100644 --- a/src/buildtool/build_engine/base_maps/json_file_map.hpp +++ b/src/buildtool/build_engine/base_maps/json_file_map.hpp @@ -16,8 +16,8 @@ #define INCLUDED_SRC_BUILDTOOL_BUILD_ENGINE_BASE_MAPS_JSON_FILE_MAP_HPP #include <cstddef> +#include <exception> #include <filesystem> -#include <fstream> #include <string> #include <utility> // std::move @@ -26,6 +26,7 @@ #include "nlohmann/json.hpp" #include "src/buildtool/build_engine/base_maps/module_name.hpp" #include "src/buildtool/common/repository_config.hpp" +#include "src/buildtool/file_system/file_root.hpp" #include "src/buildtool/multithreading/async_map_consumer.hpp" namespace BuildMaps::Base { diff --git a/src/buildtool/build_engine/base_maps/module_name.hpp b/src/buildtool/build_engine/base_maps/module_name.hpp index 58498240..7dec1671 100644 --- a/src/buildtool/build_engine/base_maps/module_name.hpp +++ b/src/buildtool/build_engine/base_maps/module_name.hpp @@ -16,6 +16,7 @@ #define INCLUDED_SRC_BUILDTOOL_BUILD_ENGINE_BASE_MAPS_MODULE_NAME_HPP #include <cstddef> +#include <functional> #include <string> #include <utility> diff --git a/src/buildtool/build_engine/base_maps/rule_map.cpp b/src/buildtool/build_engine/base_maps/rule_map.cpp index 3e90749e..ec57c255 100644 --- a/src/buildtool/build_engine/base_maps/rule_map.cpp +++ b/src/buildtool/build_engine/base_maps/rule_map.cpp @@ -14,13 +14,20 @@ #include "src/buildtool/build_engine/base_maps/rule_map.hpp" +#include <functional> +#include <memory> #include <optional> #include <string> #include <unordered_set> #include <utility> // std::move +#include <vector> #include "fmt/core.h" +#include "src/buildtool/build_engine/base_maps/entity_name.hpp" +#include "src/buildtool/build_engine/base_maps/expression_function.hpp" #include "src/buildtool/build_engine/base_maps/field_reader.hpp" +#include "src/buildtool/build_engine/expression/expression.hpp" +#include "src/buildtool/build_engine/expression/expression_ptr.hpp" namespace BuildMaps::Base { diff --git a/src/buildtool/build_engine/base_maps/rule_map.hpp b/src/buildtool/build_engine/base_maps/rule_map.hpp index d911317c..4ab12e27 100644 --- a/src/buildtool/build_engine/base_maps/rule_map.hpp +++ b/src/buildtool/build_engine/base_maps/rule_map.hpp @@ -16,12 +16,10 @@ #define INCLUDED_SRC_BUILDTOOL_BUILD_ENGINE_BASE_MAPS_RULE_MAP_HPP #include <cstddef> -#include <memory> -#include <string> #include "gsl/gsl" #include "nlohmann/json.hpp" -#include "src/buildtool/build_engine/base_maps/entity_name.hpp" +#include "src/buildtool/build_engine/base_maps/entity_name_data.hpp" #include "src/buildtool/build_engine/base_maps/expression_map.hpp" #include "src/buildtool/build_engine/base_maps/json_file_map.hpp" #include "src/buildtool/build_engine/base_maps/module_name.hpp" diff --git a/src/buildtool/build_engine/base_maps/source_map.cpp b/src/buildtool/build_engine/base_maps/source_map.cpp index 8c716ac7..2ac79131 100644 --- a/src/buildtool/build_engine/base_maps/source_map.cpp +++ b/src/buildtool/build_engine/base_maps/source_map.cpp @@ -15,13 +15,24 @@ #include "src/buildtool/build_engine/base_maps/source_map.hpp" #include <filesystem> +#include <functional> +#include <memory> +#include <set> +#include <string> +#include <unordered_set> #include <utility> // std::move +#include <vector> +#include "fmt/core.h" #include "nlohmann/json.hpp" -#include "src/buildtool/common/artifact_digest.hpp" -#include "src/buildtool/file_system/object_type.hpp" +#include "src/buildtool/build_engine/analysed_target/target_graph_information.hpp" +#include "src/buildtool/build_engine/base_maps/module_name.hpp" +#include "src/buildtool/build_engine/expression/expression.hpp" +#include "src/buildtool/build_engine/expression/expression_ptr.hpp" +#include "src/buildtool/build_engine/expression/target_result.hpp" +#include "src/buildtool/common/action_description.hpp" +#include "src/buildtool/common/tree.hpp" #include "src/buildtool/multithreading/async_map_consumer.hpp" -#include "src/utils/cpp/json.hpp" namespace BuildMaps::Base { diff --git a/src/buildtool/build_engine/base_maps/source_map.hpp b/src/buildtool/build_engine/base_maps/source_map.hpp index a65de692..1b85ff65 100644 --- a/src/buildtool/build_engine/base_maps/source_map.hpp +++ b/src/buildtool/build_engine/base_maps/source_map.hpp @@ -16,18 +16,14 @@ #define INCLUDED_SRC_BUILDTOOL_BUILD_ENGINE_BASE_MAPS_SOURCE_MAP_HPP #include <cstddef> -#include <unordered_set> #include "gsl/gsl" -#include "nlohmann/json.hpp" #include "src/buildtool/build_engine/analysed_target/analysed_target.hpp" #include "src/buildtool/build_engine/base_maps/directory_map.hpp" -#include "src/buildtool/build_engine/base_maps/entity_name.hpp" -#include "src/buildtool/build_engine/expression/expression.hpp" +#include "src/buildtool/build_engine/base_maps/entity_name_data.hpp" #include "src/buildtool/common/repository_config.hpp" #include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/multithreading/async_map_consumer.hpp" -#include "src/buildtool/multithreading/task_system.hpp" namespace BuildMaps::Base { diff --git a/src/buildtool/build_engine/base_maps/targets_file_map.hpp b/src/buildtool/build_engine/base_maps/targets_file_map.hpp index 8ff5d76c..e8dcbe75 100644 --- a/src/buildtool/build_engine/base_maps/targets_file_map.hpp +++ b/src/buildtool/build_engine/base_maps/targets_file_map.hpp @@ -15,12 +15,13 @@ #ifndef INCLUDED_SRC_BUILDTOOL_BUILD_ENGINE_BASE_MAPS_TARGETS_FILE_MAP_HPP #define INCLUDED_SRC_BUILDTOOL_BUILD_ENGINE_BASE_MAPS_TARGETS_FILE_MAP_HPP -#include <filesystem> -#include <string> +#include <cstddef> +#include "gsl/gsl" #include "nlohmann/json.hpp" #include "src/buildtool/build_engine/base_maps/json_file_map.hpp" #include "src/buildtool/build_engine/base_maps/module_name.hpp" +#include "src/buildtool/common/repository_config.hpp" #include "src/buildtool/multithreading/async_map_consumer.hpp" namespace BuildMaps::Base { diff --git a/src/buildtool/build_engine/base_maps/user_rule.hpp b/src/buildtool/build_engine/base_maps/user_rule.hpp index c2d46420..020e7433 100644 --- a/src/buildtool/build_engine/base_maps/user_rule.hpp +++ b/src/buildtool/build_engine/base_maps/user_rule.hpp @@ -16,7 +16,10 @@ #define INCLUDED_SRC_BUILDTOOL_BUILD_ENGINE_BASE_MAPS_USER_RULE_HPP #include <algorithm> +#include <compare> #include <cstddef> +#include <functional> +#include <iterator> #include <memory> #include <set> #include <sstream> @@ -28,9 +31,9 @@ #include "fmt/core.h" #include "gsl/gsl" -#include "src/buildtool/build_engine/base_maps/entity_name.hpp" +#include "src/buildtool/build_engine/base_maps/entity_name_data.hpp" #include "src/buildtool/build_engine/base_maps/expression_function.hpp" -#include "src/buildtool/build_engine/expression/expression.hpp" +#include "src/buildtool/build_engine/expression/expression_ptr.hpp" #include "src/utils/cpp/concepts.hpp" #include "src/utils/cpp/gsl.hpp" diff --git a/src/buildtool/build_engine/expression/TARGETS b/src/buildtool/build_engine/expression/TARGETS index ff615020..0e5e38c1 100644 --- a/src/buildtool/build_engine/expression/TARGETS +++ b/src/buildtool/build_engine/expression/TARGETS @@ -5,7 +5,6 @@ , "deps": [ ["@", "fmt", "", "fmt"] , ["src/buildtool/multithreading", "atomic_value"] - , ["src/utils/cpp", "atomic"] , ["src/utils/cpp", "hash_combine"] ] , "stage": ["src", "buildtool", "build_engine", "expression"] @@ -42,24 +41,25 @@ , "deps": [ "expression_ptr_interface" , "linked_map" - , ["@", "gsl", "", "gsl"] , ["@", "json", "", "json"] , ["src/buildtool/build_engine/base_maps", "entity_name_data"] , ["src/buildtool/common", "artifact_description"] + , ["src/buildtool/common", "common"] , ["src/buildtool/crypto", "hash_function"] , ["src/buildtool/multithreading", "atomic_value"] , ["src/utils/cpp", "concepts"] , ["src/utils/cpp", "gsl"] , ["src/utils/cpp", "hash_combine"] , ["src/utils/cpp", "hex_string"] - , ["src/utils/cpp", "json"] ] , "stage": ["src", "buildtool", "build_engine", "expression"] , "private-deps": [ ["@", "fmt", "", "fmt"] + , ["@", "gsl", "", "gsl"] , ["src/buildtool/crypto", "hasher"] , ["src/buildtool/logging", "log_level"] , ["src/buildtool/logging", "logging"] + , ["src/utils/cpp", "json"] , ["src/utils/cpp", "path"] ] } diff --git a/src/buildtool/build_engine/expression/configuration.hpp b/src/buildtool/build_engine/expression/configuration.hpp index 15f8c379..ec3fde66 100644 --- a/src/buildtool/build_engine/expression/configuration.hpp +++ b/src/buildtool/build_engine/expression/configuration.hpp @@ -17,12 +17,16 @@ #include <algorithm> #include <cstddef> +#include <functional> +#include <optional> #include <sstream> #include <string> #include <utility> // std::move +#include <vector> -#include "gsl/gsl" +#include "nlohmann/json.hpp" #include "src/buildtool/build_engine/expression/expression.hpp" +#include "src/buildtool/build_engine/expression/expression_ptr.hpp" #include "src/utils/cpp/concepts.hpp" #include "src/utils/cpp/gsl.hpp" diff --git a/src/buildtool/build_engine/expression/evaluator.cpp b/src/buildtool/build_engine/expression/evaluator.cpp index dfae8499..e26c43e0 100644 --- a/src/buildtool/build_engine/expression/evaluator.cpp +++ b/src/buildtool/build_engine/expression/evaluator.cpp @@ -15,16 +15,26 @@ #include "src/buildtool/build_engine/expression/evaluator.hpp" #include <algorithm> +#include <cmath> +#include <compare> +#include <cstdint> +#include <cstdlib> #include <exception> #include <filesystem> +#include <iterator> +#include <map> +#include <optional> #include <sstream> #include <string> #include <unordered_set> #include <utility> // std::move #include "fmt/core.h" +#include "nlohmann/json.hpp" #include "src/buildtool/build_engine/expression/configuration.hpp" +#include "src/buildtool/build_engine/expression/expression.hpp" #include "src/buildtool/build_engine/expression/function_map.hpp" +#include "src/buildtool/build_engine/expression/linked_map.hpp" #include "src/utils/cpp/path.hpp" namespace { diff --git a/src/buildtool/build_engine/expression/evaluator.hpp b/src/buildtool/build_engine/expression/evaluator.hpp index ba9bd2ef..4affb16b 100644 --- a/src/buildtool/build_engine/expression/evaluator.hpp +++ b/src/buildtool/build_engine/expression/evaluator.hpp @@ -17,15 +17,14 @@ #include <cstddef> #include <exception> +#include <functional> #include <string> #include <utility> #include <vector> -#include "src/buildtool/build_engine/expression/expression.hpp" +#include "src/buildtool/build_engine/expression/expression_ptr.hpp" #include "src/buildtool/build_engine/expression/function_map.hpp" -class Configuration; - class Evaluator { struct ConfigData { std::size_t expression_log_limit{kDefaultExpressionLogLimit}; diff --git a/src/buildtool/build_engine/expression/expression.cpp b/src/buildtool/build_engine/expression/expression.cpp index 4dd61a2d..17e25fc6 100644 --- a/src/buildtool/build_engine/expression/expression.cpp +++ b/src/buildtool/build_engine/expression/expression.cpp @@ -15,18 +15,13 @@ #include "src/buildtool/build_engine/expression/expression.hpp" #include <algorithm> -#include <exception> +#include <iterator> #include <optional> -#include <sstream> #include <string> -#include <type_traits> #include "fmt/core.h" -#include "gsl/gsl" -#include "src/buildtool/build_engine/expression/evaluator.hpp" #include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/crypto/hasher.hpp" -#include "src/buildtool/logging/logger.hpp" #include "src/utils/cpp/gsl.hpp" #include "src/utils/cpp/json.hpp" diff --git a/src/buildtool/build_engine/expression/expression.hpp b/src/buildtool/build_engine/expression/expression.hpp index b28fec51..1f3d2d88 100644 --- a/src/buildtool/build_engine/expression/expression.hpp +++ b/src/buildtool/build_engine/expression/expression.hpp @@ -15,11 +15,12 @@ #ifndef INCLUDED_SRC_BUILDTOOL_BUILD_ENGINE_EXPRESSION_EXPRESSION_HPP #define INCLUDED_SRC_BUILDTOOL_BUILD_ENGINE_EXPRESSION_EXPRESSION_HPP +#include <algorithm> #include <cstddef> #include <cstdint> +#include <cstring> #include <exception> #include <functional> -#include <memory> #include <optional> #include <string> #include <type_traits> @@ -28,17 +29,15 @@ #include <vector> #include "fmt/core.h" -#include "gsl/gsl" +#include "nlohmann/json.hpp" #include "src/buildtool/build_engine/base_maps/entity_name_data.hpp" #include "src/buildtool/build_engine/expression/expression_ptr.hpp" -#include "src/buildtool/build_engine/expression/function_map.hpp" #include "src/buildtool/build_engine/expression/linked_map.hpp" #include "src/buildtool/build_engine/expression/target_node.hpp" #include "src/buildtool/build_engine/expression/target_result.hpp" #include "src/buildtool/common/artifact_description.hpp" #include "src/buildtool/multithreading/atomic_value.hpp" #include "src/utils/cpp/hex_string.hpp" -#include "src/utils/cpp/json.hpp" class Expression { friend auto operator+(Expression const& /*lhs*/, diff --git a/src/buildtool/build_engine/expression/expression_ptr.cpp b/src/buildtool/build_engine/expression/expression_ptr.cpp index 0d3ce649..cd39c45e 100644 --- a/src/buildtool/build_engine/expression/expression_ptr.cpp +++ b/src/buildtool/build_engine/expression/expression_ptr.cpp @@ -14,6 +14,7 @@ #include "src/buildtool/build_engine/expression/expression_ptr.hpp" +#include <compare> #include <string> #include <utility> // std::move diff --git a/src/buildtool/build_engine/expression/expression_ptr.hpp b/src/buildtool/build_engine/expression/expression_ptr.hpp index c1ab6066..4fa3964d 100644 --- a/src/buildtool/build_engine/expression/expression_ptr.hpp +++ b/src/buildtool/build_engine/expression/expression_ptr.hpp @@ -20,6 +20,7 @@ #include <memory> #include <string> #include <type_traits> +#include <utility> #include "nlohmann/json.hpp" #include "src/buildtool/build_engine/expression/function_map.hpp" @@ -27,7 +28,6 @@ #include "src/buildtool/logging/log_level.hpp" #include "src/buildtool/logging/logger.hpp" -class Configuration; class Expression; class ExpressionPtr { diff --git a/src/buildtool/build_engine/expression/linked_map.hpp b/src/buildtool/build_engine/expression/linked_map.hpp index 1f66ab3c..1eaca5dd 100644 --- a/src/buildtool/build_engine/expression/linked_map.hpp +++ b/src/buildtool/build_engine/expression/linked_map.hpp @@ -15,19 +15,19 @@ #ifndef INCLUDED_SRC_BUILDTOOL_BUILD_ENGINE_EXPRESSION_LINKED_MAP_HPP #define INCLUDED_SRC_BUILDTOOL_BUILD_ENGINE_EXPRESSION_LINKED_MAP_HPP -#include <algorithm> -#include <atomic> -#include <condition_variable> #include <cstddef> +#include <functional> +#include <iterator> #include <map> #include <memory> -#include <mutex> +#include <optional> +#include <stdexcept> +#include <type_traits> #include <utility> // std::move #include <vector> #include "fmt/core.h" #include "src/buildtool/multithreading/atomic_value.hpp" -#include "src/utils/cpp/atomic.hpp" #include "src/utils/cpp/hash_combine.hpp" template <class K, class V, class NextPtr> diff --git a/src/buildtool/build_engine/expression/target_node.hpp b/src/buildtool/build_engine/expression/target_node.hpp index 1e7cbd2e..955a6fb7 100644 --- a/src/buildtool/build_engine/expression/target_node.hpp +++ b/src/buildtool/build_engine/expression/target_node.hpp @@ -15,12 +15,12 @@ #ifndef INCLUDED_SRC_BUILDTOOL_BUILDENGINE_EXPRESSION_TARGET_NODE_HPP #define INCLUDED_SRC_BUILDTOOL_BUILDENGINE_EXPRESSION_TARGET_NODE_HPP -#include <type_traits> -#include <utility> // std::move +#include <string> +#include <utility> // IWYU pragma: keep #include <variant> +#include "nlohmann/json.hpp" #include "src/buildtool/build_engine/expression/expression_ptr.hpp" -#include "src/buildtool/build_engine/expression/target_result.hpp" class TargetNode { using Value = ExpressionPtr; // store result type diff --git a/src/buildtool/build_engine/expression/target_result.cpp b/src/buildtool/build_engine/expression/target_result.cpp index c95a803f..bb5712b1 100644 --- a/src/buildtool/build_engine/expression/target_result.cpp +++ b/src/buildtool/build_engine/expression/target_result.cpp @@ -14,6 +14,9 @@ #include "src/buildtool/build_engine/expression/target_result.hpp" +#include <exception> +#include <stdexcept> +#include <string> #include <unordered_map> #include <unordered_set> #include <utility> // std::move @@ -21,9 +24,13 @@ #include "gsl/gsl" #include "src/buildtool/build_engine/expression/expression.hpp" +#include "src/buildtool/build_engine/expression/target_node.hpp" +#include "src/buildtool/common/artifact.hpp" #include "src/buildtool/common/artifact_description.hpp" +#include "src/buildtool/common/artifact_digest.hpp" #include "src/buildtool/logging/log_level.hpp" #include "src/buildtool/logging/logger.hpp" +#include "src/utils/cpp/hex_string.hpp" namespace { diff --git a/src/buildtool/build_engine/expression/target_result.hpp b/src/buildtool/build_engine/expression/target_result.hpp index 4a698fc4..bda00ce5 100644 --- a/src/buildtool/build_engine/expression/target_result.hpp +++ b/src/buildtool/build_engine/expression/target_result.hpp @@ -16,11 +16,13 @@ #define INCLUDED_SRC_BUILDTOOL_BUILDENGINE_EXPRESSION_TARGET_RESULT_HPP #include <cstddef> +#include <functional> #include <optional> #include <unordered_map> #include "nlohmann/json.hpp" #include "src/buildtool/build_engine/expression/expression_ptr.hpp" +#include "src/buildtool/common/artifact.hpp" #include "src/buildtool/common/artifact_description.hpp" #include "src/buildtool/crypto/hash_function.hpp" #include "src/utils/cpp/hash_combine.hpp" diff --git a/src/buildtool/build_engine/target_map/TARGETS b/src/buildtool/build_engine/target_map/TARGETS index 17b79476..deb7f09f 100644 --- a/src/buildtool/build_engine/target_map/TARGETS +++ b/src/buildtool/build_engine/target_map/TARGETS @@ -18,19 +18,19 @@ , "deps": [ ["@", "gsl", "", "gsl"] , ["@", "json", "", "json"] + , ["src/buildtool/build_engine/analysed_target", "graph_information"] , ["src/buildtool/build_engine/analysed_target", "target"] - , ["src/buildtool/build_engine/base_maps", "entity_name"] + , ["src/buildtool/build_engine/base_maps", "entity_name_data"] , ["src/buildtool/build_engine/expression", "expression"] , ["src/buildtool/build_engine/target_map", "configured_target"] + , ["src/buildtool/common", "action_description"] , ["src/buildtool/common", "common"] , ["src/buildtool/common", "tree"] , ["src/buildtool/logging", "log_level"] , ["src/buildtool/logging", "logging"] - , ["src/buildtool/multithreading", "task"] , ["src/buildtool/multithreading", "task_system"] , ["src/buildtool/progress_reporting", "progress"] , ["src/buildtool/storage", "storage"] - , ["src/utils/cpp", "hash_combine"] ] , "stage": ["src", "buildtool", "build_engine", "target_map"] } @@ -47,6 +47,7 @@ , ["@", "gsl", "", "gsl"] , ["@", "json", "", "json"] , ["src/buildtool/build_engine/analysed_target", "target"] + , ["src/buildtool/build_engine/base_maps", "directory_map"] , ["src/buildtool/build_engine/base_maps", "rule_map"] , ["src/buildtool/build_engine/base_maps", "source_map"] , ["src/buildtool/build_engine/base_maps", "targets_file_map"] @@ -56,20 +57,31 @@ , "stage": ["src", "buildtool", "build_engine", "target_map"] , "private-deps": [ ["@", "fmt", "", "fmt"] + , ["src/buildtool/build_engine/analysed_target", "graph_information"] , ["src/buildtool/build_engine/base_maps", "entity_name"] + , ["src/buildtool/build_engine/base_maps", "entity_name_data"] + , ["src/buildtool/build_engine/base_maps", "expression_function"] , ["src/buildtool/build_engine/base_maps", "field_reader"] + , ["src/buildtool/build_engine/base_maps", "module_name"] + , ["src/buildtool/build_engine/base_maps", "user_rule"] , ["src/buildtool/build_engine/expression", "expression"] , ["src/buildtool/build_engine/expression", "expression_ptr_interface"] + , ["src/buildtool/build_engine/expression", "linked_map"] + , ["src/buildtool/common", "action_description"] , ["src/buildtool/common", "artifact_description"] , ["src/buildtool/common", "artifact_digest_factory"] , ["src/buildtool/common", "common"] , ["src/buildtool/common", "config"] + , ["src/buildtool/common", "tree"] , ["src/buildtool/crypto", "hash_function"] , ["src/buildtool/crypto", "hasher"] + , ["src/buildtool/file_system", "file_root"] + , ["src/buildtool/file_system", "object_type"] , ["src/buildtool/logging", "log_level"] , ["src/buildtool/logging", "logging"] + , ["src/buildtool/multithreading", "task_system"] , ["src/buildtool/progress_reporting", "progress"] - , ["src/buildtool/serve_api/remote", "config"] + , ["src/buildtool/progress_reporting", "task_tracker"] , ["src/buildtool/serve_api/remote", "serve_api"] , ["src/buildtool/storage", "storage"] , ["src/utils/cpp", "gsl"] @@ -89,11 +101,12 @@ , "target_map" , ["@", "gsl", "", "gsl"] , ["src/buildtool/build_engine/analysed_target", "target"] - , ["src/buildtool/build_engine/base_maps", "entity_name"] - , ["src/buildtool/build_engine/base_maps", "field_reader"] + , ["src/buildtool/build_engine/base_maps", "entity_name_data"] , ["src/buildtool/build_engine/expression", "expression"] , ["src/buildtool/build_engine/expression", "expression_ptr_interface"] + , ["src/buildtool/common", "action_description"] , ["src/buildtool/common", "config"] + , ["src/buildtool/common", "tree"] ] , "stage": ["src", "buildtool", "build_engine", "target_map"] } @@ -113,12 +126,18 @@ ] , "stage": ["src", "buildtool", "build_engine", "target_map"] , "private-deps": - [ ["@", "json", "", "json"] + [ ["@", "fmt", "", "fmt"] + , ["src/buildtool/build_engine/analysed_target", "graph_information"] + , ["src/buildtool/build_engine/base_maps", "entity_name_data"] + , ["src/buildtool/build_engine/expression", "expression"] + , ["src/buildtool/common", "action_description"] , ["src/buildtool/common", "common"] , ["src/buildtool/common", "config"] + , ["src/buildtool/common", "tree"] , ["src/buildtool/logging", "log_level"] , ["src/buildtool/logging", "logging"] , ["src/buildtool/progress_reporting", "progress"] + , ["src/buildtool/progress_reporting", "task_tracker"] , ["src/buildtool/serve_api/remote", "serve_api"] , ["src/buildtool/storage", "storage"] , ["src/utils/cpp", "json"] diff --git a/src/buildtool/build_engine/target_map/absent_target_map.cpp b/src/buildtool/build_engine/target_map/absent_target_map.cpp index bdf66019..8de5a97a 100644 --- a/src/buildtool/build_engine/target_map/absent_target_map.cpp +++ b/src/buildtool/build_engine/target_map/absent_target_map.cpp @@ -14,24 +14,36 @@ #include "src/buildtool/build_engine/target_map/absent_target_map.hpp" #ifndef BOOTSTRAP_BUILD_TOOL +#include <filesystem> +#include <memory> +#include <optional> +#include <set> #include <unordered_set> #include <utility> // std::move +#include <variant> -#include "nlohmann/json.hpp" +#include "fmt/core.h" +#include "src/buildtool/build_engine/analysed_target/target_graph_information.hpp" +#include "src/buildtool/build_engine/base_maps/entity_name_data.hpp" +#include "src/buildtool/build_engine/expression/configuration.hpp" +#include "src/buildtool/common/action_description.hpp" +#include "src/buildtool/common/artifact.hpp" +#include "src/buildtool/common/artifact_digest.hpp" #include "src/buildtool/common/repository_config.hpp" #include "src/buildtool/common/statistics.hpp" +#include "src/buildtool/common/tree.hpp" #include "src/buildtool/logging/log_level.hpp" #include "src/buildtool/logging/logger.hpp" #include "src/buildtool/progress_reporting/progress.hpp" +#include "src/buildtool/progress_reporting/task_tracker.hpp" #include "src/buildtool/serve_api/remote/serve_api.hpp" #include "src/buildtool/storage/storage.hpp" -#include "src/buildtool/storage/target_cache.hpp" +#include "src/buildtool/storage/target_cache_entry.hpp" #include "src/buildtool/storage/target_cache_key.hpp" #include "src/utils/cpp/json.hpp" -#endif +#endif // BOOTSTRAP_BUILD_TOOL #ifndef BOOTSTRAP_BUILD_TOOL - namespace { void WithFlexibleVariables( const gsl::not_null<AnalyseContext*>& context, diff --git a/src/buildtool/build_engine/target_map/built_in_rules.cpp b/src/buildtool/build_engine/target_map/built_in_rules.cpp index 9623f816..220502c4 100644 --- a/src/buildtool/build_engine/target_map/built_in_rules.cpp +++ b/src/buildtool/build_engine/target_map/built_in_rules.cpp @@ -15,27 +15,45 @@ #include "src/buildtool/build_engine/target_map/built_in_rules.hpp" #include <algorithm> +#include <compare> #include <cstddef> #include <filesystem> #include <functional> +#include <initializer_list> #include <iterator> #include <memory> +#include <optional> +#include <set> #include <sstream> #include <string> +#include <type_traits> #include <unordered_map> #include <unordered_set> #include <utility> // std::move +#include <vector> #include "fmt/core.h" +#include "src/buildtool/build_engine/analysed_target/analysed_target.hpp" +#include "src/buildtool/build_engine/analysed_target/target_graph_information.hpp" +#include "src/buildtool/build_engine/base_maps/entity_name.hpp" +#include "src/buildtool/build_engine/base_maps/entity_name_data.hpp" #include "src/buildtool/build_engine/base_maps/field_reader.hpp" +#include "src/buildtool/build_engine/expression/configuration.hpp" #include "src/buildtool/build_engine/expression/evaluator.hpp" #include "src/buildtool/build_engine/expression/expression.hpp" #include "src/buildtool/build_engine/expression/expression_ptr.hpp" +#include "src/buildtool/build_engine/expression/function_map.hpp" +#include "src/buildtool/build_engine/expression/linked_map.hpp" +#include "src/buildtool/build_engine/expression/target_result.hpp" #include "src/buildtool/build_engine/target_map/export.hpp" #include "src/buildtool/build_engine/target_map/utils.hpp" +#include "src/buildtool/common/action_description.hpp" #include "src/buildtool/common/artifact_description.hpp" #include "src/buildtool/common/artifact_digest_factory.hpp" #include "src/buildtool/common/repository_config.hpp" +#include "src/buildtool/common/tree.hpp" +#include "src/buildtool/file_system/object_type.hpp" +#include "src/buildtool/storage/storage.hpp" #include "src/utils/cpp/path.hpp" #include "src/utils/cpp/vector.hpp" diff --git a/src/buildtool/build_engine/target_map/configured_target.hpp b/src/buildtool/build_engine/target_map/configured_target.hpp index dc1f981e..8e8c6033 100644 --- a/src/buildtool/build_engine/target_map/configured_target.hpp +++ b/src/buildtool/build_engine/target_map/configured_target.hpp @@ -16,7 +16,9 @@ #define INCLUDED_SRC_BUILDTOOL_BUILD_ENGINE_TARGET_MAP_CONFIGURED_TARGET_HPP #include <cstddef> +#include <functional> #include <memory> +#include <string> #include "fmt/core.h" #include "src/buildtool/build_engine/base_maps/entity_name_data.hpp" diff --git a/src/buildtool/build_engine/target_map/export.cpp b/src/buildtool/build_engine/target_map/export.cpp index 23ffe641..c6e5d740 100644 --- a/src/buildtool/build_engine/target_map/export.cpp +++ b/src/buildtool/build_engine/target_map/export.cpp @@ -14,22 +14,42 @@ #include "src/buildtool/build_engine/target_map/export.hpp" +#include <functional> +#include <memory> +#include <optional> +#include <set> +#include <string> +#include <type_traits> #include <unordered_set> #include <utility> // std::move +#include <variant> +#include <vector> +#include "fmt/core.h" #include "nlohmann/json.hpp" +#include "src/buildtool/build_engine/analysed_target/analysed_target.hpp" +#include "src/buildtool/build_engine/analysed_target/target_graph_information.hpp" +#include "src/buildtool/build_engine/base_maps/entity_name.hpp" +#include "src/buildtool/build_engine/base_maps/entity_name_data.hpp" #include "src/buildtool/build_engine/base_maps/field_reader.hpp" #include "src/buildtool/build_engine/expression/configuration.hpp" +#include "src/buildtool/build_engine/expression/expression.hpp" +#include "src/buildtool/build_engine/expression/expression_ptr.hpp" +#include "src/buildtool/build_engine/expression/target_result.hpp" +#include "src/buildtool/common/action_description.hpp" +#include "src/buildtool/common/artifact_digest.hpp" #include "src/buildtool/common/repository_config.hpp" #include "src/buildtool/common/statistics.hpp" +#include "src/buildtool/common/tree.hpp" #include "src/buildtool/logging/log_level.hpp" #include "src/buildtool/logging/logger.hpp" #include "src/buildtool/progress_reporting/progress.hpp" +#include "src/buildtool/progress_reporting/task_tracker.hpp" #include "src/buildtool/storage/storage.hpp" -#include "src/buildtool/storage/target_cache.hpp" +#include "src/buildtool/storage/target_cache_entry.hpp" +#include "src/buildtool/storage/target_cache_key.hpp" #include "src/utils/cpp/json.hpp" #ifndef BOOTSTRAP_BUILD_TOOL -#include "src/buildtool/serve_api/remote/config.hpp" #include "src/buildtool/serve_api/remote/serve_api.hpp" #endif // BOOTSTRAP_BUILD_TOOL diff --git a/src/buildtool/build_engine/target_map/result_map.hpp b/src/buildtool/build_engine/target_map/result_map.hpp index 3e144628..9d688823 100644 --- a/src/buildtool/build_engine/target_map/result_map.hpp +++ b/src/buildtool/build_engine/target_map/result_map.hpp @@ -16,12 +16,19 @@ #define INCLUDED_SRC_BUILDTOOL_BUILD_ENGINE_TARGET_MAP_RESULT_MAP_HPP #include <algorithm> +#include <compare> #include <cstddef> #include <fstream> +#include <functional> +#include <iomanip> +#include <iterator> +#include <memory> #include <mutex> +#include <numeric> #include <optional> #include <string> #include <thread> +#include <unordered_map> #include <unordered_set> #include <utility> // std::move #include <vector> @@ -29,19 +36,19 @@ #include "gsl/gsl" #include "nlohmann/json.hpp" #include "src/buildtool/build_engine/analysed_target/analysed_target.hpp" -#include "src/buildtool/build_engine/base_maps/entity_name.hpp" -#include "src/buildtool/build_engine/expression/expression.hpp" +#include "src/buildtool/build_engine/analysed_target/target_graph_information.hpp" +#include "src/buildtool/build_engine/base_maps/entity_name_data.hpp" +#include "src/buildtool/build_engine/expression/configuration.hpp" #include "src/buildtool/build_engine/target_map/configured_target.hpp" +#include "src/buildtool/common/action_description.hpp" +#include "src/buildtool/common/identifier.hpp" #include "src/buildtool/common/statistics.hpp" #include "src/buildtool/common/tree.hpp" #include "src/buildtool/logging/log_level.hpp" #include "src/buildtool/logging/logger.hpp" -#include "src/buildtool/multithreading/task.hpp" #include "src/buildtool/multithreading/task_system.hpp" #include "src/buildtool/progress_reporting/progress.hpp" -#include "src/buildtool/storage/target_cache.hpp" #include "src/buildtool/storage/target_cache_key.hpp" -#include "src/utils/cpp/hash_combine.hpp" namespace BuildMaps::Target { diff --git a/src/buildtool/build_engine/target_map/target_map.cpp b/src/buildtool/build_engine/target_map/target_map.cpp index 961cdc73..ab33f6f2 100644 --- a/src/buildtool/build_engine/target_map/target_map.cpp +++ b/src/buildtool/build_engine/target_map/target_map.cpp @@ -14,44 +14,64 @@ #include "src/buildtool/build_engine/target_map/target_map.hpp" +#ifdef __unix__ +#include <fnmatch.h> +#else +#error "Non-unix is not supported yet" +#endif + #include <algorithm> +#include <compare> #include <cstdint> +#include <filesystem> +#include <iterator> #include <memory> +#include <optional> #include <set> #include <sstream> #include <string> +#include <type_traits> #include <unordered_map> #include <unordered_set> #include <utility> - -#ifdef __unix__ -#include <fnmatch.h> -#else -#error "Non-unix is not supported yet" -#endif +#include <variant> +#include <vector> #include "fmt/core.h" +#include "src/buildtool/build_engine/analysed_target/target_graph_information.hpp" +#include "src/buildtool/build_engine/base_maps/entity_name.hpp" +#include "src/buildtool/build_engine/base_maps/entity_name_data.hpp" +#include "src/buildtool/build_engine/base_maps/expression_function.hpp" #include "src/buildtool/build_engine/base_maps/field_reader.hpp" +#include "src/buildtool/build_engine/base_maps/module_name.hpp" +#include "src/buildtool/build_engine/base_maps/user_rule.hpp" #include "src/buildtool/build_engine/expression/configuration.hpp" #include "src/buildtool/build_engine/expression/evaluator.hpp" #include "src/buildtool/build_engine/expression/expression.hpp" +#include "src/buildtool/build_engine/expression/expression_ptr.hpp" #include "src/buildtool/build_engine/expression/function_map.hpp" +#include "src/buildtool/build_engine/expression/linked_map.hpp" +#include "src/buildtool/build_engine/expression/target_node.hpp" +#include "src/buildtool/build_engine/expression/target_result.hpp" #include "src/buildtool/build_engine/target_map/built_in_rules.hpp" #include "src/buildtool/build_engine/target_map/utils.hpp" +#include "src/buildtool/common/action_description.hpp" #include "src/buildtool/common/artifact_description.hpp" #include "src/buildtool/common/artifact_digest_factory.hpp" #include "src/buildtool/common/repository_config.hpp" #include "src/buildtool/common/statistics.hpp" +#include "src/buildtool/common/tree.hpp" #include "src/buildtool/crypto/hash_function.hpp" +#include "src/buildtool/file_system/file_root.hpp" +#include "src/buildtool/file_system/object_type.hpp" #include "src/buildtool/logging/log_level.hpp" #include "src/buildtool/logging/logger.hpp" +#include "src/buildtool/multithreading/task_system.hpp" #include "src/buildtool/storage/storage.hpp" #include "src/utils/cpp/gsl.hpp" #include "src/utils/cpp/path.hpp" #include "src/utils/cpp/vector.hpp" - #ifndef BOOTSTRAP_BUILD_TOOL -#include "src/buildtool/serve_api/remote/config.hpp" #include "src/buildtool/serve_api/remote/serve_api.hpp" #endif // BOOTSTRAP_BUILD_TOOL diff --git a/src/buildtool/build_engine/target_map/target_map.hpp b/src/buildtool/build_engine/target_map/target_map.hpp index d411da1c..ef557100 100644 --- a/src/buildtool/build_engine/target_map/target_map.hpp +++ b/src/buildtool/build_engine/target_map/target_map.hpp @@ -22,6 +22,7 @@ #include "gsl/gsl" #include "nlohmann/json.hpp" #include "src/buildtool/build_engine/analysed_target/analysed_target.hpp" +#include "src/buildtool/build_engine/base_maps/directory_map.hpp" #include "src/buildtool/build_engine/base_maps/rule_map.hpp" #include "src/buildtool/build_engine/base_maps/source_map.hpp" #include "src/buildtool/build_engine/base_maps/targets_file_map.hpp" diff --git a/src/buildtool/build_engine/target_map/utils.cpp b/src/buildtool/build_engine/target_map/utils.cpp index 8a8af17c..0ecda4ce 100644 --- a/src/buildtool/build_engine/target_map/utils.cpp +++ b/src/buildtool/build_engine/target_map/utils.cpp @@ -17,10 +17,20 @@ #include <algorithm> #include <cstddef> #include <filesystem> +#include <functional> +#include <map> +#include <memory> #include <unordered_set> #include <utility> // std::move #include <vector> +#include "fmt/core.h" +#include "src/buildtool/build_engine/base_maps/entity_name.hpp" +#include "src/buildtool/build_engine/expression/evaluator.hpp" +#include "src/buildtool/build_engine/expression/expression.hpp" +#include "src/buildtool/build_engine/expression/linked_map.hpp" +#include "src/buildtool/common/action.hpp" +#include "src/buildtool/common/artifact_description.hpp" #include "src/buildtool/crypto/hash_function.hpp" #include "src/buildtool/crypto/hasher.hpp" #include "src/utils/cpp/path.hpp" diff --git a/src/buildtool/build_engine/target_map/utils.hpp b/src/buildtool/build_engine/target_map/utils.hpp index 9ffd6374..e7d177c9 100644 --- a/src/buildtool/build_engine/target_map/utils.hpp +++ b/src/buildtool/build_engine/target_map/utils.hpp @@ -16,19 +16,23 @@ #define INCLUDED_SRC_BUILDTOOL_BUILD_ENGINE_TARGET_MAP_UTILS_HPP #include <optional> +#include <set> +#include <string> #include <unordered_map> #include <variant> +#include <vector> #include "gsl/gsl" #include "src/buildtool/build_engine/analysed_target/analysed_target.hpp" -#include "src/buildtool/build_engine/base_maps/entity_name.hpp" -#include "src/buildtool/build_engine/base_maps/field_reader.hpp" +#include "src/buildtool/build_engine/base_maps/entity_name_data.hpp" #include "src/buildtool/build_engine/expression/configuration.hpp" -#include "src/buildtool/build_engine/expression/evaluator.hpp" +#include "src/buildtool/build_engine/expression/expression_ptr.hpp" #include "src/buildtool/build_engine/expression/function_map.hpp" #include "src/buildtool/build_engine/target_map/configured_target.hpp" #include "src/buildtool/build_engine/target_map/target_map.hpp" +#include "src/buildtool/common/action_description.hpp" #include "src/buildtool/common/repository_config.hpp" +#include "src/buildtool/common/tree.hpp" namespace BuildMaps::Target::Utils { diff --git a/src/utils/cpp/path_hash.hpp b/src/utils/cpp/path_hash.hpp index 2f433c30..15587be9 100644 --- a/src/utils/cpp/path_hash.hpp +++ b/src/utils/cpp/path_hash.hpp @@ -15,14 +15,17 @@ #ifndef INCLUDED_SRC_UTILS_CPP_PATH_HASH_HPP #define INCLUDED_SRC_UTILS_CPP_PATH_HASH_HPP -#include <cstddef> -#include <filesystem> +// IWYU pragma: always_keep // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) #define GLIBCXX_11_4 20230528 // gcc/DATESTAMP of version 11.4 #if (defined(__GLIBCXX__) and _GLIBCXX_RELEASE < 12 and \ !(_GLIBCXX_RELEASE == 11 and __GLIBCXX__ >= GLIBCXX_11_4)) or \ (defined(_LIBCPP_VERSION) and _LIBCPP_VERSION < 16000) + +#include <cstddef> +#include <filesystem> + // std::hash<std::filesystem::path> is missing for // - GNU's libstdc++ < 11.4 // - LLVM's libcxx < 16 (see https://reviews.llvm.org/D125394) |