15 #ifndef NINJA_STATUS_H_ 16 #define NINJA_STATUS_H_ 30 bool success,
const std::string& output) = 0;
35 virtual void Info(
const char* msg, ...) = 0;
36 virtual void Warning(
const char* msg, ...) = 0;
37 virtual void Error(
const char* msg, ...) = 0;
49 bool success,
const std::string& output);
54 virtual void Info(
const char* msg, ...);
55 virtual void Warning(
const char* msg, ...);
56 virtual void Error(
const char* msg, ...);
83 void SnprintfRate(
double rate,
char(&buf)[S],
const char* format)
const {
85 snprintf(buf, S,
"?");
87 snprintf(buf, S, format, rate);
117 #endif // NINJA_STATUS_H_
void SnprintfRate(double rate, char(&buf)[S], const char *format) const
virtual void Warning(const char *msg,...)
virtual void Warning(const char *msg,...)=0
virtual void Info(const char *msg,...)
virtual void BuildEdgeStarted(const Edge *edge, int64_t start_time_millis)=0
virtual void BuildFinished()
Implementation of the Status interface that prints the status as human-readable strings to stdout...
An edge in the dependency graph; links between Nodes using Rules.
virtual void BuildLoadDyndeps()=0
std::queue< double > times_
signed long long int64_t
A 64-bit integer type.
const BuildConfig & config_
virtual void PlanHasTotalEdges(int total)=0
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.
Abstract interface to object that tracks the status of a build: completion fraction, printing updates.
const char * progress_status_format_
The custom progress status format to use.
SlidingRateInfo current_rate_
virtual void BuildStarted()=0
virtual void BuildEdgeFinished(Edge *edge, int64_t end_time_millis, bool success, const std::string &output)=0
virtual void BuildFinished()=0
LinePrinter printer_
Prints progress output.
virtual void Info(const char *msg,...)=0
virtual void Error(const char *msg,...)
void UpdateRate(int update_hint, int64_t time_millis_)
Options (e.g. verbosity, parallelism) passed to a build.
Prints lines of text, possibly overprinting previously printed lines if the terminal supports it...
virtual void BuildEdgeStarted(const Edge *edge, int64_t start_time_millis)
virtual void PlanHasTotalEdges(int total)
virtual void BuildLoadDyndeps()
virtual void Error(const char *msg,...)=0
void PrintStatus(const Edge *edge, int64_t time_millis)