Skip to content

add multiple version mode to the bootstrap commands #878

@dhellmann

Description

@dhellmann

As we work to populate a more general purpose package index, we want to quickly and easily identify all available versions of packages and build them. One way to do that would be to update the bootstrap commands to have a mode to build all versions of packages that match the requirements, instead of only the latest version.

Requirements

The bootstrap commands should take a flag to enable a mode of building multiple versions of a package. When the mode is activated, all versions of a package that match the requirements specifiers in the top level list or in any of their dependencies should be included in the build. By default only the newest version of each package that matches the rule should be included.

When resolving multiple versions for a rule, all other filters should be honored. This includes the constraints for the package, if any, and the minimum age (#877 ).

Expanding the set of packages to be bootstrapped like this will be quite expensive, so we need to optimize as much as we can. Any version that appears in the cache server should be skipped completely (so neither the build nor install dependencies of that version should be bootstrapped). The most effective way to do that is likely to filter the resolved list of versions based on what already exists, rather than relying on the bootstrapper to handle them recursively.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions