refactor: review comments
This commit is contained in:
+10
-12
@@ -67,6 +67,7 @@ def main() -> None:
|
||||
parser.add_argument(
|
||||
"--output-dir",
|
||||
type=Path,
|
||||
default=Path(os.environ.get("CIBW_OUTPUT_DIR", "wheelhouse")),
|
||||
help="Destination folder for the wheels. Default: wheelhouse.",
|
||||
)
|
||||
|
||||
@@ -82,17 +83,18 @@ def main() -> None:
|
||||
|
||||
parser.add_argument(
|
||||
"package_dir",
|
||||
metavar="PACKAGE",
|
||||
default=Path("."),
|
||||
type=Path,
|
||||
nargs="?",
|
||||
help="""
|
||||
Path to the package that you want wheels for. Must be a subdirectory
|
||||
of the working directory. When set to a directory, the working
|
||||
directory is still considered the 'project' and is copied into the
|
||||
Docker container on Linux. Default: the working directory. This can
|
||||
also be a tar.gz file - if it is, then --config-file and
|
||||
--output-dir are relative to the current directory, and other paths
|
||||
are relative to the expanded SDist directory.
|
||||
Path to the package that you want wheels for. Default: the working
|
||||
directory. Can be a directory inside the working directory, or an
|
||||
sdist. When set to a directory, the working directory is still
|
||||
considered the 'project' and is copied into the Docker container
|
||||
on Linux. When set to a tar.gz sdist file, --config-file
|
||||
and --output-dir are relative to the current directory, and other
|
||||
paths are relative to the expanded SDist directory.
|
||||
""",
|
||||
)
|
||||
|
||||
@@ -119,11 +121,7 @@ def main() -> None:
|
||||
args.package_dir = args.package_dir.resolve()
|
||||
|
||||
# This are always relative to the base directory, even in SDist builds
|
||||
args.output_dir = Path(
|
||||
args.output_dir
|
||||
if args.output_dir is not None
|
||||
else os.environ.get("CIBW_OUTPUT_DIR", "wheelhouse")
|
||||
).resolve()
|
||||
args.output_dir = args.output_dir.resolve()
|
||||
|
||||
# Standard builds if a directory or non-existent path is given
|
||||
if not args.package_dir.is_file() and not args.package_dir.name.endswith("tar.gz"):
|
||||
|
||||
@@ -8,7 +8,7 @@ from pathlib import Path
|
||||
from typing import (
|
||||
Any,
|
||||
Dict,
|
||||
Iterator,
|
||||
Generator,
|
||||
List,
|
||||
Mapping,
|
||||
NamedTuple,
|
||||
@@ -48,7 +48,7 @@ from .util import (
|
||||
class CommandLineArguments:
|
||||
platform: Literal["auto", "linux", "macos", "windows"]
|
||||
archs: Optional[str]
|
||||
output_dir: Optional[Path]
|
||||
output_dir: Path
|
||||
config_file: str
|
||||
package_dir: Path
|
||||
print_build_identifiers: bool
|
||||
@@ -265,7 +265,7 @@ class OptionsReader:
|
||||
]
|
||||
|
||||
@contextmanager
|
||||
def identifier(self, identifier: Optional[str]) -> Iterator[None]:
|
||||
def identifier(self, identifier: Optional[str]) -> Generator[None, None, None]:
|
||||
self.current_identifier = identifier
|
||||
try:
|
||||
yield
|
||||
@@ -363,7 +363,6 @@ class Options:
|
||||
@property
|
||||
def globals(self) -> GlobalOptions:
|
||||
args = self.command_line_arguments
|
||||
assert args.output_dir is not None, "Must be resolved"
|
||||
package_dir = args.package_dir
|
||||
output_dir = args.output_dir
|
||||
|
||||
|
||||
@@ -171,44 +171,3 @@ def test_internal_config_file_argument(tmp_path, capfd):
|
||||
# check that before-all was run
|
||||
captured = capfd.readouterr()
|
||||
assert "test log statement from before-all 1829" in captured.out
|
||||
|
||||
|
||||
def test_argument_passthrough(tmp_path, capfd):
|
||||
basic_project = test_projects.new_c_project()
|
||||
|
||||
# make an sdist of a project
|
||||
sdist_dir = tmp_path / "sdist"
|
||||
sdist_dir.mkdir()
|
||||
sdist_path = make_sdist(basic_project, sdist_dir)
|
||||
|
||||
# make a call that should pass some args through to cibuildwheel
|
||||
# this asks cibuildwheel to print the ppc64le build identifiers
|
||||
process = subprocess.run(
|
||||
[
|
||||
sys.executable,
|
||||
"-m",
|
||||
"cibuildwheel",
|
||||
str(sdist_path),
|
||||
"--platform",
|
||||
"linux",
|
||||
"--archs",
|
||||
"ppc64le",
|
||||
"--print-build-identifiers",
|
||||
],
|
||||
env={
|
||||
**os.environ,
|
||||
"CIBW_BUILD": "cp38-*",
|
||||
},
|
||||
check=True,
|
||||
stdout=subprocess.PIPE,
|
||||
universal_newlines=True,
|
||||
)
|
||||
|
||||
# fmt: off
|
||||
assert process.stdout == textwrap.dedent(
|
||||
"""
|
||||
cp38-manylinux_ppc64le
|
||||
cp38-musllinux_ppc64le
|
||||
"""
|
||||
).lstrip()
|
||||
# fmt: on
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ def get_default_command_line_arguments() -> CommandLineArguments:
|
||||
defaults.allow_empty = False
|
||||
defaults.archs = None
|
||||
defaults.config_file = ""
|
||||
defaults.output_dir = Path("wheelhouse") # This must be resolved from "None" before passing
|
||||
defaults.output_dir = Path("wheelhouse")
|
||||
defaults.package_dir = Path(".")
|
||||
defaults.prerelease_pythons = False
|
||||
defaults.print_build_identifiers = False
|
||||
|
||||
Reference in New Issue
Block a user