|
8 | 8 | import conda_build.config
|
9 | 9 | import rattler_build_conda_compat.render
|
10 | 10 | from conda_build.metadata import MetaData
|
| 11 | +from conda_build.variants import combine_specs, parse_config_file |
11 | 12 | from conda_smithy.utils import get_feedstock_name_from_meta
|
12 | 13 | from rattler_build_conda_compat.render import MetaData as RattlerBuildMetaData
|
13 | 14 | from yaml import safe_load
|
@@ -164,12 +165,29 @@ def _get_built_distribution_names_and_subdirs(
|
164 | 165 | break
|
165 | 166 |
|
166 | 167 | if build_tool == RATTLER_BUILD:
|
| 168 | + # cribbed from conda_forge_ci_setup.utils |
| 169 | + # some conda-build magic here |
| 170 | + with open(variant[-1]) as f: |
| 171 | + final_variant = safe_load(f) |
| 172 | + if "target_platform" in final_variant: |
| 173 | + target_platform = final_variant["target_platform"][0] |
| 174 | + if target_platform != "noarch": |
| 175 | + platform, arch = target_platform.split("-") |
| 176 | + additional_config["platform"] = platform |
| 177 | + additional_config["arch"] = arch |
| 178 | + |
| 179 | + config = conda_build.config.Config(**additional_config) |
| 180 | + |
| 181 | + specs = {} |
| 182 | + for _variant_fname in variant: |
| 183 | + specs[_variant_fname] = parse_config_file(_variant_fname, config) |
| 184 | + variants = combine_specs(specs, log_output=False) |
167 | 185 | metas = rattler_build_conda_compat.render.render(
|
168 | 186 | recipe_dir,
|
169 |
| - variant_config_files=variant, |
| 187 | + variants=variants, |
170 | 188 | finalize=False,
|
171 | 189 | bypass_env_check=True,
|
172 |
| - **additional_config, |
| 190 | + config=config, |
173 | 191 | )
|
174 | 192 | else:
|
175 | 193 | metas = conda_build.api.render(
|
|
0 commit comments