summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/tutorial/invocation-logging.md3
-rw-r--r--share/man/just-mrrc.5.md3
-rw-r--r--src/other_tools/just_mr/cli.hpp1
-rw-r--r--src/other_tools/just_mr/launch.cpp14
-rw-r--r--src/other_tools/just_mr/rc.cpp6
5 files changed, 27 insertions, 0 deletions
diff --git a/doc/tutorial/invocation-logging.md b/doc/tutorial/invocation-logging.md
index a1f94a1c..292504f2 100644
--- a/doc/tutorial/invocation-logging.md
+++ b/doc/tutorial/invocation-logging.md
@@ -48,6 +48,8 @@ be specified.
directory to be used when generating the `--profile` option in
the command line for the `just` invocation.
- `"--dump-graph"` does the same for the `--dump-graph` option.
+ - `"--dump-artifacts-to-build"` does the same for the
+ `--dump-artifacts-to-build` option.
- `"--dump-artifacts"` does the same for the `--dump-artifacts`
option; while not directly useful for profiling, browsing the
final artifacts (including the test logs) can be useful to
@@ -67,6 +69,7 @@ would look as follows.
, "metadata": "meta.json"
, "--profile": "profile.json"
, "--dump-graph": "graph.json"
+ , "--dump-artifacts-to-build": "to-build.json"
, "--dump-artifacts": "artifacts.json"
}
}
diff --git a/share/man/just-mrrc.5.md b/share/man/just-mrrc.5.md
index 662717b7..96f11912 100644
--- a/share/man/just-mrrc.5.md
+++ b/share/man/just-mrrc.5.md
@@ -195,6 +195,9 @@ The just-mrrc is given by a JSON object.
- *`"--dump-plain-graph"`* A file name specifying the file
in the invocation-log directory for an invocation-specific
`--dump-plain-graph` option.
+ - *`"--dump-artifacts-to-build"`* A file name specifying the
+ file in the invocation-log directory for the invocation-specific
+ `--dump-artifacts-to-build` option.
- *`"--dump-artifacts"`* A file name specifying in the file
in the invocation-log directory for the invocation-specific
`--dump-artifacts` option.
diff --git a/src/other_tools/just_mr/cli.hpp b/src/other_tools/just_mr/cli.hpp
index df952957..defb7be6 100644
--- a/src/other_tools/just_mr/cli.hpp
+++ b/src/other_tools/just_mr/cli.hpp
@@ -98,6 +98,7 @@ struct InvocationLogArguments {
std::optional<std::string> metadata{std::nullopt};
std::optional<std::string> graph_file{std::nullopt};
std::optional<std::string> graph_file_plain{std::nullopt};
+ std::optional<std::string> dump_artifacts_to_build{std::nullopt};
std::optional<std::string> dump_artifacts{std::nullopt};
std::optional<std::string> profile{std::nullopt};
};
diff --git a/src/other_tools/just_mr/launch.cpp b/src/other_tools/just_mr/launch.cpp
index 7d2bdf25..0a061031 100644
--- a/src/other_tools/just_mr/launch.cpp
+++ b/src/other_tools/just_mr/launch.cpp
@@ -326,6 +326,20 @@ auto CallJust(std::optional<std::filesystem::path> const& config_file,
cmd.emplace_back("--dump-plain-graph");
cmd.emplace_back(*log_dir / *invocation_log.graph_file_plain);
}
+ if (invocation_log.dump_artifacts_to_build) {
+ if (not IsValidFileName(*invocation_log.dump_artifacts_to_build)) {
+ Logger::Log(
+ LogLevel::Error,
+ "Invalid file name for option --dump-artifacts_to_build: "
+ "{}",
+ nlohmann::json(*invocation_log.dump_artifacts_to_build)
+ .dump());
+ std::exit(kExitClargsError);
+ }
+ cmd.emplace_back("--dump-artifacts-to-build");
+ cmd.emplace_back(*log_dir /
+ *invocation_log.dump_artifacts_to_build);
+ }
if (does_build and invocation_log.dump_artifacts) {
if (not IsValidFileName(*invocation_log.dump_artifacts)) {
Logger::Log(
diff --git a/src/other_tools/just_mr/rc.cpp b/src/other_tools/just_mr/rc.cpp
index 7d7f6f5a..41b7e77e 100644
--- a/src/other_tools/just_mr/rc.cpp
+++ b/src/other_tools/just_mr/rc.cpp
@@ -619,6 +619,12 @@ namespace {
if (graph_file_plain->IsString()) {
clargs->invocation_log.graph_file = graph_file_plain->String();
}
+ auto dump_artifacts_to_build = invocation_log->Get(
+ "--dump-artifacts-to-build", Expression::none_t{});
+ if (dump_artifacts_to_build->IsString()) {
+ clargs->invocation_log.dump_artifacts_to_build =
+ dump_artifacts_to_build->String();
+ }
auto dump_artifacts =
invocation_log->Get("--dump-artifacts", Expression::none_t{});
if (dump_artifacts->IsString()) {