Merge pull request #1430 from henryiii/henryiii/fix/pipconfigopts
fix: pip config options were broken
This commit is contained in:
@@ -240,7 +240,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)
|
||||
extra_flags = split_config_settings(
|
||||
build_options.config_settings, build_options.build_frontend
|
||||
)
|
||||
|
||||
if build_options.build_frontend == "pip":
|
||||
extra_flags += verbosity_flags
|
||||
|
||||
@@ -374,7 +374,9 @@ def build(options: Options, tmp_path: Path) -> None:
|
||||
built_wheel_dir.mkdir()
|
||||
|
||||
verbosity_flags = get_build_verbosity_extra_flags(build_options.build_verbosity)
|
||||
extra_flags = split_config_settings(build_options.config_settings)
|
||||
extra_flags = split_config_settings(
|
||||
build_options.config_settings, build_options.build_frontend
|
||||
)
|
||||
|
||||
if build_options.build_frontend == "pip":
|
||||
extra_flags += verbosity_flags
|
||||
|
||||
@@ -208,9 +208,10 @@ def get_build_verbosity_extra_flags(level: int) -> list[str]:
|
||||
return []
|
||||
|
||||
|
||||
def split_config_settings(config_settings: str) -> list[str]:
|
||||
def split_config_settings(config_settings: str, frontend: Literal["pip", "build"]) -> list[str]:
|
||||
config_settings_list = shlex.split(config_settings)
|
||||
return [f"--config-setting={setting}" for setting in config_settings_list]
|
||||
s = "s" if frontend == "pip" else ""
|
||||
return [f"--config-setting{s}={setting}" for setting in config_settings_list]
|
||||
|
||||
|
||||
def read_python_configs(config: PlatformName) -> list[dict[str, str]]:
|
||||
|
||||
@@ -411,7 +411,9 @@ def build(options: Options, tmp_path: Path) -> None:
|
||||
built_wheel_dir.mkdir()
|
||||
|
||||
verbosity_flags = get_build_verbosity_extra_flags(build_options.build_verbosity)
|
||||
extra_flags = split_config_settings(build_options.config_settings)
|
||||
extra_flags = split_config_settings(
|
||||
build_options.config_settings, build_options.build_frontend
|
||||
)
|
||||
|
||||
if build_options.build_frontend == "pip":
|
||||
extra_flags += verbosity_flags
|
||||
|
||||
@@ -283,12 +283,18 @@ def test_config_settings(platform_specific, platform, intercepted_build_args, mo
|
||||
|
||||
assert build_options.config_settings == config_settings
|
||||
|
||||
assert split_config_settings(config_settings) == [
|
||||
assert split_config_settings(config_settings, "build") == [
|
||||
"--config-setting=setting=value",
|
||||
"--config-setting=setting=value2",
|
||||
"--config-setting=other=something else",
|
||||
]
|
||||
|
||||
assert split_config_settings(config_settings, "pip") == [
|
||||
"--config-settings=setting=value",
|
||||
"--config-settings=setting=value2",
|
||||
"--config-settings=other=something else",
|
||||
]
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"selector",
|
||||
|
||||
Reference in New Issue
Block a user