librariesio / bibliothecary

:notebook_with_decorative_cover: Libraries.io Package Manager Manifest Parsers
https://libraries.io/rubygems/bibliothecary
GNU Affero General Public License v3.0
89 stars 36 forks source link

[8.2.2] Reimplement dependencies.csv parsing, remove generic parser, handle multi manifest parsing better #533

Closed johnbintz-tidelift closed 2 years ago

johnbintz-tidelift commented 2 years ago

This cleans up how multiple file parsing works some more and uses it to properly parse CSV files of dependencies. This allows us to remove the Generic manifest type.

Due to how Bibliothecary presents manifests to other services, multi manifest files return multiple RelatedFilesInfo objects, of which most of them would be blank. This means that we need an additional optional layer of filtering that actually parses the manifest file to figure out what we actually have in the manifest.

If we revisit how manifest scanning works elsewhere, we can, and should, rethink needing this. For now, the existing process is too complex to cleanly switch over without doing more research and planning.