31 started_edges_(0), finished_edges_(0), total_edges_(0), running_edges_(0),
32 time_millis_(0), progress_status_format_(NULL),
33 current_rate_(config.parallelism) {
62 bool success,
const string& output) {
80 for (vector<Node*>::const_iterator o = edge->
outputs_.begin();
82 outputs += (*o)->path() +
" ";
92 if (!output.empty()) {
108 final_output = output;
112 _setmode(_fileno(stdout), _O_BINARY);
118 _setmode(_fileno(stdout), _O_TEXT);
152 for (
const char* s = progress_status_format; *s !=
'\0'; ++s) {
207 snprintf(buf,
sizeof(buf),
"%3i%%", percent);
219 Fatal(
"unknown placeholder '%%%c' in $NINJA_STATUS", *s);
237 string to_print = edge->
GetBinding(
"description");
238 if (to_print.empty() || force_full_command)
void SnprintfRate(double rate, char(&buf)[S], const char *format) const
bool supports_color() const
virtual void Warning(const char *msg,...)
void Print(std::string to_print, LineType type)
Overprints the current line.
virtual void Info(const char *msg,...)
virtual void BuildFinished()
std::vector< Node * > outputs_
An edge in the dependency graph; links between Nodes using Rules.
signed long long int64_t
A 64-bit integer type.
const BuildConfig & config_
virtual void BuildStarted()
StatusPrinter(const BuildConfig &config)
virtual void BuildEdgeFinished(Edge *edge, int64_t end_time_millis, bool success, const std::string &output)
std::string FormatProgressStatus(const char *progress_status_format, int64_t time_millis) const
Format the progress status string by replacing the placeholders.
const char * progress_status_format_
The custom progress status format to use.
void set_smart_terminal(bool smart)
void SetConsoleLocked(bool locked)
Lock or unlock the console.
SlidingRateInfo current_rate_
std::string GetBinding(const std::string &key) const
Returns the shell-escaped value of |key|.
bool is_smart_terminal() const
string StripAnsiEscapeCodes(const string &in)
void Fatal(const char *msg,...)
Log a fatal message and exit.
LinePrinter printer_
Prints progress output.
std::string EvaluateCommand(bool incl_rsp_file=false) const
Expand all variables in a command and return it as a string.
virtual void Error(const char *msg,...)
void UpdateRate(int update_hint, int64_t time_millis_)
Options (e.g. verbosity, parallelism) passed to a build.
virtual void BuildEdgeStarted(const Edge *edge, int64_t start_time_millis)
virtual void PlanHasTotalEdges(int total)
void PrintOnNewLine(const std::string &to_print)
Prints a string on a new line, not overprinting previous output.
virtual void BuildLoadDyndeps()
void PrintStatus(const Edge *edge, int64_t time_millis)