summaryrefslogtreecommitdiffstats
path: root/src/manifest_parser.cc
Commit message (Collapse)AuthorAgeFilesLines
* fix order of args to CanonicalizePathScott Graham2014-11-091-3/+3
|
* remove CanonicalizePath overloads, test for toplevel behaviourScott Graham2014-11-091-1/+2
|
* wip on adding tests at higher level, some not rightScott Graham2014-11-081-4/+6
|
* Provide an error message on malformed lets. Fixes #807.Nico Weber2014-09-041-1/+1
|
* wip for console pool on windowsNico Weber2014-05-131-4/+0
|
* Merge pull request #714 from pcc/console-poolNico Weber2014-04-171-0/+4
|\ | | | | Introduce the "console" pool
| * Introduce the "console" poolPeter Collingbourne2014-02-031-0/+4
| | | | | | | | | | | | | | This is a pre-defined pool with a depth of 1. It has the special property that any task in the pool has direct access to the console. This can be useful for interactive tasks or long-running tasks which produce status updates on the console (such as test suites).
* | Allocate per-edge BindingEnvs lazily.Nico Weber2014-02-111-4/+5
|/ | | | | | | In chrome, only 2000 of 22000 build edges have bindings. A BindingEnv is 64 bytes, so allocating these only when needed saves a bit over 1 MB of memory. Since env chains are shorter for lookups, builds also become a tiny bit faster.
* Fix diagnostic formatting regression caused by adaa91a33eb2cf23b88.Nico Weber2013-07-191-3/+5
| | | | | | | | | | | | | Ninja regressed to include a location for every file on the include stack for nested diagnostics, i.e. it would print: input:1: include.ninja:1: expected path Fix this so that it prints only the current file location, like it used to: include.ninja:1: expected path Also add a test for this.
* Add back contents.resize(), but with a comment and just 1 instead of 10.Nico Weber2013-07-181-0/+8
|
* Let the ".ninja parse" metric include the time to read the toplevel ninja file.Nico Weber2013-07-111-1/+1
| | | | | | Loads of included ninja files were covered by the ".ninja parse" in Parse() further up the stack from the toplevel file, but the load of the toplevel file wasn't counted. Fix that.
* Reuse ManifestParser::Load() in ManifestParser::ParseFileInclude().Nico Weber2013-07-111-9/+3
| | | | | | | | | | | | | | | | ParseFileInclude() was doing the work that Load() was doing. Instead, just make it call Load(). Also, remove a FIXME about using ReadPath() in ParseFileInclude() -- it's already being used. (The FIXME was added in the same commit that added the call to ReadPath() -- 8a0c96075786c19 -- it probably should've been deleted before that commit.) Also, remove a `contents.resize(contents.size() + 10);`. It's not clear what it's for, but if it was important then ManifestParser::ParseFileInclude() would have needed that call too, and it didn't have it. No intended behavior change.
* Improve error message for duplicate rules and unknown pools.Nico Weber2013-07-021-5/+3
| | | | | Also add more tests for invalid manifests. According to gcov, these invalid inputs weren't tested before.
* Add stdlib.h include for atol().Nico Weber2013-06-221-0/+1
| | | | | This attempts to fix issue #600. `man atol` claims that atol() is in stdlib.h, which wasn't included yet.
* Remove a few unused includes.Nico Weber2013-05-121-3/+1
|
* make it an error for now to have multiple outputs with depslogEvan Martin2013-04-081-0/+8
|
* add syntax for checking versionsEvan Martin2013-02-161-3/+9
|
* rearrange handling of builtin bindings to make rules simplerEvan Martin2012-12-291-51/+25
| | | | | Now, a 'build' block can override any special binding like 'command' or 'description' if it needs to.
* wrap some overlong linesEvan Martin2012-12-291-2/+4
|
* begin rationalizing platform for both parsersRobert Iannucci2012-11-101-7/+5
|
* block parse method doneRobert Iannucci2012-11-101-2/+66
|
* all building and tests passingRobert Iannucci2012-11-091-1/+1
|
* stub out an api and de-constify PoolRobert Iannucci2012-11-091-1/+1
|
* reject tabs (and CRs) in input files more aggressivelyEvan Martin2012-08-021-2/+3
|
* Rename parsers.* to manifest_parser.*Thiago Farina2012-07-091-0/+327
So it matches with the class name in there. Signed-off-by: Thiago Farina <tfarina@chromium.org>