Set the defualt build_frontend to be "default" (which is still "pip")
Instead of using pip as the default, set it to default. This way each platform can choose independently what to do as the default behavior. This is intended as part of adding Pyodide support. Pyodide cannot use pip as the build frontend. It always uses a modified pypa/build. So if the build_frontend is explicitly set to pip we want to raise an error. But if it's unset, then we should be able to tell and just do what we want.
This commit is contained in:
@@ -17,6 +17,7 @@ from .util import (
|
||||
AlreadyBuiltWheelError,
|
||||
BuildSelector,
|
||||
NonPlatformWheelError,
|
||||
build_frontend_or_default,
|
||||
find_compatible_wheel,
|
||||
get_build_verbosity_extra_flags,
|
||||
prepare_command,
|
||||
@@ -175,6 +176,7 @@ def build_in_container(
|
||||
for config in platform_configs:
|
||||
log.build_start(config.identifier)
|
||||
build_options = options.build_options(config.identifier)
|
||||
build_frontend = build_frontend_or_default(build_options.build_frontend, "pip")
|
||||
|
||||
dependency_constraint_flags: list[PathOrStr] = []
|
||||
|
||||
@@ -241,11 +243,9 @@ def build_in_container(
|
||||
container.call(["mkdir", "-p", built_wheel_dir])
|
||||
|
||||
verbosity_flags = get_build_verbosity_extra_flags(build_options.build_verbosity)
|
||||
extra_flags = split_config_settings(
|
||||
build_options.config_settings, build_options.build_frontend
|
||||
)
|
||||
extra_flags = split_config_settings(build_options.config_settings, build_frontend)
|
||||
|
||||
if build_options.build_frontend == "pip":
|
||||
if build_frontend == "pip":
|
||||
extra_flags += verbosity_flags
|
||||
container.call(
|
||||
[
|
||||
@@ -260,7 +260,7 @@ def build_in_container(
|
||||
],
|
||||
env=env,
|
||||
)
|
||||
elif build_options.build_frontend == "build":
|
||||
elif build_frontend == "build":
|
||||
verbosity_setting = " ".join(verbosity_flags)
|
||||
extra_flags += (f"--config-setting={verbosity_setting}",)
|
||||
container.call(
|
||||
@@ -276,7 +276,7 @@ def build_in_container(
|
||||
env=env,
|
||||
)
|
||||
else:
|
||||
assert_never(build_options.build_frontend)
|
||||
assert_never(build_frontend)
|
||||
|
||||
built_wheel = container.glob(built_wheel_dir, "*.whl")[0]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user