diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2018-05-13 10:36:58 -0400 |
---|---|---|
committer | Xavier Claessens <xavier.claessens@collabora.com> | 2018-10-04 09:40:21 -0400 |
commit | 37067a53c4b3b99982ef8e1f431ba0c9302b66e8 (patch) | |
tree | 7d3ebbb24b45bf6cfdb2a76a4dcdabf8808a346c /mesonbuild/mintro.py | |
parent | 5af2717e76015b47bfc2b11d4034099d9b62d978 (diff) | |
download | meson-37067a53c4b3b99982ef8e1f431ba0c9302b66e8.zip meson-37067a53c4b3b99982ef8e1f431ba0c9302b66e8.tar.gz meson-37067a53c4b3b99982ef8e1f431ba0c9302b66e8.tar.bz2 |
Use a single ArgumentParser for all subcommands
This has the adventage that "meson --help" shows a list of all commands,
making them discoverable. This also reduce the manual parsing of
arguments to the strict minimum needed for backward compatibility.
Diffstat (limited to 'mesonbuild/mintro.py')
-rw-r--r-- | mesonbuild/mintro.py | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/mesonbuild/mintro.py b/mesonbuild/mintro.py index 188459a..b15a608 100644 --- a/mesonbuild/mintro.py +++ b/mesonbuild/mintro.py @@ -23,12 +23,10 @@ import json from . import build, mtest, coredata as cdata from . import mesonlib from .backend import ninjabackend -import argparse import sys, os import pathlib -def buildparser(): - parser = argparse.ArgumentParser(prog='meson introspect') +def add_arguments(parser): parser.add_argument('--targets', action='store_true', dest='list_targets', default=False, help='List top level targets.') parser.add_argument('--installed', action='store_true', dest='list_installed', default=False, @@ -48,7 +46,6 @@ def buildparser(): parser.add_argument('--projectinfo', action='store_true', dest='projectinfo', default=False, help='Information about projects.') parser.add_argument('builddir', nargs='?', default='.', help='The build directory') - return parser def determine_installed_path(target, installdata): install_target = None @@ -206,9 +203,8 @@ def list_projinfo(builddata): result['subprojects'] = subprojects print(json.dumps(result)) -def run(args): +def run(options): datadir = 'meson-private' - options = buildparser().parse_args(args) if options.builddir is not None: datadir = os.path.join(options.builddir, datadir) if not os.path.isdir(datadir): |