|
Ninja
|
Tracks the status of a build: completion fraction, printing updates. More...
#include <build.h>
Classes | |
| struct | RateInfo |
| struct | SlidingRateInfo |
Public Member Functions | |
| void | BuildEdgeFinished (Edge *edge, bool success, const string &output, int *start_time, int *end_time) |
| void | BuildEdgeStarted (Edge *edge) |
| void | BuildFinished () |
| BuildStatus (const BuildConfig &config) | |
| string | FormatProgressStatus (const char *progress_status_format) const |
| Format the progress status string by replacing the placeholders. More... | |
| void | PlanHasTotalEdges (int total) |
Private Types | |
| typedef map< Edge *, int > | RunningEdgeMap |
| Map of running edge to time the edge started running. More... | |
Private Member Functions | |
| void | PrintStatus (Edge *edge) |
| template<size_t S> | |
| void | snprinfRate (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 73 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 string & | output, | ||
| int * | start_time, | ||
| int * | end_time | ||
| ) |
Definition at line 101 of file build.cc.
References config_, Edge::EvaluateCommand(), finished_edges_, GetTimeMillis(), LinePrinter::is_smart_terminal(), printer_, LinePrinter::PrintOnNewLine(), PrintStatus(), BuildConfig::QUIET, running_edges_, start_time_millis_, StripAnsiEscapeCodes(), and BuildConfig::verbosity.
Referenced by Builder::FinishCommand().
| void BuildStatus::BuildEdgeStarted | ( | Edge * | edge | ) |
Definition at line 93 of file build.cc.
References GetTimeMillis(), PrintStatus(), running_edges_, start_time_millis_, and started_edges_.
Referenced by Builder::StartEdge().
| void BuildStatus::BuildFinished | ( | ) |
Definition at line 146 of file build.cc.
References printer_, and LinePrinter::PrintOnNewLine().
Referenced by Builder::Build().
| string BuildStatus::FormatProgressStatus | ( | const char * | progress_status_format | ) | 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. |
Definition at line 150 of file build.cc.
References current_rate_, BuildStatus::RateInfo::Elapsed(), Fatal(), finished_edges_, overall_rate_, BuildStatus::RateInfo::rate(), BuildStatus::SlidingRateInfo::rate(), snprinfRate(), started_edges_, total_edges_, BuildStatus::RateInfo::UpdateRate(), and BuildStatus::SlidingRateInfo::UpdateRate().
Referenced by PrintStatus().
| void BuildStatus::PlanHasTotalEdges | ( | int | total | ) |
Definition at line 89 of file build.cc.
References total_edges_.
Referenced by Builder::Build(), and Builder::FinishCommand().
|
private |
Definition at line 233 of file build.cc.
References config_, current_rate_, LinePrinter::ELIDE, finished_edges_, FormatProgressStatus(), LinePrinter::FULL, Edge::GetBinding(), overall_rate_, LinePrinter::Print(), printer_, progress_status_format_, BuildConfig::QUIET, BuildStatus::RateInfo::Restart(), BuildStatus::SlidingRateInfo::Restart(), BuildConfig::VERBOSE, and BuildConfig::verbosity.
Referenced by BuildEdgeFinished(), and BuildEdgeStarted().
|
inlineprivate |
Definition at line 227 of file build.h.
Referenced by FormatProgressStatus().
|
private |
Definition at line 209 of file build.h.
Referenced by BuildEdgeFinished(), BuildStatus(), and PrintStatus().
|
mutableprivate |
Definition at line 276 of file build.h.
Referenced by FormatProgressStatus(), and PrintStatus().
|
private |
Definition at line 214 of file build.h.
Referenced by BuildEdgeFinished(), FormatProgressStatus(), and PrintStatus().
|
mutableprivate |
Definition at line 275 of file build.h.
Referenced by FormatProgressStatus(), and PrintStatus().
|
private |
Prints progress output.
Definition at line 221 of file build.h.
Referenced by BuildEdgeFinished(), BuildFinished(), BuildStatus(), and PrintStatus().
|
private |
The custom progress status format to use.
Definition at line 224 of file build.h.
Referenced by BuildStatus(), and PrintStatus().
|
private |
Definition at line 218 of file build.h.
Referenced by BuildEdgeFinished(), and BuildEdgeStarted().
|
private |
Time the build started.
Definition at line 212 of file build.h.
Referenced by BuildEdgeFinished(), and BuildEdgeStarted().
|
private |
Definition at line 214 of file build.h.
Referenced by BuildEdgeStarted(), and FormatProgressStatus().
|
private |
Definition at line 214 of file build.h.
Referenced by FormatProgressStatus(), and PlanHasTotalEdges().
1.8.7