diff options
author | Sasha Smundak <asmundak@google.com> | 2021-11-19 11:04:48 -0800 |
---|---|---|
committer | Sasha Smundak <asmundak@google.com> | 2021-11-22 09:58:48 -0800 |
commit | ed250d061bd8d7682c9f434c58dd3cebeb90f4ec (patch) | |
tree | c2fc183f402d6a12ca0dabcf3b88260025b4a67d | |
parent | 826625d95f30b001cef64959e624e5d7076ed507 (diff) | |
download | ninja-ed250d061bd8d7682c9f434c58dd3cebeb90f4ec.tar.gz |
Add --quiet option that suppresses status updates.
Cherrypick a567ebb6ef75bfda9204900e4fcbcd7ee2785f61 from upstream
Test: no build progress messages (Soong changes required)
Change-Id: Iddcd0caf4d7ae0c88b6171d51f7786a2e87a6b4a
-rw-r--r-- | src/build.h | 1 | ||||
-rw-r--r-- | src/ninja.cc | 6 | ||||
-rw-r--r-- | src/status.cc | 3 |
3 files changed, 9 insertions, 1 deletions
diff --git a/src/build.h b/src/build.h index 45938ad..b335a7d 100644 --- a/src/build.h +++ b/src/build.h @@ -176,6 +176,7 @@ struct BuildConfig { enum Verbosity { NORMAL, + NO_STATUS_UPDATE, // just regular output but suppress status update QUIET, // No output -- used when testing. VERBOSE }; diff --git a/src/ninja.cc b/src/ninja.cc index 62eb5b9..0497ba1 100644 --- a/src/ninja.cc +++ b/src/ninja.cc @@ -226,6 +226,7 @@ void Usage(const BuildConfig& config) { "options:\n" " --version print ninja version (\"%s\")\n" " -v, --verbose show all command lines while building\n" +" --quiet don't show progress status, just command output\n" "\n" " -C DIR change to DIR before doing anything else\n" " -f FILE specify input build file [default=build.ninja]\n" @@ -1446,6 +1447,7 @@ int ReadFlags(int* argc, char*** argv, OPT_VERSION = 1, OPT_FRONTEND = 2, OPT_FRONTEND_FILE = 3, + OPT_QUIET = 4, }; const option kLongOptions[] = { #ifndef _WIN32 @@ -1455,6 +1457,7 @@ int ReadFlags(int* argc, char*** argv, { "help", no_argument, NULL, 'h' }, { "version", no_argument, NULL, OPT_VERSION }, { "verbose", no_argument, NULL, 'v' }, + { "quiet", no_argument, NULL, OPT_QUIET }, { NULL, 0, NULL, 0 } }; @@ -1512,6 +1515,9 @@ int ReadFlags(int* argc, char*** argv, case 'v': config->verbosity = BuildConfig::VERBOSE; break; + case OPT_QUIET: + config->verbosity = BuildConfig::NO_STATUS_UPDATE; + break; case 'w': if (!WarningEnable(optarg, options, config)) return 1; diff --git a/src/status.cc b/src/status.cc index 0b05ea0..324a1a3 100644 --- a/src/status.cc +++ b/src/status.cc @@ -217,7 +217,8 @@ string StatusPrinter::FormatProgressStatus(const char* progress_status_format, } void StatusPrinter::PrintStatus(Edge* edge, int64_t time_millis) { - if (config_.verbosity == BuildConfig::QUIET) + if (config_.verbosity == BuildConfig::QUIET + || config_.verbosity == BuildConfig::NO_STATUS_UPDATE) return; bool force_full_command = config_.verbosity == BuildConfig::VERBOSE; |