Details
-
Suggestion
-
Resolution: Done
-
Not Evaluated
-
None
-
None
Description
The following scenario is currently not allowed, but it should:
Project { Product { name: "multiplex-without-aggregator-2" multiplexByQbsProperties: ["architectures"] qbs.architectures: ["TRS-80", "C64"] } Product { name: "multiplex-without-aggregator-4-depends-2" multiplexByQbsProperties: ["architectures", "buildVariants"] qbs.architectures: ["TRS-80", "C64"] qbs.buildVariants: ["debug", "release"] Depends { name: "multiplex-without-aggregator-2" } } }
Suggested algorithm if both product and dependency are multiplexed:
- if candidate with identical multiplex id exists - take this, ignore all others - else if intersection of multiplex properties between product and all candidates results in single match - accept it as the result is unambiguous - else if no match - error "no eligible multiplex candidate" - else if multiple matches - error "ambiguous dependency"