From ae553051c8bbcecceaed7a7e3898db01cfc2566a Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Thu, 22 Jun 2023 10:42:40 +0200 Subject: Extract a function to emit variant rules --- lib/spack/spack/solver/asp.py | 43 +++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 20 deletions(-) (limited to 'lib') 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. -- cgit v1.2.3-60-g2f50