summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMassimiliano Culpo <massimiliano.culpo@gmail.com>2021-11-03 18:28:03 +0100
committerTodd Gamblin <tgamblin@llnl.gov>2021-11-05 00:15:47 -0700
commit31dfad9c16fd6c8cb7d6f07af449a2daf8c58f11 (patch)
tree115c7c13d53d538dbff5be0dbb40e0f1d3c5901b /lib
parente2744fafa16749a1b2c9d8cb5bf5e1c885ba841b (diff)
downloadspack-31dfad9c16fd6c8cb7d6f07af449a2daf8c58f11.tar.gz
spack-31dfad9c16fd6c8cb7d6f07af449a2daf8c58f11.tar.bz2
spack-31dfad9c16fd6c8cb7d6f07af449a2daf8c58f11.tar.xz
spack-31dfad9c16fd6c8cb7d6f07af449a2daf8c58f11.zip
spack install: add --reuse argument
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/cmd/__init__.py3
-rw-r--r--lib/spack/spack/cmd/install.py7
2 files changed, 6 insertions, 4 deletions
diff --git a/lib/spack/spack/cmd/__init__.py b/lib/spack/spack/cmd/__init__.py
index 501a668b7c..e5dbcd0b27 100644
--- a/lib/spack/spack/cmd/__init__.py
+++ b/lib/spack/spack/cmd/__init__.py
@@ -153,6 +153,7 @@ def parse_specs(args, **kwargs):
concretize = kwargs.get('concretize', False)
normalize = kwargs.get('normalize', False)
tests = kwargs.get('tests', False)
+ reuse = kwargs.get('reuse', False)
try:
sargs = args
@@ -161,7 +162,7 @@ def parse_specs(args, **kwargs):
specs = spack.spec.parse(sargs)
for spec in specs:
if concretize:
- spec.concretize(tests=tests) # implies normalize
+ spec.concretize(tests=tests, reuse=reuse) # implies normalize
elif normalize:
spec.normalize(tests=tests)
diff --git a/lib/spack/spack/cmd/install.py b/lib/spack/spack/cmd/install.py
index 5463132878..c04fb23ea3 100644
--- a/lib/spack/spack/cmd/install.py
+++ b/lib/spack/spack/cmd/install.py
@@ -78,7 +78,7 @@ the dependencies"""
subparser.add_argument(
'-u', '--until', type=str, dest='until', default=None,
help="phase to stop after when installing (default None)")
- arguments.add_common_arguments(subparser, ['jobs'])
+ arguments.add_common_arguments(subparser, ['jobs', 'reuse'])
subparser.add_argument(
'--overwrite', action='store_true',
help="reinstall an existing spec, even if it has dependents")
@@ -338,7 +338,7 @@ environment variables:
if not args.only_concrete:
with env.write_transaction():
- concretized_specs = env.concretize(tests=tests)
+ concretized_specs = env.concretize(tests=tests, reuse=args.reuse)
ev.display_specs(concretized_specs)
# save view regeneration for later, so that we only do it
@@ -392,7 +392,8 @@ environment variables:
try:
specs = spack.cmd.parse_specs(
- args.spec, concretize=True, tests=tests)
+ args.spec, concretize=True, tests=tests, reuse=args.reuse
+ )
except SpackError as e:
tty.debug(e)
reporter.concretization_report(e.message)