Ensure usage of modern packages when using 'setup.py develop'.

Review Request #12524 — Created Aug. 14, 2022 and submitted — Latest diff uploaded

Information

RBTools
release-4.x

Reviewers

The Python packaging world has long since recommended against eggs and
setup.py develop. However, until we move to a pyproject.toml with
a custom build system, this is our best option.

Review Board, Djblets, and other packages have implemented a custom
setup.py develop for ages, which wraps pip install -e . (the
generally preferred method) and then installs our development
dependencies.

This change adds the same logic to the RBTools packaging. This will
ensure that we don't ever introduce legacy eggs through RBTools for
development, and always prefer model wheels.

For now, setup.py develop is the preferred way of preparing RBTools
for development. In time, we will transition away from setup.py and
will prefer pip install -e ..

Successfully installed RBTools on Python 3.7-3.11, with all dependencies
as wheels, using setup.py develop.

Diff Revision 1

This is not the most recent revision of the diff. The latest diff is revision 2. See what's changed.

orig
1
2

Commits

First Last Summary ID Author
Ensure usage of modern packages when using 'setup.py develop'.
The Python packaging world has long since recommended against eggs and `setup.py develop`. However, until we move to a `pyproject.toml` with a custom build system, this is our best option. Review Board, Djblets, and other packages have implemented a custom `setup.py develop` for ages, which wraps `pip install -e .` (the generally preferred method) and then installs our development dependencies. This change adds the same logic to the RBTools packaging. This will ensure that we don't ever introduce legacy eggs through RBTools for development, and always prefer model wheels. For now, `setup.py develop` is the preferred way of preparing RBTools for development. In time, we will transition away from `setup.py` and will prefer `pip install -e .`.
3d5ca23c19b991cf4128686bbc36e1678c5ee42e Christian Hammond

Files

setup.py
Loading...