Fix self-dependency check to use case-insensitive PyPI name normalization
This commit is contained in:
@@ -773,7 +773,12 @@ def resolve_dependencies(
|
|||||||
# Resolve each dependency first (depth-first)
|
# Resolve each dependency first (depth-first)
|
||||||
for dep in deps:
|
for dep in deps:
|
||||||
# Skip self-dependencies (can happen with PyPI extras like pytest[testing])
|
# Skip self-dependencies (can happen with PyPI extras like pytest[testing])
|
||||||
if dep.dependency_project == proj_name and dep.dependency_package == pkg_name:
|
# Use case-insensitive comparison and normalize for PyPI naming conventions
|
||||||
|
dep_proj_normalized = dep.dependency_project.lower()
|
||||||
|
dep_pkg_normalized = re.sub(r'[-_.]+', '-', dep.dependency_package).lower()
|
||||||
|
curr_proj_normalized = proj_name.lower()
|
||||||
|
curr_pkg_normalized = re.sub(r'[-_.]+', '-', pkg_name).lower()
|
||||||
|
if dep_proj_normalized == curr_proj_normalized and dep_pkg_normalized == curr_pkg_normalized:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
resolved_dep = _resolve_dependency_to_artifact(
|
resolved_dep = _resolve_dependency_to_artifact(
|
||||||
|
|||||||
Reference in New Issue
Block a user