Switch Djblets package building to use buildthings.
Review Request #14952 — Created March 20, 2026 and updated — Latest diff uploaded
Buildthings is our new Python package build backend, which supports
injecting local development source trees into the isolated build
environment, interfacing with npm, and running extra build steps.
It also notably allows for local paths for development dependencies,
something our in-tree build backend did not do.This change switches away from our in-tree build backend to
buildthings, giving us a consistent setup going forward and resolving
several issues when building Djblets.When building Djblets, development and package dependencies will be
installed in the isolated build environment for all build types,
allowing static media to be built.All build types support
.local-packages, since we need this in order
to build and deploy in-development versions.Builds can be tested using:
$ python -m build --sdist . $ python -m build --wheel .Doing these separately ensures that
.local-packageswill be picked up
for each build type, rather than the default behavior of the wheel being
built from the source distribution.
Tested editable installs and producing sdist and wheel builds.
Compared those to builds using the original build backend. Verified that
all files and metadata were a match.