aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSasha Smundak <asmundak@google.com>2021-11-19 11:04:48 -0800
committerSasha Smundak <asmundak@google.com>2021-11-22 09:58:48 -0800
commited250d061bd8d7682c9f434c58dd3cebeb90f4ec (patch)
treec2fc183f402d6a12ca0dabcf3b88260025b4a67d
parent826625d95f30b001cef64959e624e5d7076ed507 (diff)
downloadninja-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.h1
-rw-r--r--src/ninja.cc6
-rw-r--r--src/status.cc3
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;