From 3c672905d0f55c0c1dc0da3edc3929e330a27bdd Mon Sep 17 00:00:00 2001 From: Greg Becker Date: Fri, 9 Jun 2023 10:38:05 -0700 Subject: install status arg: update to default true and add inverse (#38252) * install status arg: update to default true and add inverse * update bash completion * fix tests broken by output change --- lib/spack/spack/cmd/common/arguments.py | 13 ++++++++++++- lib/spack/spack/cmd/solve.py | 6 +++++- lib/spack/spack/cmd/spec.py | 6 +++++- lib/spack/spack/test/cmd/spec.py | 4 ++-- 4 files changed, 24 insertions(+), 5 deletions(-) (limited to 'lib') diff --git a/lib/spack/spack/cmd/common/arguments.py b/lib/spack/spack/cmd/common/arguments.py index ae40f58fe0..bec9c630f8 100644 --- a/lib/spack/spack/cmd/common/arguments.py +++ b/lib/spack/spack/cmd/common/arguments.py @@ -349,7 +349,7 @@ def install_status(): "-I", "--install-status", action="store_true", - default=False, + default=True, help="show install status of packages. packages can be: " "installed [+], missing and needed by an installed package [-], " "installed in and upstream instance [^], " @@ -357,6 +357,17 @@ def install_status(): ) +@arg +def no_install_status(): + return Args( + "--no-install-status", + dest="install_status", + action="store_false", + default=True, + help="do not show install status annotations", + ) + + @arg def no_checksum(): return Args( diff --git a/lib/spack/spack/cmd/solve.py b/lib/spack/spack/cmd/solve.py index b97b405ccb..3b58290f4f 100644 --- a/lib/spack/spack/cmd/solve.py +++ b/lib/spack/spack/cmd/solve.py @@ -44,7 +44,11 @@ def setup_parser(subparser): ) # Below are arguments w.r.t. spec display (like spack spec) - arguments.add_common_arguments(subparser, ["long", "very_long", "install_status"]) + arguments.add_common_arguments(subparser, ["long", "very_long"]) + + install_status_group = subparser.add_mutually_exclusive_group() + arguments.add_common_arguments(install_status_group, ["install_status", "no_install_status"]) + subparser.add_argument( "-y", "--yaml", diff --git a/lib/spack/spack/cmd/spec.py b/lib/spack/spack/cmd/spec.py index 6fabc73310..ab24e85c6f 100644 --- a/lib/spack/spack/cmd/spec.py +++ b/lib/spack/spack/cmd/spec.py @@ -31,7 +31,11 @@ specs are used instead for further documentation regarding the spec syntax, see: spack help --spec """ - arguments.add_common_arguments(subparser, ["long", "very_long", "install_status"]) + arguments.add_common_arguments(subparser, ["long", "very_long"]) + + install_status_group = subparser.add_mutually_exclusive_group() + arguments.add_common_arguments(install_status_group, ["install_status", "no_install_status"]) + format_group = subparser.add_mutually_exclusive_group() format_group.add_argument( "-y", diff --git a/lib/spack/spack/test/cmd/spec.py b/lib/spack/spack/test/cmd/spec.py index 9d1ca0cf84..7e4401f313 100644 --- a/lib/spack/spack/test/cmd/spec.py +++ b/lib/spack/spack/test/cmd/spec.py @@ -157,7 +157,7 @@ def _parse_types(string): def test_spec_deptypes_nodes(): - output = spec("--types", "--cover", "nodes", "dt-diamond") + output = spec("--types", "--cover", "nodes", "--no-install-status", "dt-diamond") types = _parse_types(output) assert types["dt-diamond"] == [" "] @@ -167,7 +167,7 @@ def test_spec_deptypes_nodes(): def test_spec_deptypes_edges(): - output = spec("--types", "--cover", "edges", "dt-diamond") + output = spec("--types", "--cover", "edges", "--no-install-status", "dt-diamond") types = _parse_types(output) assert types["dt-diamond"] == [" "] -- cgit v1.2.3-60-g2f50