feature: add support for py3-none-{platform} wheels

This extends the mechanism introduced in #1091 for `abi3` wheels.
Most of the mentions to `abi3` have been removed and replaced by a more generic `compatible_wheel`.
This allows to build a wheel `foo-0.1-py3-none-win_amd64.whl` only once and still test with every configured python.
This commit is contained in:
mayeut
2022-06-26 11:31:59 +02:00
parent 0bf4f7abc3
commit 0696c94710
5 changed files with 72 additions and 28 deletions
+6 -6
View File
@@ -22,7 +22,7 @@ from .util import (
NonPlatformWheelError,
call,
download,
find_compatible_abi3_wheel,
find_compatible_wheel,
get_build_verbosity_extra_flags,
get_pip_version,
prepare_command,
@@ -277,13 +277,13 @@ def build(options: Options, tmp_path: Path) -> None:
build_options.build_frontend,
)
abi3_wheel = find_compatible_abi3_wheel(built_wheels, config.identifier)
if abi3_wheel:
compatible_wheel = find_compatible_wheel(built_wheels, config.identifier)
if compatible_wheel:
log.step_end()
print(
f"\nFound previously built wheel {abi3_wheel.name}, that's compatible with {config.identifier}. Skipping build step..."
f"\nFound previously built wheel {compatible_wheel.name}, that's compatible with {config.identifier}. Skipping build step..."
)
repaired_wheel = abi3_wheel
repaired_wheel = compatible_wheel
else:
# run the before_build command
if build_options.before_build:
@@ -418,7 +418,7 @@ def build(options: Options, tmp_path: Path) -> None:
shell(test_command_prepared, cwd="c:\\", env=virtualenv_env)
# we're all done here; move it to output (remove if already exists)
if abi3_wheel is None:
if compatible_wheel is None:
shutil.move(str(repaired_wheel), build_options.output_dir)
built_wheels.append(build_options.output_dir / repaired_wheel.name)