mesonbuild / meson-python

Meson PEP 517 Python build backend
https://mesonbuild.com/meson-python/
MIT License
120 stars 59 forks source link

MAINT: restructure the interface between the project class and the wheel builder #480

Closed dnicolodi closed 9 months ago

dnicolodi commented 10 months ago

This is an attempt at making the interface between the wheel builder class and the class representing the meson project a bit easier to understand. Ideally we should be able to just pass the manifest and the metadata to the wheel builder class.

dnicolodi commented 10 months ago

@rgommers This is a relatively large scale reorganization of the code, but I find the resulting code much easier to reason about. It is still work in progress, but I would like to know if you like the direction in which this goes before putting the final touches to it.

dnicolodi commented 10 months ago

Also, I've tried to split the changes in small self-standing commits. I think this makes the changes easier to review. However, if you prefer a big patch, that would be easier to generate because I don't need to make sure that the tests pass for each intermediate step.

rgommers commented 10 months ago

Thanks! This looks like a useful set of changes to me. Making this interface as clean as possible will be helpful to future maintenance. The individual commits are quite helpful for reviewing - I read the full diff first, but it's pretty hard to review that. Each individual commit looks pretty good.

dnicolodi commented 10 months ago

Great. I'll finish this then.

dnicolodi commented 10 months ago

This is now ready for review. There is room for further simplification, but this is already getting big.