Split selector logic into conda_build.selectors
#5500
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
While tinkering with #5495 I noticed a few local imports to avoid circular imports between
conda_build.metadata
andconda_build.variants
. This is an artifact of how selectors evolved where originally they were purely ameta.yaml
feature (hence why it was defined withinconda_build.metadata
) and over time were introduced for theconda_build_config.yaml
file.To better reflect the agnostic nature of selectors I propose moving the related logic into a new submodule:
conda_build.metadata.ARCH_MAP
conda_build.utils.ARCH_MAP
conda_build.metadata.get_selectors
conda_build.selectors.get_selectors
conda_build.metadata.ns_cfg
conda_build.selectors.get_selectors
conda_build.metadata.sel_pat
conda_build.selectors.RE_SELECTOR
conda_build.metadata.parseNameNotFound
conda_build.selectors.parse_NameError
conda_build.metadata.eval_selector
conda_build.selectors.eval_selector
conda_build.metadata._split_line_selector
conda_build.selectors._split_line_selector
conda_build.metadata.select_lines
conda_build.selectors.select_lines
Checklist - did you ...
news
directory (using the template) for the next release's release notes?Add / update outdated documentation?