From 44a7f88d0c6cd13087b422a4e8dd7b991b9be134 Mon Sep 17 00:00:00 2001 From: Klaus Aehlig Date: Thu, 15 May 2025 11:20:31 +0200 Subject: Make --dump-artifacts-to-build act cummulatively --- src/buildtool/common/cli.hpp | 14 +++++++++----- src/buildtool/main/main.cpp | 10 +++++----- 2 files changed, 14 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/buildtool/common/cli.hpp b/src/buildtool/common/cli.hpp index 51cf3ef3..6b6ad535 100644 --- a/src/buildtool/common/cli.hpp +++ b/src/buildtool/common/cli.hpp @@ -75,7 +75,7 @@ struct AnalysisArguments { std::optional expression_root; std::vector graph_file; std::vector graph_file_plain; - std::optional artifacts_to_build_file; + std::vector artifacts_to_build_files; std::optional serve_errors_file; std::optional profile; }; @@ -366,10 +366,14 @@ static inline auto SetupAnalysisArguments( "File path for writing the action graph description to.") ->type_name("PATH") ->trigger_on_parse(); - app->add_option("--dump-artifacts-to-build", - clargs->artifacts_to_build_file, - "File path for writing the artifacts to build to.") - ->type_name("PATH"); + app->add_option_function( + "--dump-artifacts-to-build", + [clargs](auto const& file_) { + clargs->artifacts_to_build_files.emplace_back(file_); + }, + "File path for writing the artifacts to build to.") + ->type_name("PATH") + ->trigger_on_parse(); } } diff --git a/src/buildtool/main/main.cpp b/src/buildtool/main/main.cpp index c071b27c..10abfa1a 100644 --- a/src/buildtool/main/main.cpp +++ b/src/buildtool/main/main.cpp @@ -1200,11 +1200,11 @@ auto main(int argc, char* argv[]) -> int { arguments.analysis.graph_file, &stats, &progress); analyse_result->result_map.ToFile( arguments.analysis.graph_file_plain, &stats, &progress); - if (arguments.analysis.artifacts_to_build_file) { - DumpArtifactsToBuild( - artifacts_runfiles.first, - artifacts_runfiles.second, - *arguments.analysis.artifacts_to_build_file); + for (auto const& to_build_file : + arguments.analysis.artifacts_to_build_files) { + DumpArtifactsToBuild(artifacts_runfiles.first, + artifacts_runfiles.second, + to_build_file); } // Clean up in parallel { -- cgit v1.2.3