diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/buildtool/main/TARGETS | 4 | ||||
-rw-r--r-- | src/buildtool/main/describe.cpp | 24 | ||||
-rw-r--r-- | src/buildtool/main/describe.hpp | 2 | ||||
-rw-r--r-- | src/buildtool/main/main.cpp | 3 |
4 files changed, 13 insertions, 20 deletions
diff --git a/src/buildtool/main/TARGETS b/src/buildtool/main/TARGETS index 66388afa..e90c9ae9 100644 --- a/src/buildtool/main/TARGETS +++ b/src/buildtool/main/TARGETS @@ -77,6 +77,7 @@ , ["src/buildtool/build_engine/target_map", "configured_target"] , ["src/buildtool/common", "config"] , ["src/buildtool/serve_api/remote", "serve_api"] + , ["src/buildtool/execution_api/common", "api_bundle"] ] , "stage": ["src", "buildtool", "main"] , "private-deps": @@ -84,11 +85,8 @@ , ["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/execution_api/remote", "config"] - , ["src/buildtool/execution_api/common", "api_bundle"] , ["src/buildtool/logging", "log_level"] , ["src/buildtool/logging", "logging"] - , ["src/buildtool/serve_api/remote", "config"] , "common" ] } diff --git a/src/buildtool/main/describe.cpp b/src/buildtool/main/describe.cpp index 3e278ee8..7387cdbf 100644 --- a/src/buildtool/main/describe.cpp +++ b/src/buildtool/main/describe.cpp @@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +#ifndef BOOTSTRAP_BUILD_TOOL + #include "src/buildtool/main/describe.hpp" #include <iostream> @@ -24,11 +26,6 @@ #include "src/buildtool/logging/log_level.hpp" #include "src/buildtool/logging/logger.hpp" #include "src/buildtool/main/exit_codes.hpp" -#ifndef BOOTSTRAP_BUILD_TOOL -#include "src/buildtool/execution_api/common/api_bundle.hpp" -#include "src/buildtool/execution_api/remote/config.hpp" -#include "src/buildtool/serve_api/remote/config.hpp" -#endif // BOOTSTRAP_BUILD_TOOL namespace { @@ -268,9 +265,9 @@ auto DescribeUserDefinedRule( auto DescribeTarget(BuildMaps::Target::ConfiguredTarget const& id, gsl::not_null<const RepositoryConfig*> const& repo_config, std::optional<ServeApi> const& serve, + ApiBundle const& apis, std::size_t jobs, bool print_json) -> int { -#ifndef BOOTSTRAP_BUILD_TOOL // check if target root is absent if (repo_config->TargetRoot(id.target.ToModule().repository)->IsAbsent()) { // check that we have a serve endpoint configured @@ -314,23 +311,17 @@ auto DescribeTarget(BuildMaps::Target::ConfiguredTarget const& id, << std::endl; return kExitSuccess; } - // get description from remote CAS - auto const local_api = CreateExecutionApi( - std::nullopt, std::make_optional(repo_config)); - auto const remote_api = - CreateExecutionApi(RemoteExecutionConfig::RemoteAddress(), - std::make_optional(repo_config)); auto const& desc_info = Artifact::ObjectInfo{.digest = *dgst, .type = ObjectType::File}; - if (!local_api->IsAvailable(*dgst)) { - if (!remote_api->RetrieveToCas({desc_info}, &*local_api)) { + if (!apis.local->IsAvailable(*dgst)) { + if (!apis.remote->RetrieveToCas({desc_info}, &*apis.local)) { Logger::Log(LogLevel::Error, "Failed to retrieve blob {} from remote CAS", desc_info.ToString()); return kExitFailure; } } - auto const desc_str = local_api->RetrieveToMemory(desc_info); + auto const desc_str = apis.local->RetrieveToMemory(desc_info); if (not desc_str) { Logger::Log(LogLevel::Error, "Could not load in memory blob {}", @@ -377,7 +368,6 @@ auto DescribeTarget(BuildMaps::Target::ConfiguredTarget const& id, id.target.ToJson().dump()); return kExitFailure; } -#endif // BOOTSTRAP_BUILD_TOOL // process with a present target root auto targets_file_map = Base::CreateTargetsFileMap(repo_config, jobs); @@ -463,3 +453,5 @@ auto DescribeTarget(BuildMaps::Target::ConfiguredTarget const& id, } return DescribeUserDefinedRule(*rule_name, repo_config, jobs, print_json); } + +#endif // BOOTSTRAP_BUILD_TOOL diff --git a/src/buildtool/main/describe.hpp b/src/buildtool/main/describe.hpp index 1d116801..8c546693 100644 --- a/src/buildtool/main/describe.hpp +++ b/src/buildtool/main/describe.hpp @@ -21,12 +21,14 @@ #include "src/buildtool/build_engine/base_maps/entity_name.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" #include "src/buildtool/serve_api/remote/serve_api.hpp" [[nodiscard]] auto DescribeTarget( BuildMaps::Target::ConfiguredTarget const& id, gsl::not_null<const RepositoryConfig*> const& repo_config, std::optional<ServeApi> const& serve, + ApiBundle const& apis, std::size_t jobs, bool print_json) -> int; diff --git a/src/buildtool/main/main.cpp b/src/buildtool/main/main.cpp index 294405e3..480dfbf4 100644 --- a/src/buildtool/main/main.cpp +++ b/src/buildtool/main/main.cpp @@ -48,7 +48,6 @@ #include "src/buildtool/main/build_utils.hpp" #include "src/buildtool/main/cli.hpp" #include "src/buildtool/main/constants.hpp" -#include "src/buildtool/main/describe.hpp" #include "src/buildtool/main/diagnose.hpp" #include "src/buildtool/main/exit_codes.hpp" #include "src/buildtool/main/install_cas.hpp" @@ -73,6 +72,7 @@ #include "src/buildtool/execution_api/execution_service/server_implementation.hpp" #include "src/buildtool/execution_api/remote/config.hpp" #include "src/buildtool/graph_traverser/graph_traverser.hpp" +#include "src/buildtool/main/describe.hpp" #include "src/buildtool/main/serve.hpp" #include "src/buildtool/progress_reporting/progress_reporter.hpp" #include "src/buildtool/serve_api/remote/config.hpp" @@ -974,6 +974,7 @@ auto main(int argc, char* argv[]) -> int { : DescribeTarget(*id, &repo_config, serve, + main_apis, arguments.common.jobs, arguments.describe.print_json); } |