summaryrefslogtreecommitdiffstats
path: root/pyproject.toml (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Drop use of setup.py and setup.cfg (#81443)Matt Clay2024-08-121-0/+109
|
* release.py - Auto-update setuptools upper bound (#83713)Matt Clay2024-08-051-1/+1
| | | | | | | | | | | When releases are prepared, the upper bound on setuptools in pyproject.toml will be automatically updated to the latest version available on PyPI. This version will then be tested by the package-data sanity test during the release process and will be used to build the release. This change ensures that a released version of ansible-core can be built in the future if a new setuptools release includes breaking changes that would prevent building a functional package. If a downstream package maintainer requires a newer setuptools version than the upper bound permits, they can patch pyproject.toml as needed. Since ansible-core releases support specific Python versions, lack of support for new setuptools releases will have no effect on support for future Python versions.
* Omit pre-built man pages from sdist (#81395)Matt Clay2023-08-011-2/+1
| | | | | | | | | Since man pages aren't accessible to users after a `pip install`, there's no need to include them in the sdist. This change makes it trivial to build man pages from source, which makes them much easier to iterate on. It also simplifies creation and testing of the sdist, since it no longer requires building man pages. The new `packaging/cli-doc/build.py` script can generate both man pages and RST documentation. This supports inclusion on the docs site without a dependency on `ansible-core` internals. Having a single implementation for both simplifies keeping the two formats in sync.
* Raise the minimum setuptools version to 66.1.0 (#81341)Matt Clay2023-07-251-1/+1
| | | | | | | | | * Raise the minimum setuptools version to 66.1.0 This is the first version to support Python 3.12. While Python 3.10 and 3.11 could use an older version, a consistent minimum is easier to work with and test against. * Fix PEP 517 integration test
* Set the minimum setuptools to 45.2.0 (#80649)Matt Clay2023-04-261-1/+1
| | | Also update the package-data sanity test to use the minimum setuptools version.
* ๐Ÿ“ฆ Drop unnecessary wheel PEP 517 build dependency (#80096)Sviatoslav Sydorenko2023-03-011-1/+1
| | | | | | | | | | | Code snippets advertising the `wheel` dependency in the `pyproject.toml`'s `[build-system].requires` setting were a historical mistake. This has been corrected in https://github.com/pypa/setuptools/commit/f7d30a95 but many pyprojects still have `wheel` in their configs. It is not needed for building sdists and the corresponding setuptools' PEP 517 hook that provides requirements for building wheels already esposes this dependency automatically.
* ๐Ÿ“ฆ Integrate manpage builds into PEP 517 build backendSviatoslav Sydorenko2023-02-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch creates a thin wrapper around the `setuptools`' PEP 517 build backend in-tree. It features an ability to request generating the manpage files in the process of building a source distribution. This toggle is implemented using the `config_settings` mechanism of PEP 517. One must explicitly pass it a CLI option to the build front-end to trigger said behavior. The packagers are expected to use the following call: python -m build --config-setting=--build-manpages This option has no effect on building wheels. ๐Ÿงช The change includes integration tests This test runs building and re-building sdists and wheels with and without the `--build-manpages` config setting under the oldest-supported and new `setuptools` pinned. It is intended to preserve the interoperability of the packaging setup across Python runtimes. An extra smoke test also verifies that non PEP 517 interfaces remain functional. PR #79606 Co-authored-by: Matt Clay <matt@mystile.com>
* Modernize install (#76021)Matt Martz2021-10-191-0/+3
Co-authored-by: Matt Clay <matt@mystile.com> Co-authored-by: Matt Davis <mrd@redhat.com> Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>