spack install: add --reuse argument

This commit is contained in:
Massimiliano Culpo
2021-11-03 18:28:03 +01:00
committed by Todd Gamblin
parent e2744fafa1
commit 31dfad9c16
3 changed files with 7 additions and 5 deletions

View File

@@ -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)

View File

@@ -78,7 +78,7 @@ def setup_parser(subparser):
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 @@ def get_tests(specs):
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 @@ def get_tests(specs):
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)