|
Ninja
|
Implementation of the Status interface that prints the status as human-readable strings to stdout. More...
#include <status.h>

Classes | |
| struct | SlidingRateInfo |
Public Member Functions | |
| virtual void | BuildEdgeFinished (Edge *edge, int64_t end_time_millis, bool success, const std::string &output) |
| virtual void | BuildEdgeStarted (const Edge *edge, int64_t start_time_millis) |
| virtual void | BuildFinished () |
| virtual void | BuildLoadDyndeps () |
| virtual void | BuildStarted () |
| virtual void | Error (const char *msg,...) |
| std::string | FormatProgressStatus (const char *progress_status_format, int64_t time_millis) const |
| Format the progress status string by replacing the placeholders. More... | |
| virtual void | Info (const char *msg,...) |
| virtual void | PlanHasTotalEdges (int total) |
| StatusPrinter (const BuildConfig &config) | |
| virtual void | Warning (const char *msg,...) |
| virtual | ~StatusPrinter () |
Private Member Functions | |
| void | PrintStatus (const Edge *edge, int64_t time_millis) |
| 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_ |
| LinePrinter | printer_ |
| Prints progress output. More... | |
| const char * | progress_status_format_ |
| The custom progress status format to use. More... | |
| int | running_edges_ |
| int | started_edges_ |
| int64_t | time_millis_ |
| int | total_edges_ |
Implementation of the Status interface that prints the status as human-readable strings to stdout.
|
explicit |
Definition at line 29 of file status.cc.
References config_, BuildConfig::NORMAL, printer_, progress_status_format_, LinePrinter::set_smart_terminal(), and BuildConfig::verbosity.
|
virtual |
Implements Status.
Definition at line 61 of file status.cc.
References config_, Edge::EvaluateCommand(), finished_edges_, Edge::outputs_, printer_, LinePrinter::PrintOnNewLine(), PrintStatus(), BuildConfig::QUIET, running_edges_, LinePrinter::SetConsoleLocked(), StripAnsiEscapeCodes(), LinePrinter::supports_color(), time_millis_, Edge::use_console(), and BuildConfig::verbosity.
Implements Status.
Definition at line 48 of file status.cc.
References LinePrinter::is_smart_terminal(), printer_, PrintStatus(), running_edges_, LinePrinter::SetConsoleLocked(), started_edges_, time_millis_, and Edge::use_console().
|
virtual |
Implements Status.
Definition at line 143 of file status.cc.
References printer_, LinePrinter::PrintOnNewLine(), and LinePrinter::SetConsoleLocked().
|
virtual |
Implements Status.
Definition at line 123 of file status.cc.
References g_explaining, printer_, and LinePrinter::PrintOnNewLine().
|
virtual |
Implements Status.
Definition at line 137 of file status.cc.
References finished_edges_, running_edges_, and started_edges_.
Referenced by TEST().
|
virtual |
| string StatusPrinter::FormatProgressStatus | ( | const char * | progress_status_format, |
| int64_t | time_millis | ||
| ) | 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 148 of file status.cc.
References current_rate_, Fatal(), finished_edges_, StatusPrinter::SlidingRateInfo::rate(), running_edges_, SnprintfRate(), started_edges_, time_millis_, total_edges_, and StatusPrinter::SlidingRateInfo::UpdateRate().
Referenced by PrintStatus(), and TEST().
|
virtual |
|
virtual |
Definition at line 230 of file status.cc.
References config_, LinePrinter::ELIDE, FormatProgressStatus(), LinePrinter::FULL, Edge::GetBinding(), BuildConfig::NO_STATUS_UPDATE, LinePrinter::Print(), printer_, progress_status_format_, BuildConfig::QUIET, BuildConfig::VERBOSE, and BuildConfig::verbosity.
Referenced by BuildEdgeFinished(), and BuildEdgeStarted().
|
inlineprivate |
Definition at line 83 of file status.h.
Referenced by FormatProgressStatus().
|
virtual |
|
private |
Definition at line 71 of file status.h.
Referenced by BuildEdgeFinished(), PrintStatus(), and StatusPrinter().
|
mutableprivate |
Definition at line 114 of file status.h.
Referenced by FormatProgressStatus().
|
private |
Definition at line 73 of file status.h.
Referenced by BuildEdgeFinished(), BuildStarted(), and FormatProgressStatus().
|
private |
Prints progress output.
Definition at line 77 of file status.h.
Referenced by BuildEdgeFinished(), BuildEdgeStarted(), BuildFinished(), BuildLoadDyndeps(), PrintStatus(), and StatusPrinter().
|
private |
The custom progress status format to use.
Definition at line 80 of file status.h.
Referenced by PrintStatus(), and StatusPrinter().
|
private |
Definition at line 73 of file status.h.
Referenced by BuildEdgeFinished(), BuildEdgeStarted(), BuildStarted(), and FormatProgressStatus().
|
private |
Definition at line 73 of file status.h.
Referenced by BuildEdgeStarted(), BuildStarted(), and FormatProgressStatus().
|
private |
Definition at line 74 of file status.h.
Referenced by BuildEdgeFinished(), BuildEdgeStarted(), FormatProgressStatus(), and StatusPrinter::SlidingRateInfo::UpdateRate().
|
private |
Definition at line 73 of file status.h.
Referenced by FormatProgressStatus(), and PlanHasTotalEdges().
1.8.14