From 87832d98f34cec0513e5abc14e912eec3100e975 Mon Sep 17 00:00:00 2001 From: Maksim Denisov Date: Thu, 27 Feb 2025 12:41:59 +0100 Subject: GraphTraverser: Pass artifacts, blobs and trees to BuildAndStage by rvalue --- src/buildtool/serve_api/serve_service/target.cpp | 42 ++++++++++++------------ 1 file changed, 21 insertions(+), 21 deletions(-) (limited to 'src/buildtool/serve_api/serve_service/target.cpp') diff --git a/src/buildtool/serve_api/serve_service/target.cpp b/src/buildtool/serve_api/serve_service/target.cpp index 2bd91079..6b46157c 100644 --- a/src/buildtool/serve_api/serve_service/target.cpp +++ b/src/buildtool/serve_api/serve_service/target.cpp @@ -531,24 +531,6 @@ auto TargetService::ServeTarget( logger_->Emit( LogLevel::Info, "Analysed target {}", analyse_result->id.ToString()); - // get the output artifacts - auto const [artifacts, runfiles] = - ReadOutputArtifacts(analyse_result->target); - - // get the analyse_result map outputs - auto const& [actions, blobs, trees] = - analyse_result->result_map.ToResult(&stats, &progress, &logger); - - // collect cache targets and artifacts for target-level caching - auto const cache_targets = analyse_result->result_map.CacheTargets(); - auto cache_artifacts = CollectNonKnownArtifacts(cache_targets); - - // Clean up analyse_result map, now that it is no longer needed - { - TaskSystem ts{serve_config_.jobs}; - analyse_result->result_map.Clear(&ts); - } - auto jobs = serve_config_.build_jobs; if (jobs == 0) { jobs = serve_config_.jobs; @@ -584,12 +566,30 @@ auto TargetService::ServeTarget( ProgressReporter::Reporter(&stats, &progress, &logger), &logger}; + // get the output artifacts + auto const [artifacts, runfiles] = + ReadOutputArtifacts(analyse_result->target); + + // get the analyse_result map outputs + auto [actions, blobs, trees] = + analyse_result->result_map.ToResult(&stats, &progress, &logger); + + // collect cache targets and artifacts for target-level caching + auto const cache_targets = analyse_result->result_map.CacheTargets(); + auto cache_artifacts = CollectNonKnownArtifacts(cache_targets); + + // Clean up analyse_result map, now that it is no longer needed + { + TaskSystem ts{serve_config_.jobs}; + analyse_result->result_map.Clear(&ts); + } + // perform build auto build_result = traverser.BuildAndStage(artifacts, runfiles, - actions, - blobs, - trees, + std::move(actions), + std::move(blobs), + std::move(trees), std::move(cache_artifacts)); if (not build_result) { -- cgit v1.2.3