Ninja
Public Member Functions | Private Types | Private Member Functions | Private Attributes
BuildStatus Struct Reference

Tracks the status of a build: completion fraction, printing updates. More...

List of all members.

Public Member Functions

void BuildEdgeFinished (Edge *edge, bool success, const string &output, int *start_time, int *end_time)
void BuildEdgeStarted (Edge *edge)
 BuildStatus (const BuildConfig &config)
void PlanHasTotalEdges (int total)

Private Types

typedef map< Edge *, int > RunningEdgeMap
 Map of running edge to time the edge started running.

Private Member Functions

void PrintStatus (Edge *edge)

Private Attributes

const BuildConfigconfig_
int finished_edges_
int64_t last_update_millis_
 Time we last printed an update.
RunningEdgeMap running_edges_
bool smart_terminal_
 Whether we can do fancy terminal control codes.
int64_t start_time_millis_
 Time the build started.
int started_edges_
int total_edges_

Detailed Description

Tracks the status of a build: completion fraction, printing updates.

Definition at line 36 of file build.cc.


Member Typedef Documentation

typedef map<Edge*, int> BuildStatus::RunningEdgeMap [private]

Map of running edge to time the edge started running.

Definition at line 56 of file build.cc.


Constructor & Destructor Documentation

BuildStatus::BuildStatus ( const BuildConfig config)

Definition at line 63 of file build.cc.

References config_, BuildConfig::NORMAL, smart_terminal_, and BuildConfig::verbosity.


Member Function Documentation

void BuildStatus::BuildEdgeFinished ( Edge edge,
bool  success,
const string &  output,
int *  start_time,
int *  end_time 
)
void BuildStatus::BuildEdgeStarted ( Edge edge)

Definition at line 84 of file build.cc.

References GetTimeMillis(), PrintStatus(), running_edges_, start_time_millis_, and started_edges_.

Referenced by Builder::StartEdge().

void BuildStatus::PlanHasTotalEdges ( int  total)

Definition at line 80 of file build.cc.

References total_edges_.

Referenced by Builder::Build(), and Builder::FinishEdge().

void BuildStatus::PrintStatus ( Edge edge) [private]

Member Data Documentation

Definition at line 46 of file build.cc.

Referenced by BuildEdgeFinished(), BuildStatus(), and PrintStatus().

Definition at line 53 of file build.cc.

Referenced by BuildEdgeFinished().

Time we last printed an update.

Definition at line 51 of file build.cc.

Referenced by BuildEdgeFinished().

Definition at line 57 of file build.cc.

Referenced by BuildEdgeFinished(), and BuildEdgeStarted().

Whether we can do fancy terminal control codes.

Definition at line 60 of file build.cc.

Referenced by BuildEdgeFinished(), BuildStatus(), and PrintStatus().

Time the build started.

Definition at line 49 of file build.cc.

Referenced by BuildEdgeFinished(), and BuildEdgeStarted().

Definition at line 53 of file build.cc.

Referenced by BuildEdgeStarted(), and PrintStatus().

Definition at line 53 of file build.cc.

Referenced by BuildEdgeFinished(), PlanHasTotalEdges(), and PrintStatus().


The documentation for this struct was generated from the following file: