environment view use new traversal (#34662)
This commit is contained in:
parent
6984ee291a
commit
2e8d165120
@ -532,18 +532,18 @@ def specs_for_view(self, concretized_root_specs):
|
|||||||
From the list of concretized user specs in the environment, flatten
|
From the list of concretized user specs in the environment, flatten
|
||||||
the dags, and filter selected, installed specs, remove duplicates on dag hash.
|
the dags, and filter selected, installed specs, remove duplicates on dag hash.
|
||||||
"""
|
"""
|
||||||
specs = []
|
dag_hash = lambda spec: spec.dag_hash()
|
||||||
|
|
||||||
for s in concretized_root_specs:
|
# With deps, requires traversal
|
||||||
if self.link == "all":
|
if self.link == "all" or self.link == "run":
|
||||||
specs.extend(s.traverse(deptype=("link", "run")))
|
deptype = ("run") if self.link == "run" else ("link", "run")
|
||||||
elif self.link == "run":
|
specs = list(
|
||||||
specs.extend(s.traverse(deptype=("run")))
|
spack.traverse.traverse_nodes(
|
||||||
else:
|
concretized_root_specs, deptype=deptype, key=dag_hash
|
||||||
specs.append(s)
|
)
|
||||||
|
)
|
||||||
# De-dupe by dag hash
|
else:
|
||||||
specs = dedupe(specs, key=lambda s: s.dag_hash())
|
specs = list(dedupe(concretized_root_specs, key=dag_hash))
|
||||||
|
|
||||||
# Filter selected, installed specs
|
# Filter selected, installed specs
|
||||||
with spack.store.db.read_transaction():
|
with spack.store.db.read_transaction():
|
||||||
|
Loading…
Reference in New Issue
Block a user