• 
      

    Add per-build dependencies and normalized exclusions.

    Review Request #15044 — Created May 12, 2026 and submitted — Latest diff uploaded

    Information

    buildthings
    master

    Reviewers

    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 into buildthings/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.

    Commits

    Files