From 55fe9f5e9f3778d888d9ffd0622a9d40adf2726b Mon Sep 17 00:00:00 2001 From: Craig Zerouni Date: Thu, 21 Aug 2025 17:49:51 -0700 Subject: [PATCH 1/2] Test to handle package requests that are strings separately Signed-off-by: Craig Zerouni --- src/rez/package_search.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/rez/package_search.py b/src/rez/package_search.py index 26b7f60dc..f7d4fe823 100644 --- a/src/rez/package_search.py +++ b/src/rez/package_search.py @@ -87,7 +87,11 @@ def get_reverse_dependency_tree(package_name, depth=None, paths=None, ) for req in requires: - if not req.conflict: + if isinstance(req, str): + # Ignore negated requirements + if not req[0] == '!': + lookup[req].add(package_name_) + elif not req.conflict: lookup[req.name].add(package_name_) bar.next() From 20839b793444f8ea827fa5ed945555e1ce86b783 Mon Sep 17 00:00:00 2001 From: Craig Zerouni Date: Mon, 15 Sep 2025 18:41:47 -0700 Subject: [PATCH 2/2] Change the strategy by adding late_requires_schema to build_requires and private_build_requires Signed-off-by: Craig Zerouni --- src/rez/package_search.py | 6 +----- src/rez/packages.py | 4 +++- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/rez/package_search.py b/src/rez/package_search.py index f7d4fe823..26b7f60dc 100644 --- a/src/rez/package_search.py +++ b/src/rez/package_search.py @@ -87,11 +87,7 @@ def get_reverse_dependency_tree(package_name, depth=None, paths=None, ) for req in requires: - if isinstance(req, str): - # Ignore negated requirements - if not req[0] == '!': - lookup[req].add(package_name_) - elif not req.conflict: + if not req.conflict: lookup[req.name].add(package_name_) bar.next() diff --git a/src/rez/packages.py b/src/rez/packages.py index dc816303b..9aeaf7b21 100644 --- a/src/rez/packages.py +++ b/src/rez/packages.py @@ -72,7 +72,9 @@ class PackageBaseResourceWrapper(PackageRepositoryResourceWrapper): """Abstract base class for `Package` and `Variant`. """ late_bind_schemas = { - "requires": late_requires_schema + "requires": late_requires_schema, + "build_requires": late_requires_schema, + "private_build_requires": late_requires_schema, } def __init__(self, resource, context=None):