summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/buildtool/main/TARGETS74
-rw-r--r--src/buildtool/main/add_to_cas.cpp5
-rw-r--r--src/buildtool/main/analyse.cpp21
-rw-r--r--src/buildtool/main/analyse.hpp1
-rw-r--r--src/buildtool/main/archive.cpp8
-rw-r--r--src/buildtool/main/build_utils.cpp10
-rw-r--r--src/buildtool/main/build_utils.hpp6
-rw-r--r--src/buildtool/main/cli.cpp4
-rw-r--r--src/buildtool/main/describe.cpp14
-rw-r--r--src/buildtool/main/describe.hpp3
-rw-r--r--src/buildtool/main/diagnose.cpp16
-rw-r--r--src/buildtool/main/install_cas.cpp22
-rw-r--r--src/buildtool/main/main.cpp22
-rw-r--r--src/buildtool/main/retry.cpp1
-rw-r--r--src/buildtool/main/serve.cpp9
-rw-r--r--src/buildtool/main/version.cpp2
16 files changed, 184 insertions, 34 deletions
diff --git a/src/buildtool/main/TARGETS b/src/buildtool/main/TARGETS
index 04a3b092..6ee7c829 100644
--- a/src/buildtool/main/TARGETS
+++ b/src/buildtool/main/TARGETS
@@ -21,11 +21,18 @@
, ["@", "gsl", "", "gsl"]
, ["@", "json", "", "json"]
, ["src/buildtool/auth", "auth"]
+ , ["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/expression", "expression_ptr_interface"]
+ , ["src/buildtool/build_engine/target_map", "absent_target_map"]
+ , ["src/buildtool/build_engine/target_map", "configured_target"]
, ["src/buildtool/build_engine/target_map", "result_map"]
, ["src/buildtool/build_engine/target_map", "target_map"]
, ["src/buildtool/common", "artifact_description"]
+ , ["src/buildtool/common", "cli"]
+ , ["src/buildtool/common", "clidefaults"]
, ["src/buildtool/common", "common"]
, ["src/buildtool/common", "config"]
, ["src/buildtool/common", "protocol_traits"]
@@ -42,11 +49,11 @@
, ["src/buildtool/execution_api/remote", "context"]
, ["src/buildtool/execution_engine/executor", "context"]
, ["src/buildtool/file_system", "file_root"]
+ , ["src/buildtool/file_system", "file_system_manager"]
, ["src/buildtool/file_system", "git_context"]
, ["src/buildtool/graph_traverser", "graph_traverser"]
, ["src/buildtool/logging", "log_level"]
, ["src/buildtool/logging", "logging"]
- , ["src/buildtool/multithreading", "async_map_consumer"]
, ["src/buildtool/multithreading", "task_system"]
, ["src/buildtool/progress_reporting", "progress"]
, ["src/buildtool/progress_reporting", "progress_reporter"]
@@ -57,7 +64,7 @@
, ["src/buildtool/storage", "config"]
, ["src/buildtool/storage", "file_chunker"]
, ["src/buildtool/storage", "storage"]
- , ["src/utils/cpp", "concepts"]
+ , ["src/utils/cpp", "expected"]
, ["src/utils/cpp", "gsl"]
, ["src/utils/cpp", "json"]
]
@@ -83,6 +90,7 @@
, "private-deps":
[ ["src/buildtool/logging", "log_level"]
, ["src/buildtool/logging", "logging"]
+ , ["src/utils/cpp", "expected"]
]
}
, "describe":
@@ -92,7 +100,7 @@
, "srcs": ["describe.cpp"]
, "deps":
[ ["@", "gsl", "", "gsl"]
- , ["src/buildtool/build_engine/base_maps", "entity_name"]
+ , ["src/buildtool/build_engine/base_maps", "entity_name_data"]
, ["src/buildtool/build_engine/target_map", "configured_target"]
, ["src/buildtool/common", "config"]
, ["src/buildtool/execution_api/common", "api_bundle"]
@@ -101,12 +109,20 @@
, "stage": ["src", "buildtool", "main"]
, "private-deps":
[ "common"
+ , ["@", "fmt", "", "fmt"]
, ["@", "json", "", "json"]
+ , ["src/buildtool/build_engine/base_maps", "entity_name"]
+ , ["src/buildtool/build_engine/base_maps", "module_name"]
, ["src/buildtool/build_engine/base_maps", "rule_map"]
, ["src/buildtool/build_engine/base_maps", "targets_file_map"]
, ["src/buildtool/build_engine/target_map", "target_map"]
+ , ["src/buildtool/common", "common"]
+ , ["src/buildtool/execution_api/common", "common"]
+ , ["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"]
]
}
, "common":
@@ -125,6 +141,7 @@
[["src/buildtool/common", "cli"], ["src/buildtool/common", "retry_cli"]]
, "private-deps":
[ "common"
+ , ["@", "cli11", "", "cli11"]
, ["@", "gsl", "", "gsl"]
, ["src/buildtool/logging", "log_level"]
, ["src/buildtool/logging", "logging"]
@@ -145,11 +162,17 @@
, "stage": ["src", "buildtool", "main"]
, "private-deps":
[ "archive"
+ , ["@", "gsl", "", "gsl"]
, ["src/buildtool/common", "artifact_digest_factory"]
+ , ["src/buildtool/common/remote", "remote_common"]
, ["src/buildtool/execution_api/common", "common"]
+ , ["src/buildtool/execution_api/remote", "config"]
, ["src/buildtool/execution_api/utils", "subobject"]
+ , ["src/buildtool/file_system", "file_system_manager"]
+ , ["src/buildtool/file_system", "object_type"]
, ["src/buildtool/logging", "log_level"]
, ["src/buildtool/logging", "logging"]
+ , ["src/utils/cpp", "expected"]
]
}
, "add_to_cas":
@@ -163,12 +186,14 @@
, ["src/buildtool/storage", "storage"]
]
, "private-deps":
- [ ["src/buildtool/common", "common"]
+ [ ["@", "gsl", "", "gsl"]
+ , ["src/buildtool/common", "common"]
, ["src/buildtool/common", "protocol_traits"]
, ["src/buildtool/crypto", "hash_function"]
, ["src/buildtool/execution_api/bazel_msg", "bazel_msg_factory"]
, ["src/buildtool/execution_api/common", "common"]
, ["src/buildtool/file_system", "file_system_manager"]
+ , ["src/buildtool/file_system", "object_type"]
, ["src/buildtool/logging", "log_level"]
, ["src/buildtool/logging", "logging"]
]
@@ -186,25 +211,29 @@
, ["src/buildtool/build_engine/target_map", "absent_target_map"]
, ["src/buildtool/build_engine/target_map", "configured_target"]
, ["src/buildtool/build_engine/target_map", "result_map"]
- , ["src/buildtool/common", "cli"]
, ["src/buildtool/logging", "logging"]
]
, "stage": ["src", "buildtool", "main"]
, "private-deps":
- [ ["src/buildtool/build_engine/base_maps", "directory_map"]
- , ["src/buildtool/build_engine/base_maps", "entity_name"]
+ [ ["@", "fmt", "", "fmt"]
+ , ["@", "json", "", "json"]
+ , ["src/buildtool/build_engine/base_maps", "directory_map"]
+ , ["src/buildtool/build_engine/base_maps", "entity_name_data"]
, ["src/buildtool/build_engine/base_maps", "expression_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"]
+ , ["src/buildtool/build_engine/expression", "expression"]
+ , ["src/buildtool/build_engine/expression", "expression_ptr_interface"]
, ["src/buildtool/build_engine/target_map", "target_map"]
+ , ["src/buildtool/common", "action_description"]
+ , ["src/buildtool/common", "common"]
, ["src/buildtool/crypto", "hash_function"]
, ["src/buildtool/logging", "log_level"]
- , ["src/buildtool/multithreading", "async_map_consumer"]
, ["src/buildtool/multithreading", "async_map_utils"]
, ["src/buildtool/multithreading", "task_system"]
+ , ["src/buildtool/progress_reporting", "base_progress_reporter"]
, ["src/buildtool/progress_reporting", "exports_progress_reporter"]
- , ["src/buildtool/serve_api/remote", "config"]
, ["src/buildtool/storage", "storage"]
]
}
@@ -234,8 +263,14 @@
, ["src/buildtool/common", "cli"]
]
, "private-deps":
- [ ["@", "gsl", "", "gsl"]
+ [ ["@", "fmt", "", "fmt"]
+ , ["@", "gsl", "", "gsl"]
, ["@", "json", "", "json"]
+ , ["src/buildtool/build_engine/analysed_target", "target"]
+ , ["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/build_engine/target_map", "configured_target"]
, ["src/buildtool/logging", "log_level"]
, ["src/buildtool/logging", "logging"]
, ["src/utils/cpp", "json"]
@@ -295,14 +330,19 @@
, "deps": ["cli", ["@", "gsl", "", "gsl"]]
, "stage": ["src", "buildtool", "main"]
, "private-deps":
- [ "common"
+ [ "build_utils"
+ , "common"
, ["@", "json", "", "json"]
, ["src/buildtool/build_engine/expression", "expression"]
+ , ["src/buildtool/build_engine/expression", "expression_ptr_interface"]
+ , ["src/buildtool/common", "cli"]
, ["src/buildtool/common", "location"]
+ , ["src/buildtool/common", "retry_cli"]
, ["src/buildtool/crypto", "hash_function"]
, ["src/buildtool/file_system", "file_system_manager"]
, ["src/buildtool/logging", "log_level"]
, ["src/buildtool/logging", "logging"]
+ , ["src/utils/cpp", "expected"]
]
}
, "build_utils":
@@ -311,12 +351,11 @@
, "hdrs": ["build_utils.hpp"]
, "srcs": ["build_utils.cpp"]
, "deps":
- [ ["src/buildtool/build_engine/analysed_target", "target"]
+ [ ["@", "gsl", "", "gsl"]
+ , ["src/buildtool/build_engine/analysed_target", "target"]
, ["src/buildtool/common", "artifact_description"]
, ["src/buildtool/common", "common"]
- , ["src/buildtool/common", "config"]
, ["src/buildtool/execution_api/common", "api_bundle"]
- , ["src/buildtool/execution_api/common", "common"]
, ["src/buildtool/logging", "log_level"]
, ["src/buildtool/logging", "logging"]
, ["src/buildtool/multithreading", "async_map_consumer"]
@@ -324,8 +363,13 @@
]
, "stage": ["src", "buildtool", "main"]
, "private-deps":
- [ ["src/buildtool/crypto", "hash_function"]
+ [ ["@", "fmt", "", "fmt"]
+ , ["src/buildtool/build_engine/expression", "expression"]
+ , ["src/buildtool/build_engine/expression", "expression_ptr_interface"]
+ , ["src/buildtool/crypto", "hash_function"]
+ , ["src/buildtool/execution_api/common", "common"]
, ["src/buildtool/multithreading", "async_map_utils"]
+ , ["src/buildtool/multithreading", "task_system"]
]
}
, "archive":
diff --git a/src/buildtool/main/add_to_cas.cpp b/src/buildtool/main/add_to_cas.cpp
index 819fa532..40b16760 100644
--- a/src/buildtool/main/add_to_cas.cpp
+++ b/src/buildtool/main/add_to_cas.cpp
@@ -18,15 +18,20 @@
#include <filesystem>
#include <iostream>
+#include <memory>
#include <optional>
#include <string>
+#include <vector>
+#include "gsl/gsl"
+#include "src/buildtool/common/artifact.hpp"
#include "src/buildtool/common/artifact_digest.hpp"
#include "src/buildtool/common/protocol_traits.hpp"
#include "src/buildtool/crypto/hash_function.hpp"
#include "src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp"
#include "src/buildtool/execution_api/common/execution_api.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/main/analyse.cpp b/src/buildtool/main/analyse.cpp
index fa332b9b..025fb1a9 100644
--- a/src/buildtool/main/analyse.cpp
+++ b/src/buildtool/main/analyse.cpp
@@ -16,26 +16,37 @@
#include <atomic>
#include <condition_variable>
+#include <cstdint>
+#include <cstdlib>
+#include <functional>
+#include <map>
+#include <memory>
#include <thread>
+#include <unordered_map>
+#include <vector>
+#include "fmt/core.h"
+#include "nlohmann/json.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/base_maps/entity_name_data.hpp"
#include "src/buildtool/build_engine/base_maps/expression_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"
+#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/build_engine/target_map/absent_target_map.hpp"
#include "src/buildtool/build_engine/target_map/target_map.hpp"
+#include "src/buildtool/common/action.hpp"
+#include "src/buildtool/common/action_description.hpp"
#include "src/buildtool/crypto/hash_function.hpp"
#include "src/buildtool/logging/log_level.hpp"
-#include "src/buildtool/multithreading/async_map_consumer.hpp"
#include "src/buildtool/multithreading/async_map_utils.hpp"
#include "src/buildtool/multithreading/task_system.hpp"
+#include "src/buildtool/progress_reporting/base_progress_reporter.hpp"
#include "src/buildtool/progress_reporting/exports_progress_reporter.hpp"
#include "src/buildtool/storage/storage.hpp"
-#ifndef BOOTSTRAP_BUILD_TOOL
-#include "src/buildtool/serve_api/remote/config.hpp"
-#endif // BOOTSTRAP_BUILD_TOOL
namespace {
diff --git a/src/buildtool/main/analyse.hpp b/src/buildtool/main/analyse.hpp
index 4e75c26a..b608850c 100644
--- a/src/buildtool/main/analyse.hpp
+++ b/src/buildtool/main/analyse.hpp
@@ -24,7 +24,6 @@
#include "src/buildtool/build_engine/target_map/absent_target_map.hpp"
#include "src/buildtool/build_engine/target_map/configured_target.hpp"
#include "src/buildtool/build_engine/target_map/result_map.hpp"
-#include "src/buildtool/common/cli.hpp"
#include "src/buildtool/logging/logger.hpp"
#include "src/buildtool/main/analyse_context.hpp"
diff --git a/src/buildtool/main/archive.cpp b/src/buildtool/main/archive.cpp
index e49da224..2d8c95db 100644
--- a/src/buildtool/main/archive.cpp
+++ b/src/buildtool/main/archive.cpp
@@ -22,6 +22,14 @@
#error "Non-unix is not supported yet"
#endif
+#include <functional>
+#include <map>
+#include <memory>
+#include <string>
+#include <unordered_map>
+#include <utility>
+#include <vector>
+
#include "src/buildtool/common/artifact_digest.hpp"
#include "src/buildtool/common/artifact_digest_factory.hpp"
#include "src/buildtool/file_system/git_repo.hpp"
diff --git a/src/buildtool/main/build_utils.cpp b/src/buildtool/main/build_utils.cpp
index cbd5873e..e7787af3 100644
--- a/src/buildtool/main/build_utils.cpp
+++ b/src/buildtool/main/build_utils.cpp
@@ -13,10 +13,20 @@
// limitations under the License.
#include "src/buildtool/main/build_utils.hpp"
+
+#include <iterator>
+#include <memory>
+#include <unordered_set>
+
+#include "fmt/core.h"
+#include "src/buildtool/build_engine/expression/expression.hpp"
+#include "src/buildtool/build_engine/expression/expression_ptr.hpp"
#ifndef BOOTSTRAP_BUILD_TOOL
#include "src/buildtool/crypto/hash_function.hpp"
+#include "src/buildtool/execution_api/common/execution_api.hpp"
#include "src/buildtool/logging/log_level.hpp"
#include "src/buildtool/multithreading/async_map_utils.hpp"
+#include "src/buildtool/multithreading/task_system.hpp"
#include "src/buildtool/storage/target_cache_entry.hpp"
#endif // BOOTSTRAP_BUILD_TOOL
diff --git a/src/buildtool/main/build_utils.hpp b/src/buildtool/main/build_utils.hpp
index f8f0a470..8e971b15 100644
--- a/src/buildtool/main/build_utils.hpp
+++ b/src/buildtool/main/build_utils.hpp
@@ -22,16 +22,16 @@
#include <optional>
#include <string>
#include <unordered_map>
+#include <utility>
+#include <vector>
+#include "gsl/gsl"
#include "src/buildtool/build_engine/analysed_target/analysed_target.hpp"
#include "src/buildtool/common/artifact_description.hpp"
-#include "src/buildtool/common/repository_config.hpp"
#include "src/buildtool/storage/target_cache_key.hpp"
#ifndef BOOTSTRAP_BUILD_TOOL
#include "src/buildtool/common/artifact.hpp"
-#include "src/buildtool/common/artifact_digest.hpp"
#include "src/buildtool/execution_api/common/api_bundle.hpp"
-#include "src/buildtool/execution_api/common/execution_api.hpp"
#include "src/buildtool/logging/log_level.hpp"
#include "src/buildtool/logging/logger.hpp"
#include "src/buildtool/multithreading/async_map_consumer.hpp"
diff --git a/src/buildtool/main/cli.cpp b/src/buildtool/main/cli.cpp
index 8163abd4..cc7bc78c 100644
--- a/src/buildtool/main/cli.cpp
+++ b/src/buildtool/main/cli.cpp
@@ -14,6 +14,10 @@
#include "src/buildtool/main/cli.hpp"
+#include <cstdlib>
+#include <exception>
+
+#include "CLI/CLI.hpp"
#include "gsl/gsl"
#include "src/buildtool/logging/log_level.hpp"
#include "src/buildtool/logging/logger.hpp"
diff --git a/src/buildtool/main/describe.cpp b/src/buildtool/main/describe.cpp
index c706545b..f2dcadf4 100644
--- a/src/buildtool/main/describe.cpp
+++ b/src/buildtool/main/describe.cpp
@@ -16,16 +16,30 @@
#include "src/buildtool/main/describe.hpp"
+#include <exception>
+#include <functional>
#include <iostream>
+#include <memory>
#include <optional>
+#include <string>
+#include <vector>
+#include "fmt/core.h"
#include "nlohmann/json.hpp"
+#include "src/buildtool/build_engine/base_maps/entity_name.hpp"
+#include "src/buildtool/build_engine/base_maps/module_name.hpp"
#include "src/buildtool/build_engine/base_maps/rule_map.hpp"
#include "src/buildtool/build_engine/base_maps/targets_file_map.hpp"
#include "src/buildtool/build_engine/target_map/target_map.hpp"
+#include "src/buildtool/common/artifact.hpp"
+#include "src/buildtool/common/artifact_digest.hpp"
+#include "src/buildtool/execution_api/common/execution_api.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/main/exit_codes.hpp"
+#include "src/buildtool/multithreading/task_system.hpp"
namespace {
diff --git a/src/buildtool/main/describe.hpp b/src/buildtool/main/describe.hpp
index 8c546693..a488c7b8 100644
--- a/src/buildtool/main/describe.hpp
+++ b/src/buildtool/main/describe.hpp
@@ -16,9 +16,10 @@
#define INCLUDED_SRC_BUILDTOOL_MAIN_DESCRIBE_HPP
#include <cstddef>
+#include <optional>
#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/target_map/configured_target.hpp"
#include "src/buildtool/common/repository_config.hpp"
#include "src/buildtool/execution_api/common/api_bundle.hpp"
diff --git a/src/buildtool/main/diagnose.cpp b/src/buildtool/main/diagnose.cpp
index 9171869e..8cc198d9 100644
--- a/src/buildtool/main/diagnose.cpp
+++ b/src/buildtool/main/diagnose.cpp
@@ -15,12 +15,28 @@
#include "src/buildtool/main/diagnose.hpp"
#include <algorithm>
+#include <compare>
#include <cstddef>
+#include <fstream>
+#include <functional>
+#include <iostream>
+#include <memory>
+#include <optional>
#include <string>
#include <unordered_map>
+#include <unordered_set>
+#include <utility>
+#include <vector>
+#include "fmt/core.h"
#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_data.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/build_engine/target_map/configured_target.hpp"
#include "src/buildtool/logging/log_level.hpp"
#include "src/buildtool/logging/logger.hpp"
#include "src/utils/cpp/json.hpp"
diff --git a/src/buildtool/main/install_cas.cpp b/src/buildtool/main/install_cas.cpp
index bac3556b..ca851d25 100644
--- a/src/buildtool/main/install_cas.cpp
+++ b/src/buildtool/main/install_cas.cpp
@@ -14,13 +14,33 @@
#include "src/buildtool/main/install_cas.hpp"
-#include <cstddef>
+#ifdef __unix__
+#include <unistd.h>
+#else
+#error "Non-unix is not supported yet"
+#endif
+#include <cstddef>
+#include <cstdio>
+#include <cstdlib>
+#include <filesystem>
+#include <memory>
+#include <sstream>
+#include <utility>
+#include <vector>
+
+#include "gsl/gsl"
+#include "src/buildtool/common/artifact_digest.hpp"
#include "src/buildtool/common/artifact_digest_factory.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/expected.hpp"
#ifndef BOOTSTRAP_BUILD_TOOL
+#include "src/buildtool/common/remote/remote_common.hpp"
#include "src/buildtool/execution_api/common/execution_api.hpp"
+#include "src/buildtool/execution_api/remote/config.hpp"
#include "src/buildtool/execution_api/utils/subobject.hpp"
#include "src/buildtool/main/archive.hpp"
#endif
diff --git a/src/buildtool/main/main.cpp b/src/buildtool/main/main.cpp
index 7bb513f9..0aaac54a 100644
--- a/src/buildtool/main/main.cpp
+++ b/src/buildtool/main/main.cpp
@@ -12,34 +12,44 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include <algorithm>
#include <cstdlib>
+#include <exception>
#include <filesystem>
#include <fstream>
+#include <functional>
#include <iostream>
#include <map>
+#include <memory>
#include <mutex>
#include <optional>
+#include <set>
#include <string>
-#include <unordered_map>
-#include <unordered_set>
#include <utility>
#include <variant>
#include <vector>
#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/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.hpp"
-#include "src/buildtool/build_engine/target_map/target_map.hpp"
+#include "src/buildtool/build_engine/expression/expression_ptr.hpp"
+#include "src/buildtool/build_engine/target_map/absent_target_map.hpp"
+#include "src/buildtool/build_engine/target_map/configured_target.hpp"
+#include "src/buildtool/build_engine/target_map/result_map.hpp"
#include "src/buildtool/common/artifact_description.hpp"
+#include "src/buildtool/common/cli.hpp"
+#include "src/buildtool/common/clidefaults.hpp"
#include "src/buildtool/common/protocol_traits.hpp"
#include "src/buildtool/common/remote/remote_common.hpp"
#include "src/buildtool/common/repository_config.hpp"
#include "src/buildtool/common/statistics.hpp"
#include "src/buildtool/crypto/hash_function.hpp"
#include "src/buildtool/file_system/file_root.hpp"
+#include "src/buildtool/file_system/file_system_manager.hpp"
#include "src/buildtool/logging/log_config.hpp"
#include "src/buildtool/logging/log_level.hpp"
#include "src/buildtool/logging/log_sink_cmdline.hpp"
@@ -55,15 +65,13 @@
#include "src/buildtool/main/exit_codes.hpp"
#include "src/buildtool/main/install_cas.hpp"
#include "src/buildtool/main/version.hpp"
-#include "src/buildtool/multithreading/async_map_consumer.hpp"
#include "src/buildtool/multithreading/task_system.hpp"
#include "src/buildtool/progress_reporting/progress.hpp"
#include "src/buildtool/serve_api/remote/serve_api.hpp"
#include "src/buildtool/storage/config.hpp"
#include "src/buildtool/storage/file_chunker.hpp"
#include "src/buildtool/storage/storage.hpp"
-#include "src/buildtool/storage/target_cache.hpp"
-#include "src/utils/cpp/concepts.hpp"
+#include "src/utils/cpp/expected.hpp"
#include "src/utils/cpp/json.hpp"
#ifndef BOOTSTRAP_BUILD_TOOL
#include "fmt/core.h"
diff --git a/src/buildtool/main/retry.cpp b/src/buildtool/main/retry.cpp
index 96669e05..bb0e567b 100644
--- a/src/buildtool/main/retry.cpp
+++ b/src/buildtool/main/retry.cpp
@@ -18,6 +18,7 @@
#include "src/buildtool/logging/log_level.hpp"
#include "src/buildtool/logging/logger.hpp"
+#include "src/utils/cpp/expected.hpp"
[[nodiscard]] auto CreateRetryConfig(RetryArguments const& args)
-> std::optional<RetryConfig> {
diff --git a/src/buildtool/main/serve.cpp b/src/buildtool/main/serve.cpp
index 1ee80349..531074c3 100644
--- a/src/buildtool/main/serve.cpp
+++ b/src/buildtool/main/serve.cpp
@@ -17,25 +17,32 @@
#ifndef BOOTSTRAP_BUILD_TOOL
#include <chrono>
+#include <cmath>
#include <cstddef>
#include <cstdlib>
+#include <exception>
#include <filesystem>
#include <fstream>
#include <optional>
+#include <ratio>
#include <string>
#include <utility>
-#include <variant>
#include <vector>
#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/expression_ptr.hpp"
+#include "src/buildtool/common/cli.hpp"
#include "src/buildtool/common/location.hpp"
+#include "src/buildtool/common/retry_cli.hpp"
#include "src/buildtool/crypto/hash_function.hpp"
#include "src/buildtool/file_system/file_system_manager.hpp"
#include "src/buildtool/logging/log_level.hpp"
#include "src/buildtool/logging/logger.hpp"
+#include "src/buildtool/main/build_utils.hpp"
#include "src/buildtool/main/exit_codes.hpp"
+#include "src/utils/cpp/expected.hpp"
namespace {
diff --git a/src/buildtool/main/version.cpp b/src/buildtool/main/version.cpp
index 293a013c..a5c70b34 100644
--- a/src/buildtool/main/version.cpp
+++ b/src/buildtool/main/version.cpp
@@ -15,6 +15,8 @@
#include "src/buildtool/main/version.hpp"
#include <cstddef>
+#include <functional>
+#include <unordered_map>
#include "nlohmann/json.hpp"
#include "src/utils/cpp/json.hpp"