diff options
Diffstat (limited to 'src/buildtool/build_engine/expression')
12 files changed, 43 insertions, 26 deletions
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" |