Skip to content

Conversation

stevespringett
Copy link
Member

@stevespringett stevespringett commented Feb 10, 2025

Implements patent support. Closes #596


TODO/DONE

  • add examples for XML
  • add examples for JSON
  • add examples for ProtoBuf
  • implement for XML
  • implement for JSON
  • implement for ProtoBuf

Signed-off-by: Steve Springett <[email protected]>
@stevespringett stevespringett changed the title Initial checkin of patent support Add patent support Feb 10, 2025
@stevespringett stevespringett linked an issue Feb 11, 2025 that may be closed by this pull request
@jkowalleck jkowalleck changed the title Add patent support [WIP] v1.7 - Add patent support Feb 12, 2025
@jkowalleck jkowalleck added this to the 1.7 milestone Feb 17, 2025
@stevespringett
Copy link
Member Author

@planetlevel would you be able to review this? We have worked with WIPO on providing summary information for patents and patent families and we believe our current support for both of these are correct. Let us know otherwise. However, I'm particularly interested in a review of the patent assertions which allow BOM creators to assert their relationship with the patent (owner, licensing, etc).

@planetlevel
Copy link

planetlevel commented Apr 3, 2025 via email

@stevespringett
Copy link
Member Author

@jkowalleck do you know what's up with the Java checker? It's failing on the valid-standard-1.7 test file, which is not part of this PR, and was never failing previously to my knowledge. Also, the PHP one is not returning any useful information, just a generic error.

@jkowalleck
Copy link
Member

jkowalleck commented May 2, 2025

@jkowalleck do you know what's up with the Java checker? It's failing on the valid-standard-1.7 test file, which is not part of this PR, and was never failing previously to my knowledge. Also, the PHP one is not returning any useful information, just a generic error.

did not look into details of this PR, but is suspect the XSD changes are breaking things unintentionally.
if I should guess, it is that a XML element patents is missing the intended min-occurrence, which makes it required - which breaks existing test cases.

https://github.com/CycloneDX/specification/actions/runs/14794751751/job/41539253573?pr=597#step:5:1237


test /home/runner/work/specification/specification/tools/src/test/resources/1.7/valid-standard-1.7.xml ...
ERROR: Unexpected validation error for file: /home/runner/work/specification/specification/tools/src/test/resources/1.7/valid-standard-1.7.xml
LibXMLError Object
(
    [level] => 2
    [code] => 1871
    [column] => 0
    [message] => Element '{http://cyclonedx.org/schema/bom/1.7}definitions': Missing child element(s). Expected is ( {http://cyclonedx.org/schema/bom/1.7}patents ).

    [file] => /home/runner/work/specification/specification/tools/src/test/php/
    [line] => 3
)

https://github.com/CycloneDX/specification/actions/runs/14794751743/job/41539253424?pr=597#step:4:2194

Error:  Tests run: 395, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.899 s <<< FAILURE! -- in org.cyclonedx.schema.XmlSchemaVerificationTest
Error:  org.cyclonedx.schema.XmlSchemaVerificationTest.dynamicTestsWithCollection()[392] -- Time elapsed: 0.007 s <<< FAILURE!
org.opentest4j.AssertionFailedError: 1.7/valid-standard-1.7.xml ==> expected: <true> but was: <false>
	at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
	at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
	at org.junit.jupiter.api.AssertTrue.failNotTrue(AssertTrue.java:63)
	at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:36)
	at org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:214)
	at org.cyclonedx.schema.XmlSchemaVerificationTest.lambda$dynamicTestsWithCollection$0(XmlSchemaVerificationTest.java:84)
	at java.util.Optional.ifPresent(Optional.java:159)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at java.util.ArrayList.forEach(ArrayList.java:1259)

Signed-off-by: Steve Springett <[email protected]>
@stevespringett
Copy link
Member Author

Ah, that makes sense. Thanks for the guidance.

Signed-off-by: Steve Springett <[email protected]>
@stevespringett stevespringett marked this pull request as ready for review May 2, 2025 22:53
@stevespringett stevespringett requested a review from a team as a code owner May 2, 2025 22:53
@stevespringett stevespringett changed the title [WIP] v1.7 - Add patent support Add patent support May 2, 2025
@stevespringett stevespringett changed the title Add patent support Add support for representing patent information May 2, 2025
@stevespringett stevespringett added request for comment RFC notice sent A public RFC notice was distributed to the CycloneDX mailing list for consideration labels May 2, 2025
@jkowalleck jkowalleck self-requested a review May 15, 2025 12:36
Copy link
Member

@jkowalleck jkowalleck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

did a complete review of all changes.

  • the JSON, the XML, and the PB are consistent.
  • data models made sense - thanks to the good documentation/annotation

@jkowalleck jkowalleck requested a review from a team May 15, 2025 15:07
@jkowalleck
Copy link
Member

RFC notice sent on May 3, 2025

Public RFC period ended May 31, 2025

@jkowalleck jkowalleck added RFC vote accepted promote to tc54 Promote to Ecma Technical Committee 54 tc54 accepted Ecma TC54 has accepted the feature candidate labels Jun 5, 2025
@jkowalleck
Copy link
Member

this one just was accepted during a Ecma TC54 meeting 👍

@jkowalleck jkowalleck mentioned this pull request Jun 5, 2025
@jkowalleck jkowalleck merged commit 4cf9489 into 1.7-dev Jun 5, 2025
9 checks passed
@Nicolas-Peiffer
Copy link
Contributor

Nicolas-Peiffer commented Jun 6, 2025

Great news 🚀 , and great result. Thank you ❤️ to all the people involved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

promote to tc54 Promote to Ecma Technical Committee 54 proposed core enhancement request for comment RFC notice sent A public RFC notice was distributed to the CycloneDX mailing list for consideration RFC vote accepted tc54 accepted Ecma TC54 has accepted the feature candidate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE]: Add support for referencing patent information

5 participants