-
-
Notifications
You must be signed in to change notification settings - Fork 50
[WIP] feat: Add support for Component Identity Evidence #657
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] feat: Add support for Component Identity Evidence #657
Conversation
This PR is a work in progress and does not currently pass the tests and does not propertly handle the 1.5 schema that only allows the |
Signed-off-by: Jacob Wahlman <[email protected]>
Signed-off-by: Jacob Wahlman <[email protected]>
Signed-off-by: Jacob Wahlman <[email protected]>
Signed-off-by: Jacob Wahlman <[email protected]>
Signed-off-by: Jacob Wahlman <[email protected]>
a30629c
to
27d4470
Compare
Identified some issues with some invalid tests, updated those and now it works for schema 1.6 with arrays. However, the only remaining issue is the object support for componentIdentityEvidence in schema 1.5 and 1.6. |
Signed-off-by: Jacob Wahlman <[email protected]>
@wahl-sec is this work-in-progress, or ready for review? does this change include any breaking changes? |
@jkowalleck No breaking changes, only added the optional |
@wahl-sec @jkowalleck How can I help to get this merged? I guess to support both a single identity object and an array, the setter needs to accept both an Iterable of ComponentIdentityEvidence and a single instance of ComponentIdentityEvidence? @identity.setter
def identity(self, identity: Iterable[ComponentIdentityEvidence] | ComponentIdentityEvidence) -> None: The getter returns always an Iterable and serialize the xml/json with a helper which differes between the schema versions. Like BomMetaData.tools is doing it. |
this PR is outdated, and it has conflicts. @jloehel, If I were you, I would start fresh and implement the needed Enums and class properties, then write fresh tests, and make them pass by properly decorating the properties according to the spec. I agree, the setters need to be adjusted to accept a single element as well as an iterable; and the getter should always return an I will not have the time to assist in the implementation for the next month; so if you want to give it a try, feel free to pull request a draft and ask the community for reviews. 👍 PS: since getters might change return type, the result might introduce breaking changes. this should not be an issue, just change what is needed, so that the results match the CycloneDX spec. Let's embrace the change. |
Yes that sounds good, I dont currently have time to work on this so I'll close this one out. |
This pull request aims to implement the
componentIdentityEvidence
type from 1.5 and 1.6 as part of fulfilling #578