build.script: use build environment for execution#5401
build.script: use build environment for execution#5401neersighted merged 1 commit intopython-poetry:masterfrom
Conversation
e964518 to
58ae681
Compare
58ae681 to
003f55d
Compare
|
This doesn't solve the problem of IMHO they should be locked there too, or we can't really have reproducible builds. |
|
@yajo unfortunately this PR is not intended to solve that. Additionally, there is also the added issue that the build time dependency is managed by the PEP 517 frontends. The short version is, even if the lockfile contained your build system depdnencies your builds will not be reproducible across all cases. The only case it covers if you used |
003f55d to
bc49f54
Compare
bc49f54 to
ca73fa5
Compare
ca73fa5 to
466b15e
Compare
With this change, Poetry now creates an ephemeral build environment with all requirements specified under `build-system.requires` when a build script is specified. Otherwise, project environment is reused.
466b15e to
9ba9845
Compare
|
note for future searchers: poetry 1.2.0 broke our previously successful builds (where we use a custom [build-system]
requires = ["poetry-core", "setuptools"] |
|
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
With this change, Poetry now creates an ephemeral build environment
with all requirements specified under
build-system.requireswhen abuild script is specified. Otherwise, project environment is reused.
Resolves: #2789
Supercedes: python-poetry/poetry-core#58
Decided to solve this at the poetry level as we do not yet have consensus on if the build-system requirements should be considered as a project's development dependendency.
Alternative approaches
build-system.requiresis loaded into a new implicit dependency group calldedbuild-system, this will mean that these will affect dependency resolution. However, this will also allow for the easier development of build scripts.Future Enhancements
pip.