15 #ifndef NINJA_DEPS_LOG_H_
16 #define NINJA_DEPS_LOG_H_
64 DepsLog() : needs_recompaction_(false), file_(NULL) {}
68 bool OpenForWrite(
const string& path,
string* err);
69 bool RecordDeps(
Node* node,
TimeStamp mtime,
const vector<Node*>& nodes);
75 Deps(
int mtime,
int node_count)
76 : mtime(mtime), node_count(node_count), nodes(new
Node*[node_count]) {}
82 bool Load(
const string& path,
State* state,
string* err);
86 bool Recompact(
const string& path,
string* err);
89 const vector<Node*>&
nodes()
const {
return nodes_; }
90 const vector<Deps*>&
deps()
const {
return deps_; }
95 bool UpdateDeps(
int out_id, Deps* deps);
97 bool RecordId(
Node* node);
107 friend struct DepsLogTest;
110 #endif // NINJA_DEPS_LOG_H_
vector< Deps * > deps_
Maps id -> deps of that id.
Information about a node in the dependency graph: the file, whether it's dirty, mtime, etc.
Deps(int mtime, int node_count)
As build commands run they can output extra dependency information (e.g.
vector< Node * > nodes_
Maps id -> Node.
const vector< Deps * > & deps() const
Global state (file status, loaded rules) for a single run.
const vector< Node * > & nodes() const
Used for tests.