concretization: move spec concretization logic to spack.concretize#47971
concretization: move spec concretization logic to spack.concretize#47971
Conversation
7eb4ae5 to
4efc7d9
Compare
|
Haha, I expected it would be big since it's a popular function call :p I've taken the liberty to rebase 4efc7d9 on 05acd29 (which also drops a circular import), fixed a test and added a missing import. Curiously I need to do I also tried to move Further, of which the import-check action suggests to remove the |
9877aa8 to
5ca590c
Compare
ce4da25 to
74a6b61
Compare
cf3addc to
aa50b0d
Compare
|
@becker33 can you rebase? |
fce788e to
608a2f5
Compare
4e11eb8 to
0e12749
Compare
0e12749 to
4ab84ef
Compare
73a211f to
8589fdd
Compare
This resolves a circular import issue between spack.spec and spack.concretize. It requires removing the `Spec.concretize` and `Spec.concretized` methods and updating all call-sites to use `spack.concretize.concretized` instead. This will help with potential future efforts to separate AbstractSpec and ConcreteSpec classes. New import relationship is `spack.concretize` imports from `spack.spec`, but not the other way around.
8589fdd to
ac640c0
Compare
alalazo
left a comment
There was a problem hiding this comment.
I just skimmed through tests, since they seem to all have the same API change. I checked asp.py and spec.py more thoroughly and they LGTM.
…ze.concretize_one (spack#47971) The methods spack.spec.Spec.concretize and spack.spec.Spec.concretized are deprecated in favor of spack.concretize.concretize_one. This will resolve a circular dependency between the spack.spec and spack.concretize in the next Spack release.
…ze.concretize_one (spack#47971) The methods spack.spec.Spec.concretize and spack.spec.Spec.concretized are deprecated in favor of spack.concretize.concretize_one. This will resolve a circular dependency between the spack.spec and spack.concretize in the next Spack release.
…ze.concretize_one (spack#47971) The methods spack.spec.Spec.concretize and spack.spec.Spec.concretized are deprecated in favor of spack.concretize.concretize_one. This will resolve a circular dependency between the spack.spec and spack.concretize in the next Spack release.
This resolves a circular import issue between spack.spec and spack.concretize. It requires removing the
Spec.concretizeandSpec.concretizedmethods and updating all call-sites to usespack.concretize.concretizedinstead.This will help with potential future efforts to separate AbstractSpec and ConcreteSpec classes.
New import relationship is
spack.concretizeimports fromspack.spec, but not the other way around.@haampie this got a bit bigger than I expected.