-
-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support projects that don't have a pyproject.toml #222
Comments
(I have a copy in gobuild.it, i just need to dig it out later.) |
{
'build-system': {
'build-backend': 'setuptools.build_meta:__legacy__',
'requires': ['setuptools>=42'],
},
} |
I'm unsure whether I want to have Bork automagically try this if But, regardless of whether it's automatic or behind a flag (e.g. |
I say that if |
That's fair. |
If we automagically inject defaults, we should at least display warnings, to push users to comply with PEP517. I guess you are trying to use Bork as a library to build third-party projects, some of which don't have a sensible |
Possibly? But it is a valid python project that will likely be supported by the broader ecosystem for a long, long time. |
I'm okay with showing a warning. I did realize, however, that I don't think |
If we can't find a way to auto-detect it, I'm still okay with adding a flag to use the legacy backend. |
Distutils is a the older standard library core of setuptools. Their relationship is complicated. |
I think using setuptools for projects that are technically distutils is fine. |
Assuming “it” refers to Odd 4am thought: would it make sense to refuse handing a project without a |
Honestly, I'm still having trouble coming to a useful conclusion on this. The ability to migrate existing projects is important, but the main usecase is for projects already using PEP 517. And it feels like these aren't at odds, but also aren't exactly aligned. Would it make sense to have a second frontend that either uses the normal Bork entrypoint for PEP517 projects, or injects the appropriate pyproject.toml for non-PEP517 projects? (Like "autobork", or maybe something less ridiculous sounding than that. Or maybe not, since "bork" itself is pretty silly.) |
I think there's two different usecases here: Using Bork as the primary project management utility, and to build projects you don't have direct control over. |
Amusingly, it looks like things happen to work with an empty I don't know whether it's something that |
Agreed. @AstraLuma, it would be helpful if you clarified what's your usecase. |
It's the build case: building projects I don't have direct control over, or where changes are expensive. |
Sure, but why are you doing it, and why are you doing it with bork? (Edit: to be clear, I'm not trying to be difficult, I'm just trying to understand what's your usecase) |
because bork is an easy "just build it" tool |
247: Handle the case of a legacy project. r=duckinator a=AstraLuma This will use synthesized `pyproject` data if it detects that it's being run in a legacy project (no `pyproject.toml`, but yes `setup.py` or `setup.cfg`). Fixes #222 Co-authored-by: Jamie Bliss <jbliss@purestorage.com>
For legacy projects, there's a pep517-compatible interface in setuptools to use.
bork should use mock pyproject data based on this if no
pyproject.toml
file is present.The text was updated successfully, but these errors were encountered: