summaryrefslogtreecommitdiff
path: root/src/buildtool/main/analyse.cpp
diff options
context:
space:
mode:
authorKlaus Aehlig <klaus.aehlig@huawei.com>2025-05-05 15:35:59 +0200
committerKlaus Aehlig <klaus.aehlig@huawei.com>2025-05-06 13:09:36 +0200
commit6cd39f9127da68fd55678fbc4a65e902989f7d9b (patch)
tree19d98351266b83e346de0780d707b5fb76aa6617 /src/buildtool/main/analyse.cpp
parentd83e83b9d9ed15e3a0a112b7b9a9d612c7ee8b14 (diff)
downloadjustbuild-6cd39f9127da68fd55678fbc4a65e902989f7d9b.tar.gz
just: record analysis errors in profile
Diffstat (limited to 'src/buildtool/main/analyse.cpp')
-rw-r--r--src/buildtool/main/analyse.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/buildtool/main/analyse.cpp b/src/buildtool/main/analyse.cpp
index 9315d5b7..31beb439 100644
--- a/src/buildtool/main/analyse.cpp
+++ b/src/buildtool/main/analyse.cpp
@@ -126,8 +126,8 @@ namespace Target = BuildMaps::Target;
std::size_t jobs,
std::optional<std::string> const& request_action_input,
Logger const* logger,
- BuildMaps::Target::ServeFailureLogReporter* serve_log)
- -> std::optional<AnalysisResult> {
+ BuildMaps::Target::ServeFailureLogReporter* serve_log,
+ Profile* profile) -> std::optional<AnalysisResult> {
// create async maps
auto directory_entries =
Base::CreateDirectoryEntriesMap(context->repo_config, jobs);
@@ -181,12 +181,15 @@ namespace Target = BuildMaps::Target;
&ts,
{id},
[&target](auto values) { target = *values[0]; },
- [&failed, logger](auto const& msg, bool fatal) {
+ [&failed, logger, profile](auto const& msg, bool fatal) {
Logger::Log(logger,
fatal ? LogLevel::Error : LogLevel::Warning,
"While processing targets:\n{}",
msg);
failed = failed or fatal;
+ if (fatal and (profile != nullptr)) {
+ profile->NoteAnalysisError(msg);
+ }
});
}