|
Ninja
|
Tracks the status of a build: completion fraction, printing updates. More...
#include <build.h>
Classes | |
| struct | RateInfo |
| struct | SlidingRateInfo |
Public Types | |
| enum | EdgeStatus { kEdgeStarted, kEdgeFinished } |
Public Member Functions | |
| void | BuildEdgeFinished (Edge *edge, bool success, const std::string &output, int *start_time, int *end_time) |
| void | BuildEdgeStarted (const Edge *edge) |
| void | BuildFinished () |
| void | BuildLoadDyndeps () |
| void | BuildStarted () |
| BuildStatus (const BuildConfig &config) | |
| std::string | FormatProgressStatus (const char *progress_status_format, EdgeStatus status) const |
| Format the progress status string by replacing the placeholders. More... | |
| void | PlanHasTotalEdges (int total) |
Private Types | |
| typedef std::map< const Edge *, int > | RunningEdgeMap |
| Map of running edge to time the edge started running. More... | |
Private Member Functions | |
| void | PrintStatus (const Edge *edge, EdgeStatus status) |
| template<size_t S> | |
| void | SnprintfRate (double rate, char(&buf)[S], const char *format) const |
Private Attributes | |
| const BuildConfig & | config_ |
| SlidingRateInfo | current_rate_ |
| int | finished_edges_ |
| RateInfo | overall_rate_ |
| LinePrinter | printer_ |
| Prints progress output. More... | |
| const char * | progress_status_format_ |
| The custom progress status format to use. More... | |
| RunningEdgeMap | running_edges_ |
| int64_t | start_time_millis_ |
| Time the build started. More... | |
| int | started_edges_ |
| int | total_edges_ |
Tracks the status of a build: completion fraction, printing updates.
|
private |
|
explicit |
Definition at line 81 of file build.cc.
References config_, BuildConfig::NORMAL, printer_, progress_status_format_, LinePrinter::set_smart_terminal(), and BuildConfig::verbosity.
| void BuildStatus::BuildEdgeFinished | ( | Edge * | edge, |
| bool | success, | ||
| const std::string & | output, | ||
| int * | start_time, | ||
| int * | end_time | ||
| ) |
Definition at line 111 of file build.cc.
References config_, Edge::EvaluateCommand(), finished_edges_, GetTimeMillis(), kEdgeFinished, Edge::outputs_, printer_, LinePrinter::PrintOnNewLine(), PrintStatus(), BuildConfig::QUIET, running_edges_, LinePrinter::SetConsoleLocked(), start_time_millis_, StripAnsiEscapeCodes(), LinePrinter::supports_color(), Edge::use_console(), and BuildConfig::verbosity.
Referenced by Builder::FinishCommand().
| void BuildStatus::BuildEdgeStarted | ( | const Edge * | edge | ) |
Definition at line 98 of file build.cc.
References GetTimeMillis(), LinePrinter::is_smart_terminal(), kEdgeStarted, printer_, PrintStatus(), running_edges_, LinePrinter::SetConsoleLocked(), start_time_millis_, started_edges_, and Edge::use_console().
Referenced by Builder::StartEdge().
| void BuildStatus::BuildFinished | ( | ) |
Definition at line 199 of file build.cc.
References printer_, LinePrinter::PrintOnNewLine(), and LinePrinter::SetConsoleLocked().
Referenced by Builder::Build().
| void BuildStatus::BuildLoadDyndeps | ( | ) |
Definition at line 180 of file build.cc.
References g_explaining, printer_, and LinePrinter::PrintOnNewLine().
Referenced by Builder::LoadDyndeps().
| void BuildStatus::BuildStarted | ( | ) |
Definition at line 194 of file build.cc.
References current_rate_, overall_rate_, BuildStatus::RateInfo::Restart(), and BuildStatus::SlidingRateInfo::Restart().
Referenced by Builder::Build().
| string BuildStatus::FormatProgressStatus | ( | const char * | progress_status_format, |
| EdgeStatus | status | ||
| ) | const |
Format the progress status string by replacing the placeholders.
See the user manual for more information about the available placeholders.
| progress_status_format | The format of the progress status. |
| status | The status of the edge. |
Definition at line 204 of file build.cc.
References current_rate_, BuildStatus::RateInfo::Elapsed(), Fatal(), finished_edges_, kEdgeFinished, overall_rate_, BuildStatus::RateInfo::rate(), BuildStatus::SlidingRateInfo::rate(), SnprintfRate(), started_edges_, total_edges_, BuildStatus::RateInfo::UpdateRate(), and BuildStatus::SlidingRateInfo::UpdateRate().
Referenced by PrintStatus().
| void BuildStatus::PlanHasTotalEdges | ( | int | total | ) |
Definition at line 94 of file build.cc.
References total_edges_.
Referenced by Builder::Build(), Builder::FinishCommand(), and Builder::LoadDyndeps().
|
private |
Definition at line 292 of file build.cc.
References config_, LinePrinter::ELIDE, FormatProgressStatus(), LinePrinter::FULL, Edge::GetBinding(), LinePrinter::Print(), printer_, progress_status_format_, BuildConfig::QUIET, BuildConfig::VERBOSE, and BuildConfig::verbosity.
Referenced by BuildEdgeFinished(), and BuildEdgeStarted().
|
inlineprivate |
Definition at line 284 of file build.h.
Referenced by FormatProgressStatus().
|
private |
Definition at line 266 of file build.h.
Referenced by BuildEdgeFinished(), BuildStatus(), and PrintStatus().
|
mutableprivate |
Definition at line 335 of file build.h.
Referenced by BuildStarted(), and FormatProgressStatus().
|
private |
Definition at line 271 of file build.h.
Referenced by BuildEdgeFinished(), and FormatProgressStatus().
|
mutableprivate |
Definition at line 334 of file build.h.
Referenced by BuildStarted(), and FormatProgressStatus().
|
private |
Prints progress output.
Definition at line 278 of file build.h.
Referenced by BuildEdgeFinished(), BuildEdgeStarted(), BuildFinished(), BuildLoadDyndeps(), BuildStatus(), and PrintStatus().
|
private |
The custom progress status format to use.
Definition at line 281 of file build.h.
Referenced by BuildStatus(), and PrintStatus().
|
private |
Definition at line 275 of file build.h.
Referenced by BuildEdgeFinished(), and BuildEdgeStarted().
|
private |
Time the build started.
Definition at line 269 of file build.h.
Referenced by BuildEdgeFinished(), and BuildEdgeStarted().
|
private |
Definition at line 271 of file build.h.
Referenced by BuildEdgeStarted(), and FormatProgressStatus().
|
private |
Definition at line 271 of file build.h.
Referenced by FormatProgressStatus(), and PlanHasTotalEdges().
1.8.14