Ignore case when resolving NuGet dependencies
What does this MR do?
Make the NuGet lock file parser case insensitive when resolving dependencies. Dependency names are converted using strings.ToLower
before being used as a map key, to later retrieve them. This is needed because of project references: a Project
node might depends on another one, but it might refer to it with a different case.
A Project
node can't simply be skipped otherwise dependencies connected it would be reported as top-level/direct dependencies. See !271 (closed)
Project
nodes are always reported as top-level/direct dependencies to ensure that they are connect to the root node. This is necessary in order to have a dependency path to a package that's only connect to Project
nodes, and not to Direct
nodes.
What are the relevant issue numbers?
gitlab-org/gitlab#345144 (closed)
Does this MR meet the acceptance criteria?
-
Changelog entry added -
Documentation created/updated for GitLab EE, if necessary -
Documentation created/updated for this project, if necessary -
Documentation reviewed by technical writer or follow-up review issue created -
Tests added for this feature/bug -
Job definition updated, if necessary -
Conforms to the code review guidelines -
Conforms to the Go guidelines -
Security reports checked/validated by reviewer
Edited by Fabien Catteau