@@ -438,18 +438,24 @@ def generate_component_list(packages) -> List[CycloneDxComponent]:
438438 licenses = get_licenses (package )
439439 author = get_author_from_parties (package .get ("parties" ))
440440 purl = package .get ("purl" )
441- component = CycloneDxComponent (
442- name = package .get ("name" ), version = package .get ("version" ),
443- group = package .get ("namespace" ), purl = purl ,
444- author = author , copyright = package .get ("copyright" ),
445- description = package .get ("description" ),
446- hashes = hashes , licenses = licenses , externalReferences = refs ,
447- bom_ref = purl )
448- if purl not in ref_component_map .keys ():
449- components .append (component )
450- ref_component_map [purl ] = component
451- else :
452- merge_components (ref_component_map [purl ], component )
441+
442+ name = package .get ("name" )
443+ version = package .get ("version" )
444+ #if we don't have at least the required name and version we skip the component
445+ if name is not None and version is not None :
446+ component = CycloneDxComponent (
447+ name = package .get ("name" ), version = package .get ("version" ),
448+ group = package .get ("namespace" ), purl = purl ,
449+ author = author , copyright = package .get ("copyright" ),
450+ description = package .get ("description" ),
451+ hashes = hashes , licenses = licenses , externalReferences = refs ,
452+ bom_ref = purl )
453+
454+ if purl not in ref_component_map .keys ():
455+ components .append (component )
456+ ref_component_map [purl ] = component
457+ else :
458+ merge_components (ref_component_map [purl ], component )
453459
454460 return components
455461
@@ -612,7 +618,13 @@ def _build_components_element(self, bom: ET.Element) -> ET.Element:
612618 return bom
613619
614620 def _build_dependencies_element (self , bom : ET .Element ) -> ET .Element :
621+ dependencies = self .bom .dependencies
622+ # exit early
623+ if dependencies is None :
624+ return bom
625+
615626 deps = ET .SubElement (bom , "dependencies" )
627+
616628 for dependency in self .bom .dependencies :
617629 if dependency .ref is None :
618630 continue
0 commit comments