Skip to content
Snippets Groups Projects
  • Antoine Lambert's avatar
    b773bc11
    package: Harmonize the way package versions are sorted · b773bc11
    Antoine Lambert authored
    Instead of implementing the versions sorting in each package loader
    prefer  to have a base implementation in swh.loader.package.PackageLoader
    class through the get_sorted_versions method. It relies on the looseversion
    module enabling to interact with heterogeneous version schemes which works
    pretty well with a large majority of package loaders.
    
    The get_default_version method of the PackageLoader class now also has a
    base implementation returning the last element from the list returned by
    the get_sorted_versions method. As a consequence, each snapshot produced
    by a package loader contains a HEAD alias branch targeting the branch
    for the highest version number of a package.
    
    Both methods can be reimplemented in package loaders for special cases
    like debian for instance.
    
    Also remove the use of the packaging module to parse versions as it is
    only dedicated to parse Python package versions.
    
    Related to swh-lister#4711.
    b773bc11
    History
    package: Harmonize the way package versions are sorted
    Antoine Lambert authored
    Instead of implementing the versions sorting in each package loader
    prefer  to have a base implementation in swh.loader.package.PackageLoader
    class through the get_sorted_versions method. It relies on the looseversion
    module enabling to interact with heterogeneous version schemes which works
    pretty well with a large majority of package loaders.
    
    The get_default_version method of the PackageLoader class now also has a
    base implementation returning the last element from the list returned by
    the get_sorted_versions method. As a consequence, each snapshot produced
    by a package loader contains a HEAD alias branch targeting the branch
    for the highest version number of a package.
    
    Both methods can be reimplemented in package loaders for special cases
    like debian for instance.
    
    Also remove the use of the packaging module to parse versions as it is
    only dedicated to parse Python package versions.
    
    Related to swh-lister#4711.
This project manages its dependencies using pip. Learn more