in src/advisor/scanners/language_scanner.py [0:0]
def add_library_remarks(self, libraries: list[Dependency], report):
"""Adds the dependency libraries remarks.
Args:
dependencies: The list of dependencies to add.
report: The report to add the remarks to.
"""
for library in libraries:
library_name = library.name.casefold()
used_version = library.version
filename = library.filename
lineno = library.lineno
installed_version = library.installed_version
if library_name in self.LIBRARY_RULES:
unsupported = self.LIBRARY_RULES[library_name].get('unsupported', False)
if unsupported:
report.add_issue(UnsupportedDependencyIssue(filename, library_name))
continue
special_instructions = self.LIBRARY_RULES[library_name].get('specialInstructions')
if special_instructions:
details_url = self.LIBRARY_RULES[library_name].get('detailsUrl')
report.add_remark(SpecialInstructionsRemark(filename, library_name, special_instructions, details_url))
continue
min_version = self.LIBRARY_RULES[library_name].get('minVersion', '')
if used_version and VersionComparer.is_valid(used_version):
if VersionComparer.compare(used_version, min_version) == -1:
report.add_issue(
DependencyVersionIssue(filename, lineno, library_name, used_version, min_version))
else:
if installed_version and VersionComparer.compare(installed_version, min_version) == -1:
report.add_issue(DependencyVersionIssue(filename, lineno, library_name, installed_version,
min_version))
else:
report.add_remark(DependencyVersionRemark(filename,
lineno,
library_name,
min_version=min_version,
installed_version=installed_version))
continue