diff options
author | Massimiliano Culpo <massimiliano.culpo@gmail.com> | 2023-06-22 10:42:40 +0200 |
---|---|---|
committer | Todd Gamblin <tgamblin@llnl.gov> | 2023-08-15 15:54:37 -0700 |
commit | ae553051c8bbcecceaed7a7e3898db01cfc2566a (patch) | |
tree | 9837a154b6ae8d55638c58b755ab8f6fdf591346 | |
parent | b94e22b28419a13978cf2c86b3b7700bbb9d2601 (diff) | |
download | spack-ae553051c8bbcecceaed7a7e3898db01cfc2566a.tar.gz spack-ae553051c8bbcecceaed7a7e3898db01cfc2566a.tar.bz2 spack-ae553051c8bbcecceaed7a7e3898db01cfc2566a.tar.xz spack-ae553051c8bbcecceaed7a7e3898db01cfc2566a.zip |
Extract a function to emit variant rules
-rw-r--r-- | lib/spack/spack/solver/asp.py | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/lib/spack/spack/solver/asp.py b/lib/spack/spack/solver/asp.py index b602cdb6d4..0522cfc4fc 100644 --- a/lib/spack/spack/solver/asp.py +++ b/lib/spack/spack/solver/asp.py @@ -1130,6 +1130,29 @@ class SpackSolverSetup: self.gen.newline() # variants + self.variant_rules(pkg) + + # conflicts + self.conflict_rules(pkg) + + # default compilers for this package + self.package_compiler_defaults(pkg) + + # virtuals + self.package_provider_rules(pkg) + + # dependencies + self.package_dependencies_rules(pkg) + + # virtual preferences + self.virtual_preferences( + pkg.name, + lambda v, p, i: self.gen.fact(fn.facts(pkg.name, fn.provider_preference(v, p, i))), + ) + + self.package_requirement_rules(pkg) + + def variant_rules(self, pkg): for name, entry in sorted(pkg.variants.items()): variant, when = entry @@ -1220,26 +1243,6 @@ class SpackSolverSetup: self.gen.newline() - # conflicts - self.conflict_rules(pkg) - - # default compilers for this package - self.package_compiler_defaults(pkg) - - # virtuals - self.package_provider_rules(pkg) - - # dependencies - self.package_dependencies_rules(pkg) - - # virtual preferences - self.virtual_preferences( - pkg.name, - lambda v, p, i: self.gen.fact(fn.facts(pkg.name, fn.provider_preference(v, p, i))), - ) - - self.package_requirement_rules(pkg) - def condition(self, required_spec, imposed_spec=None, name=None, msg=None, node=False): """Generate facts for a dependency or virtual provider condition. |