summaryrefslogtreecommitdiff
path: root/src/buildtool/common/cli.hpp
diff options
context:
space:
mode:
authorAlberto Sartori <alberto.sartori@huawei.com>2024-02-26 16:31:00 +0100
committerAlberto Sartori <alberto.sartori@huawei.com>2024-04-24 12:58:10 +0200
commitf7f2f0dc41b75b5f2a094d33e6325fdf9e8438a8 (patch)
tree80d23e32f6634279ea6f516f1592da9952cdf650 /src/buildtool/common/cli.hpp
parent4ea9f8f7f3367bed309c6e3f84bed541d73929e8 (diff)
downloadjustbuild-f7f2f0dc41b75b5f2a094d33e6325fdf9e8438a8.tar.gz
just analyse: add --dump-result command line option
The result of the analysis is a JSON object containing the keys `"artifacts"`, `"runfiles"`, and `"provides"`. This JSON object, by default, is logged. However, it might be useful to process the data contained in it, while, for example, developing new rules. This patch adds a new command line option (`--dump-result`), reserved to the subcommand `analyse`, to dump the analysis result to the given file or stdout (if `-` is given).
Diffstat (limited to 'src/buildtool/common/cli.hpp')
-rw-r--r--src/buildtool/common/cli.hpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/buildtool/common/cli.hpp b/src/buildtool/common/cli.hpp
index eded8112..57567cf7 100644
--- a/src/buildtool/common/cli.hpp
+++ b/src/buildtool/common/cli.hpp
@@ -91,6 +91,7 @@ struct DiagnosticArguments {
std::optional<std::string> dump_targets_graph{std::nullopt};
std::optional<std::string> dump_anonymous{std::nullopt};
std::optional<std::string> dump_nodes{std::nullopt};
+ std::optional<std::string> dump_result{std::nullopt};
};
/// \brief Arguments required for specifying build endpoint.
@@ -398,6 +399,10 @@ static inline auto SetupDiagnosticArguments(
clargs->dump_nodes,
"Dump nodes of target to file (use - for stdout).")
->type_name("PATH");
+ app->add_option("--dump-result",
+ clargs->dump_result,
+ "Dump the result of analyse to file (use - for stdout).")
+ ->type_name("PATH");
}
static inline auto SetupCacheArguments(