Build API: Parse known CLI args
Avoid CLI backwards compatibility issues with parse_known_args.
BUG=None
TEST=manual, cq
Change-Id: Ifd396a7580507ed9ed793c401d24f79eeb9f8a59
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1972197
Commit-Queue: Alex Klein <saklein@chromium.org>
Tested-by: Alex Klein <saklein@chromium.org>
Reviewed-by: Michael Mortensen <mmortensen@google.com>
diff --git a/scripts/build_api.py b/scripts/build_api.py
index 339ac2e..35e0752 100644
--- a/scripts/build_api.py
+++ b/scripts/build_api.py
@@ -107,7 +107,12 @@
def _ParseArgs(argv, router):
"""Parse and validate arguments."""
parser = GetParser()
- opts = parser.parse_args(argv)
+ opts, unknown = parser.parse_known_args(
+ argv, namespace=commandline.ArgumentNamespace())
+ parser.DoPostParseSetup(opts, unknown)
+
+ if unknown:
+ logging.warning('Unknown args ignored: %s', ' '.join(unknown))
methods = router.ListMethods()