Skip to content

Commit aeafaa8

Browse files
dnicolodirgommers
authored andcommitted
MAINT: remove indirection for creation of the wheel builder
1 parent 38d9818 commit aeafaa8

File tree

2 files changed

+7
-12
lines changed

2 files changed

+7
-12
lines changed

mesonpy/__init__.py

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -737,17 +737,8 @@ def _configure(self, reconfigure: bool = False) -> None:
737737
]
738738
if reconfigure:
739739
setup_args.insert(0, '--reconfigure')
740-
741740
self._run(['meson', 'setup', *setup_args])
742741

743-
@cached_property
744-
def _wheel_builder(self) -> _WheelBuilder:
745-
return _WheelBuilder(
746-
self._metadata,
747-
self._manifest,
748-
self._limited_api,
749-
)
750-
751742
@property
752743
def _build_command(self) -> List[str]:
753744
assert self._ninja is not None # help mypy out
@@ -891,13 +882,15 @@ def sdist(self, directory: Path) -> pathlib.Path:
891882
def wheel(self, directory: Path) -> pathlib.Path:
892883
"""Generates a wheel (binary distribution) in the specified directory."""
893884
self.build()
894-
file = self._wheel_builder.build(directory)
885+
builder = _WheelBuilder(self._metadata, self._manifest, self._is_pure, self._limited_api)
886+
file = builder.build(directory)
895887
assert isinstance(file, pathlib.Path)
896888
return file
897889

898890
def editable(self, directory: Path) -> pathlib.Path:
899891
self.build()
900-
file = self._wheel_builder.build_editable(directory, self._source_dir, self._build_dir, self._build_command, self._editable_verbose)
892+
builder = _WheelBuilder(self._metadata, self._manifest, self._is_pure, self._limited_api)
893+
file = builder.build_editable(directory, self._source_dir, self._build_dir, self._build_command, self._editable_verbose)
901894
assert isinstance(file, pathlib.Path)
902895
return file
903896

tests/test_wheel.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,13 +232,15 @@ def test_entrypoints(wheel_full_metadata):
232232

233233
def test_top_level_modules(package_module_types):
234234
with mesonpy._project() as project:
235-
assert set(project._wheel_builder.top_level_modules) == {
235+
builder = mesonpy._WheelBuilder(project._metadata, project._manifest, project._is_pure, project._limited_api)
236+
assert set(builder.top_level_modules) == {
236237
'file',
237238
'package',
238239
'namespace',
239240
'native',
240241
}
241242

243+
242244
def test_purelib_platlib_split(package_purelib_platlib_split, tmp_path):
243245
with pytest.raises(mesonpy.BuildError, match='The purelib-platlib-split package is split'):
244246
with mesonpy._project() as project:

0 commit comments

Comments
 (0)