summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/buildtool/main/TARGETS4
-rw-r--r--src/buildtool/main/describe.cpp24
-rw-r--r--src/buildtool/main/describe.hpp2
-rw-r--r--src/buildtool/main/main.cpp3
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);
}