Add per-build dependencies and normalized exclusions.
Review Request #15044 — Created May 12, 2026 and submitted — Latest diff uploaded
During the development of buildthings, one of the goals was to allow
editable builds to exclude certain dependencies. This was removed
accidentally during the move to build isolation dependency control.This change brings that functionality back and improves it.
All build types can now specify their own lists of dependencies, which
default to the standard dependencies set. They can also specify their
own exclusions.Exclusions, both on dependencies and isolations, are now normalized.
The name in an exclusion can now match against a name with a version
specifier in the dependencies list. Names are also canonicalized, so
they don't have to be an exact match.Unit tests covering the dependency options for build isolation, package
metadata, and builds have been added, along with the underlying methods
used for normalizing and filtering dependencies. These tests have been
moved intobuildthings/tests/so that we can reliably import test
modules for utilities.
Built packages in Review Board using both dependencies and exclusions.
Checked the resulting lists.Installed in editable mode and verified it also used the right
dependencies and exclusions.All unit tests pass.