fix: error if selector is empty

This commit is contained in:
Henry Fredrick Schreiner
2021-01-22 13:01:00 -05:00
committed by Henry Schreiner
parent e75a3d480a
commit 27a0053386
+17 -9
View File
@@ -5,7 +5,7 @@ import textwrap
import traceback import traceback
from configparser import ConfigParser from configparser import ConfigParser
from pathlib import Path from pathlib import Path
from typing import Any, Dict, List, Optional, Set, overload from typing import Dict, List, Optional, Set, Union, overload
import cibuildwheel import cibuildwheel
import cibuildwheel.linux import cibuildwheel.linux
@@ -194,8 +194,14 @@ def main() -> None:
archs_config_str = get_option_from_environment('CIBW_ARCHS', platform=platform, default='auto') archs_config_str = get_option_from_environment('CIBW_ARCHS', platform=platform, default='auto')
archs = Architecture.parse_config(archs_config_str, platform=platform) archs = Architecture.parse_config(archs_config_str, platform=platform)
identifiers = get_build_identifiers(platform, build_selector, archs)
if not identifiers:
print("ERROR: No build identifiers selected!")
sys.exit(3)
if args.print_build_identifiers: if args.print_build_identifiers:
print_build_identifiers(platform, build_selector, archs) for identifier in identifiers:
print(identifier)
sys.exit(0) sys.exit(0)
manylinux_images: Optional[Dict[str, str]] = None manylinux_images: Optional[Dict[str, str]] = None
@@ -311,20 +317,22 @@ def print_preamble(platform: str, build_options: BuildOptions) -> None:
print('\nHere we go!\n') print('\nHere we go!\n')
def print_build_identifiers( def get_build_identifiers(
platform: str, build_selector: BuildSelector, architectures: Set[Architecture] platform: PlatformName, build_selector: BuildSelector, architectures: Set[Architecture]
) -> None: ) -> List[str]:
python_configurations: Union[List[cibuildwheel.linux.PythonConfiguration],
python_configurations: List[Any] = [] List[cibuildwheel.windows.PythonConfiguration],
List[cibuildwheel.macos.PythonConfiguration]]
if platform == 'linux': if platform == 'linux':
python_configurations = cibuildwheel.linux.get_python_configurations(build_selector, architectures) python_configurations = cibuildwheel.linux.get_python_configurations(build_selector, architectures)
elif platform == 'windows': elif platform == 'windows':
python_configurations = cibuildwheel.windows.get_python_configurations(build_selector, architectures) python_configurations = cibuildwheel.windows.get_python_configurations(build_selector, architectures)
elif platform == 'macos': elif platform == 'macos':
python_configurations = cibuildwheel.macos.get_python_configurations(build_selector) python_configurations = cibuildwheel.macos.get_python_configurations(build_selector)
else:
assert_never(platform)
for config in python_configurations: return [config.identifier for config in python_configurations]
print(config.identifier)
def detect_warnings(platform: str, build_options: BuildOptions) -> List[str]: def detect_warnings(platform: str, build_options: BuildOptions) -> List[str]: