Skip to content

Commit 64da04f

Browse files
committed
wip
Signed-off-by: Jan Kowalleck <[email protected]>
1 parent 26c7ee9 commit 64da04f

18 files changed

+75
-76
lines changed

cyclonedx/model/contact.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,10 @@ def street_address(self, street_address: Optional[str]) -> None:
163163

164164
def __comparable_tuple(self) -> _ComparableTuple:
165165
return _ComparableTuple((
166-
self.bom_ref,
167166
self.country, self.region, self.locality, self.postal_code,
168167
self.post_office_box_number,
169-
self.street_address
168+
self.street_address,
169+
self.bom_ref.value,
170170
))
171171

172172
def __eq__(self, other: object) -> bool:

cyclonedx/model/definition.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ def external_references(self, external_references: Iterable[ExternalReference])
256256
def __comparable_tuple(self) -> _ComparableTuple:
257257
# all properties are optional - so need to compare all, in hope that one is unique
258258
return _ComparableTuple((
259-
self.bom_ref, self.identifier,
259+
self.identifier, self.bom_ref.value,
260260
self.title, self.text,
261261
_ComparableTuple(self.descriptions),
262262
_ComparableTuple(self.open_cre), self.parent, _ComparableTuple(self.properties),
@@ -373,7 +373,9 @@ def requirements(self, requirements: Iterable[Union[str, BomRef]]) -> None:
373373
def __comparable_tuple(self) -> _ComparableTuple:
374374
# all properties are optional - so need to compare all, in hope that one is unique
375375
return _ComparableTuple((
376-
self.bom_ref, self.identifier, self.title, self.description, _ComparableTuple(self.requirements)
376+
self.identifier, self.bom_ref.value,
377+
self.title, self.description,
378+
_ComparableTuple(self.requirements)
377379
))
378380

379381
def __lt__(self, other: Any) -> bool:
@@ -545,8 +547,9 @@ def external_references(self, external_references: Iterable[ExternalReference])
545547
def __comparable_tuple(self) -> _ComparableTuple:
546548
# all properties are optional - so need to apply all, in hope that one is unique
547549
return _ComparableTuple((
548-
self.bom_ref,
549-
self.name, self.version, self.description, self.owner,
550+
self.name, self.version,
551+
self.bom_ref.value,
552+
self.description, self.owner,
550553
_ComparableTuple(self.requirements), _ComparableTuple(self.levels),
551554
_ComparableTuple(self.external_references)
552555
))

cyclonedx/model/service.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,7 @@ def release_notes(self, release_notes: Optional[ReleaseNotes]) -> None:
355355
def __comparable_tuple(self) -> _ComparableTuple:
356356
return _ComparableTuple((
357357
self.group, self.name, self.version,
358+
self.bom_ref.value,
358359
self.provider, self.description,
359360
self.authenticated, _ComparableTuple(self.data), _ComparableTuple(self.endpoints),
360361
_ComparableTuple(self.external_references), _ComparableTuple(self.licenses),

cyclonedx/model/vulnerability.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1334,7 +1334,7 @@ def properties(self, properties: Iterable[Property]) -> None:
13341334

13351335
def __comparable_tuple(self) -> _ComparableTuple:
13361336
return _ComparableTuple((
1337-
self.id,
1337+
self.id, self.bom_ref.value,
13381338
self.source, _ComparableTuple(self.references),
13391339
_ComparableTuple(self.ratings), _ComparableTuple(self.cwes), self.description,
13401340
self.detail, self.recommendation, self.workaround, _ComparableTuple(self.advisories),

tests/_data/snapshots/get_bom_for_issue_598_multiple_components_with_purl_qualifiers-1.0.xml.bin

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
<component type="library">
55
<name>dummy</name>
66
<version>2.3.5</version>
7-
<purl>pkg:pypi/[email protected]?vcs_url=git%2Bhttps://github.com/jazzband/pathlib2.git%405a6a88db3cc1d08dbc86fbe15edfb69fb5f5a3d6</purl>
7+
<purl>pkg:pypi/[email protected]</purl>
88
<modified>false</modified>
99
</component>
1010
<component type="library">
1111
<name>dummy</name>
1212
<version>2.3.5</version>
13-
<purl>pkg:pypi/[email protected]</purl>
13+
<purl>pkg:pypi/[email protected]?vcs_url=git%2Bhttps://github.com/jazzband/pathlib2.git%405a6a88db3cc1d08dbc86fbe15edfb69fb5f5a3d6</purl>
1414
<modified>false</modified>
1515
</component>
1616
</components>
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
<?xml version="1.0" ?>
22
<bom xmlns="http://cyclonedx.org/schema/bom/1.1" serialNumber="urn:uuid:1441d33a-e0fc-45b5-af3b-61ee52a88bac" version="1">
33
<components>
4-
<component type="library" bom-ref="dummy-b">
4+
<component type="library" bom-ref="dummy-a">
55
<name>dummy</name>
66
<version>2.3.5</version>
7-
<purl>pkg:pypi/[email protected]?vcs_url=git%2Bhttps://github.com/jazzband/pathlib2.git%405a6a88db3cc1d08dbc86fbe15edfb69fb5f5a3d6</purl>
7+
<purl>pkg:pypi/[email protected]</purl>
88
</component>
9-
<component type="library" bom-ref="dummy-a">
9+
<component type="library" bom-ref="dummy-b">
1010
<name>dummy</name>
1111
<version>2.3.5</version>
12-
<purl>pkg:pypi/[email protected]</purl>
12+
<purl>pkg:pypi/[email protected]?vcs_url=git%2Bhttps://github.com/jazzband/pathlib2.git%405a6a88db3cc1d08dbc86fbe15edfb69fb5f5a3d6</purl>
1313
</component>
1414
</components>
1515
</bom>

tests/_data/snapshots/get_bom_for_issue_598_multiple_components_with_purl_qualifiers-1.2.json.bin

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
{
22
"components": [
33
{
4-
"bom-ref": "dummy-b",
4+
"bom-ref": "dummy-a",
55
"name": "dummy",
6-
"purl": "pkg:pypi/[email protected]?vcs_url=git%2Bhttps://github.com/jazzband/pathlib2.git%405a6a88db3cc1d08dbc86fbe15edfb69fb5f5a3d6",
6+
"purl": "pkg:pypi/[email protected]",
77
"type": "library",
88
"version": "2.3.5"
99
},
1010
{
11-
"bom-ref": "dummy-a",
11+
"bom-ref": "dummy-b",
1212
"name": "dummy",
13-
"purl": "pkg:pypi/[email protected]",
13+
"purl": "pkg:pypi/[email protected]?vcs_url=git%2Bhttps://github.com/jazzband/pathlib2.git%405a6a88db3cc1d08dbc86fbe15edfb69fb5f5a3d6",
1414
"type": "library",
1515
"version": "2.3.5"
1616
}

tests/_data/snapshots/get_bom_for_issue_598_multiple_components_with_purl_qualifiers-1.2.xml.bin

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44
<timestamp>2023-01-07T13:44:32.312678+00:00</timestamp>
55
</metadata>
66
<components>
7-
<component type="library" bom-ref="dummy-b">
7+
<component type="library" bom-ref="dummy-a">
88
<name>dummy</name>
99
<version>2.3.5</version>
10-
<purl>pkg:pypi/[email protected]?vcs_url=git%2Bhttps://github.com/jazzband/pathlib2.git%405a6a88db3cc1d08dbc86fbe15edfb69fb5f5a3d6</purl>
10+
<purl>pkg:pypi/[email protected]</purl>
1111
</component>
12-
<component type="library" bom-ref="dummy-a">
12+
<component type="library" bom-ref="dummy-b">
1313
<name>dummy</name>
1414
<version>2.3.5</version>
15-
<purl>pkg:pypi/[email protected]</purl>
15+
<purl>pkg:pypi/[email protected]?vcs_url=git%2Bhttps://github.com/jazzband/pathlib2.git%405a6a88db3cc1d08dbc86fbe15edfb69fb5f5a3d6</purl>
1616
</component>
1717
</components>
1818
<dependencies>

tests/_data/snapshots/get_bom_for_issue_598_multiple_components_with_purl_qualifiers-1.3.json.bin

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
{
22
"components": [
33
{
4-
"bom-ref": "dummy-b",
4+
"bom-ref": "dummy-a",
55
"name": "dummy",
6-
"purl": "pkg:pypi/[email protected]?vcs_url=git%2Bhttps://github.com/jazzband/pathlib2.git%405a6a88db3cc1d08dbc86fbe15edfb69fb5f5a3d6",
6+
"purl": "pkg:pypi/[email protected]",
77
"type": "library",
88
"version": "2.3.5"
99
},
1010
{
11-
"bom-ref": "dummy-a",
11+
"bom-ref": "dummy-b",
1212
"name": "dummy",
13-
"purl": "pkg:pypi/[email protected]",
13+
"purl": "pkg:pypi/[email protected]?vcs_url=git%2Bhttps://github.com/jazzband/pathlib2.git%405a6a88db3cc1d08dbc86fbe15edfb69fb5f5a3d6",
1414
"type": "library",
1515
"version": "2.3.5"
1616
}

tests/_data/snapshots/get_bom_for_issue_598_multiple_components_with_purl_qualifiers-1.3.xml.bin

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44
<timestamp>2023-01-07T13:44:32.312678+00:00</timestamp>
55
</metadata>
66
<components>
7-
<component type="library" bom-ref="dummy-b">
7+
<component type="library" bom-ref="dummy-a">
88
<name>dummy</name>
99
<version>2.3.5</version>
10-
<purl>pkg:pypi/[email protected]?vcs_url=git%2Bhttps://github.com/jazzband/pathlib2.git%405a6a88db3cc1d08dbc86fbe15edfb69fb5f5a3d6</purl>
10+
<purl>pkg:pypi/[email protected]</purl>
1111
</component>
12-
<component type="library" bom-ref="dummy-a">
12+
<component type="library" bom-ref="dummy-b">
1313
<name>dummy</name>
1414
<version>2.3.5</version>
15-
<purl>pkg:pypi/[email protected]</purl>
15+
<purl>pkg:pypi/[email protected]?vcs_url=git%2Bhttps://github.com/jazzband/pathlib2.git%405a6a88db3cc1d08dbc86fbe15edfb69fb5f5a3d6</purl>
1616
</component>
1717
</components>
1818
<dependencies>

0 commit comments

Comments
 (0)