File tree Expand file tree Collapse file tree 7 files changed +25
-2
lines changed Expand file tree Collapse file tree 7 files changed +25
-2
lines changed Original file line number Diff line number Diff line change @@ -14,6 +14,10 @@ v34.7.1 (unreleased)
14
14
- Display the resolved_to_package as link in the dependencies tab.
15
15
https://github.com/nexB/scancode.io/pull/1314
16
16
17
+ - Add support for multiple instances of a PackageURL in the CycloneDX outputs.
18
+ The `package_uid ` is now included in each BOM Component as a property.
19
+ https://github.com/nexB/scancode.io/issues/1316
20
+
17
21
v34.7.0 (2024-07-02)
18
22
--------------------
19
23
Original file line number Diff line number Diff line change @@ -3414,6 +3414,7 @@ def as_cyclonedx(self):
3414
3414
"download_url" ,
3415
3415
"homepage_url" ,
3416
3416
"notice_text" ,
3417
+ "package_uid" ,
3417
3418
]
3418
3419
properties = [
3419
3420
cyclonedx_model .Property (
Original file line number Diff line number Diff line change 54
54
"name" : " aboutcode:homepage_url" ,
55
55
"value" : " https://github.com/django/asgiref/"
56
56
},
57
+ {
58
+ "name" : " aboutcode:package_uid" ,
59
+ "value" : " pkg:pypi/asgiref@3.3.0?uuid=8203628e-74ff-42c0-b96d-cdd2c56a0f01"
60
+ },
57
61
{
58
62
"name" : " aboutcode:primary_language" ,
59
63
"value" : " Python"
99
103
"name" : " aboutcode:homepage_url" ,
100
104
"value" : " https://github.com/django/asgiref/"
101
105
},
106
+ {
107
+ "name" : " aboutcode:package_uid" ,
108
+ "value" : " pkg:pypi/asgiref@3.3.0?uuid=6dc8a3e1-c9d2-41a0-aa6c-99999115001a"
109
+ },
102
110
{
103
111
"name" : " aboutcode:primary_language" ,
104
112
"value" : " Python"
Original file line number Diff line number Diff line change @@ -229,7 +229,7 @@ def test_scanpipe_cyclonedx_resolve_cyclonedx_packages(self):
229
229
# JSON v1.5 (this file is generated by the to_cyclonedx)
230
230
input_location = self .data / "asgiref-3.3.0.cdx.json"
231
231
packages = cyclonedx .resolve_cyclonedx_packages (input_location )
232
- self .assertEqual (1 , len (packages ))
232
+ self .assertEqual (2 , len (packages ))
233
233
234
234
# XML v1.4
235
235
input_location = self .data / "laravel-7.12.0" / "bom.1.4.xml"
Original file line number Diff line number Diff line change @@ -309,6 +309,15 @@ def test_scanpipe_pipes_outputs_get_cyclonedx_bom_dependency_tree(self):
309
309
]
310
310
self .assertEqual (expected , results_json ["dependencies" ])
311
311
312
+ def test_scanpipe_pipes_outputs_get_cyclonedx_bom_package_uid_instances (self ):
313
+ project = Project .objects .create (name = "project" )
314
+ make_package (project , "pkg:type/a" , package_uid = "pkg:type/a?uuid=1" )
315
+ make_package (project , "pkg:type/a" , package_uid = "pkg:type/a?uuid=2" )
316
+
317
+ output_file = output .to_cyclonedx (project = project )
318
+ results_json = json .loads (output_file .read_text ())
319
+ self .assertEqual (2 , len (results_json ["components" ]))
320
+
312
321
def test_scanpipe_pipes_outputs_to_spdx (self ):
313
322
fixtures = self .data / "asgiref" / "asgiref-3.3.0_fixtures.json"
314
323
call_command ("loaddata" , fixtures , ** {"verbosity" : 0 })
Original file line number Diff line number Diff line change @@ -2059,6 +2059,7 @@ def test_scanpipe_discovered_package_model_as_cyclonedx(self):
2059
2059
"aboutcode:homepage_url" : "https://packages.debian.org" ,
2060
2060
"aboutcode:primary_language" : "bash" ,
2061
2061
"aboutcode:notice_text" : "Notice\n Text" ,
2062
+ "aboutcode:package_uid" : package_data1 ["package_uid" ],
2062
2063
}
2063
2064
self .assertEqual (expected_properties , properties )
2064
2065
Original file line number Diff line number Diff line change @@ -91,7 +91,7 @@ install_requires =
91
91
# Profiling
92
92
pyinstrument ==4.6.2
93
93
# CycloneDX
94
- cyclonedx-python-lib ==7.4.1
94
+ cyclonedx-python-lib ==7.5.0
95
95
jsonschema ==4.22.0
96
96
# Font Awesome
97
97
fontawesomefree ==6.5.1
You can’t perform that action at this time.
0 commit comments