41
41
from .bom_ref import BomRef
42
42
from .component import Component
43
43
from .contact import OrganizationalContact , OrganizationalEntity
44
+ from .definition import DefinitionRepository , _DefinitionRepositoryHelper
44
45
from .dependency import Dependable , Dependency
45
46
from .license import License , LicenseExpression , LicenseRepository
46
47
from .service import Service
@@ -72,6 +73,7 @@ def __init__(
72
73
manufacturer : Optional [OrganizationalEntity ] = None ,
73
74
# Deprecated as of v1.6
74
75
manufacture : Optional [OrganizationalEntity ] = None ,
76
+ definitions : Optional [DefinitionRepository ] = None ,
75
77
) -> None :
76
78
self .timestamp = timestamp or _get_now_utc ()
77
79
self .tools = tools or [] # type:ignore[assignment]
@@ -88,6 +90,7 @@ def __init__(
88
90
'`bom.metadata.manufacture` is deprecated from CycloneDX v1.6 onwards. '
89
91
'Please use `bom.metadata.component.manufacturer` instead.' ,
90
92
DeprecationWarning )
93
+ self .definitions = definitions
91
94
92
95
@property
93
96
@serializable .type_mapping (serializable .helpers .XsdDateTime )
@@ -282,6 +285,23 @@ def properties(self) -> 'SortedSet[Property]':
282
285
def properties (self , properties : Iterable [Property ]) -> None :
283
286
self ._properties = SortedSet (properties )
284
287
288
+ @property
289
+ @serializable .type_mapping (_DefinitionRepositoryHelper )
290
+ @serializable .view (SchemaVersion1Dot6 )
291
+ @serializable .xml_sequence (90 )
292
+ def definitions (self ) -> Optional [DefinitionRepository ]:
293
+ """
294
+ The repository for definitions
295
+
296
+ Returns:
297
+ `DefinitionRepository`
298
+ """
299
+ return self ._definitions
300
+
301
+ @definitions .setter
302
+ def definitions (self , definitions : DefinitionRepository ) -> None :
303
+ self ._definitions = definitions
304
+
285
305
def __eq__ (self , other : object ) -> bool :
286
306
if isinstance (other , BomMetaData ):
287
307
return hash (other ) == hash (self )
0 commit comments