15 #ifndef NINJA_BUILD_LOG_H_ 16 #define NINJA_BUILD_LOG_H_ 83 bool WriteEntry(FILE* f,
const LogEntry& entry);
91 int output_count,
char** outputs, std::string* err);
107 #endif // NINJA_BUILD_LOG_H_ bool OpenForWrite(const std::string &path, const BuildLogUser &user, std::string *err)
Prepares writing to the log file without actually opening it - that will happen when/if it's needed...
bool Recompact(const std::string &path, const BuildLogUser &user, std::string *err)
Rewrite the known log entries, throwing away old data.
ExternalStringHashMap< LogEntry * >::Type Entries
const Entries & entries() const
LoadStatus Load(const std::string &path, std::string *err)
Load the on-disk log.
bool RecordCommand(Edge *edge, int start_time, int end_time, TimeStamp mtime=0)
bool Restat(StringPiece path, const DiskInterface &disk_interface, int output_count, char **outputs, std::string *err)
Restat all outputs in the log.
StringPiece represents a slice of a string whose memory is managed externally.
bool operator==(const LogEntry &o)
bool WriteEntry(FILE *f, const LogEntry &entry)
Serialize an entry into a log file.
Interface for accessing the disk.
An edge in the dependency graph; links between Nodes using Rules.
Store a log of every command ran for every build.
virtual bool IsPathDead(StringPiece s) const =0
Return if a given output is no longer part of the build manifest.
A template for hash_maps keyed by a StringPiece whose string is owned externally (typically by the va...
bool OpenForWriteIfNeeded()
Should be called before using log_file_.
std::string log_file_path_
static uint64_t HashCommand(StringPiece command)
LogEntry * LookupByOutput(const std::string &path)
Lookup a previously-run command by its output path.
unsigned long long uint64_t
LogEntry(const std::string &output)
Can answer questions about the manifest for the BuildLog.