summaryrefslogtreecommitdiffstats
path: root/src/clean.h
Commit message (Collapse)AuthorAgeFilesLines
* Adding a way to clean dead build artifacts that have an entry in the build log,ikifof2019-05-251-0/+5
| | | | | | | | | | | | but are no longer produced by the current manifest. For now adding a dedicated "-t cleandead" option, since it should be run after reading the log; ideally it should be part of the build config and done before to start looking for dirty targets so that an incremental build would produce the same end result as a clean build from scratch. But since I am not 100% sure to understand the comment in the NinjaMain::isPathDead(), I opted to make it a tool for now to avoid impacting users who want to keep those files. The option name "cleandead" was selected insteadof something like "reap" to keep the "clean" prefix.
* clean: remove outputs specified by dyndep filesBrad King2019-04-181-0/+5
| | | | | | Some outputs may not be known in the main build manifest and are instead discovered through a dyndep binding. Load dyndep files that are available during cleaning so that we can clean these outputs too.
* clean: remove unnecessary Cleaner constructor variantBrad King2019-04-181-4/+0
| | | | | | | | `Cleaner` provides two constructors that are the same except that one constructs a "real" disk interface internally and the other takes a caller-provided disk interface. A real disk interface is already available at the only call site for the former constructor. Use it directly and drop the unnecessary constructor variant.
* fix all "class" -> "struct"Evan Martin2012-12-291-2/+1
|
* refactor repeated code in cleanerEvan Martin2012-10-311-0/+4
|
* Improve the efficiency of -t cleanPetr Wolf2012-10-041-0/+1
| | | | | Prevent each node from being examined for cleaning multiple times, if it is used in several other nodes
* Remove #pragma once from our header files.Thiago Farina2012-07-171-1/+0
| | | | | | https://github.com/martine/ninja/issues/358 Signed-off-by: Thiago Farina <tfarina@chromium.org>
* Implement generator rulesPeter Collingbourne2011-10-151-2/+3
| | | | | | | | | | | | | Introduce a rule attribute "generator" which, if present, specifies that this rule is used to re-invoke the generator program. Files built using generator rules are treated specially in two ways: firstly, they will not be rebuilt if the command line changes; and secondly, they are not cleaned by default. A command line flag "-g" is introduced for the clean tool, which causes it to remove generator files. Fixes issue #102.
* Make Cleaner::config_ a reference-to-const instead of copying the value.Thiago Farina2011-09-091-4/+5
| | | | Signed-off-by: Thiago Farina <tfarina@chromium.org>
* Fix trivial style issues with Cleaner class.Thiago Farina2011-08-091-5/+3
| | | | Signed-off-by: Thiago Farina <tfarina@chromium.org>
* Return non-zero status when errors occur.Nicolas Despres2011-05-021-4/+9
| | | | | | Clean all was not returning non-zero when an error occur (like when failing to remove a directory). This patch fix the problem and add a test for it.
* Add a test for the clean tool.Nicolas Despres2011-05-021-3/+34
| | | | It also fix a bug about the count of removed file reported.
* Add the 'clean' tool.Nicolas Despres2011-04-261-0/+68
It removes built files either by rule or target or everything.