AcademySoftwareFoundation / rez

An integrated package configuration, build and deployment system for software
https://rez.readthedocs.io
Apache License 2.0
932 stars 329 forks source link

Package orderers are not applied when choosing a variant #1683

Closed ian471 closed 5 months ago

ian471 commented 5 months ago

I'm seeing some unhelpful behavior with version_split package_orderers:

I have: package A-1 and A-2 package B-3 that depends on A package C-4, with variants [A-1] and [A-2]

I also have a version_split package orderer:

package_orderers:
- type: per_family
  orderers:
  - type: version_split
    packages:
    - A
    first_version: "1"

Based on this package orderer, rez env B correctly resolves to A-1.

The issue I'm seeing is that rez env C resolves to A-2, despite A-1 being supported and preferred by the package orderer. rez env A C correctly chooses A-1, but not rez env C A, which makes me think package orderers are not applied when choosing a variant.

Environment

To Reproduce Expected behavior Actual behavior See https://github.com/ian471/rez-pkg-orderer-repro

isohedronpipeline commented 5 months ago

I just put up a PR that addresses this issue: https://github.com/AcademySoftwareFoundation/rez/pull/1684