├── docgen ├── json │ ├── .gitignore │ ├── requirements.txt │ └── templates │ │ └── cyclonedx │ │ ├── section_not.html │ │ ├── macro_restriction.html │ │ └── section_undocumented_required_properties.html ├── proto │ └── .gitignore └── xml │ └── .gitignore ├── .gitignore ├── tools ├── src │ └── test │ │ ├── php │ │ ├── .gitignore │ │ └── README.md │ │ ├── js │ │ ├── .gitignore │ │ └── README.md │ │ ├── resources │ │ ├── 1.2 │ │ │ ├── invalid-serialnumber-1.2.json │ │ │ ├── invalid-bomformat-1.2.json │ │ │ ├── valid-empty-components-1.2.json │ │ │ ├── valid-empty-components-1.2.xml │ │ │ ├── invalid-metadata-timestamp-1.2.json │ │ │ ├── invalid-empty-component-1.2.xml │ │ │ ├── invalid-metadata-timestamp-1.2.xml │ │ │ ├── valid-metadata-timestamp-1.2.json │ │ │ ├── valid-metadata-timestamp-1.2.xml │ │ │ ├── invalid-component-type-1.2.json │ │ │ ├── valid-minimal-viable-1.2.json │ │ │ ├── invalid-scope-1.2.json │ │ │ ├── invalid-missing-component-type-1.2.xml │ │ │ ├── invalid-component-type-1.2.xml │ │ │ ├── valid-minimal-viable-1.2.xml │ │ │ ├── invalid-scope-1.2.xml │ │ │ ├── valid-metadata-author-1.2.json │ │ │ ├── skip_invalid-empty-component-1.2.json │ │ │ ├── skip_invalid-missing-component-type-1.2.json │ │ │ ├── invalid-service-data-1.2.xml │ │ │ ├── invalid-component-swid-1.2.json │ │ │ ├── invalid-component-swid-1.2.xml │ │ │ ├── valid-component-ref-1.2.json │ │ │ ├── invalid-component-ref-1.2.json │ │ │ ├── valid-metadata-author-1.2.xml │ │ │ ├── valid-metadata-supplier-1.2.json │ │ │ ├── invalid-service-data-1.2.json │ │ │ ├── invalid-license-id-1.2.json │ │ │ ├── valid-license-id-1.2.json │ │ │ ├── valid-service-empty-objects-1.2.json │ │ │ ├── valid-license-expression-1.2.json │ │ │ ├── valid-metadata-supplier-1.2.xml │ │ │ ├── valid-component-swid-1.2.xml │ │ │ ├── valid-license-name-1.2.json │ │ │ ├── valid-metadata-manufacture-1.2.json │ │ │ ├── valid-component-swid-1.2.json │ │ │ ├── valid-metadata-manufacture-1.2.xml │ │ │ ├── valid-service-empty-objects-1.2.xml │ │ │ ├── invalid-license-choice-1.2.json │ │ │ ├── invalid-component-ref-1.2.xml │ │ │ └── valid-assembly-1.2.json │ │ ├── 1.3 │ │ │ ├── invalid-serialnumber-1.3.json │ │ │ ├── valid-empty-components-1.3.textproto │ │ │ ├── invalid-bomformat-1.3.json │ │ │ ├── valid-empty-components-1.3.json │ │ │ ├── valid-empty-components-1.3.xml │ │ │ ├── invalid-empty-component-1.3.json │ │ │ ├── invalid-metadata-timestamp-1.3.json │ │ │ ├── invalid-empty-component-1.3.xml │ │ │ ├── invalid-metadata-timestamp-1.3.xml │ │ │ ├── valid-metadata-timestamp-1.3.json │ │ │ ├── valid-metadata-timestamp-1.3.xml │ │ │ ├── valid-metadata-timestamp-1.3.textproto │ │ │ ├── invalid-missing-component-type-1.3.json │ │ │ ├── valid-metadata-license-1.3.textproto │ │ │ ├── valid-minimal-viable-1.3.textproto │ │ │ ├── invalid-component-type-1.3.json │ │ │ ├── valid-minimal-viable-1.3.json │ │ │ ├── valid-service-empty-objects-1.3.textproto │ │ │ ├── invalid-scope-1.3.json │ │ │ ├── valid-metadata-author-1.3.textproto │ │ │ ├── invalid-missing-component-type-1.3.xml │ │ │ ├── invalid-component-type-1.3.xml │ │ │ ├── invalid-metadata-license-1.3.json │ │ │ ├── valid-metadata-license-1.3.json │ │ │ ├── valid-minimal-viable-1.3.xml │ │ │ ├── invalid-metadata-license-1.3.xml │ │ │ ├── valid-metadata-license-1.3.xml │ │ │ ├── invalid-scope-1.3.xml │ │ │ ├── valid-metadata-author-1.3.json │ │ │ ├── valid-metadata-supplier-1.3.textproto │ │ │ ├── valid-license-id-1.3.textproto │ │ │ ├── valid-metadata-manufacture-1.3.textproto │ │ │ ├── valid-license-name-1.3.textproto │ │ │ ├── valid-component-ref-1.3.textproto │ │ │ ├── valid-license-expression-1.3.textproto │ │ │ ├── invalid-service-data-1.3.xml │ │ │ ├── invalid-component-swid-1.3.json │ │ │ ├── invalid-component-swid-1.3.xml │ │ │ ├── valid-component-ref-1.3.json │ │ │ ├── valid-component-swid-1.3.textproto │ │ │ ├── invalid-component-ref-1.3.json │ │ │ ├── valid-metadata-author-1.3.xml │ │ │ ├── valid-metadata-supplier-1.3.json │ │ │ ├── invalid-service-data-1.3.json │ │ │ ├── valid-assembly-1.3.textproto │ │ │ ├── invalid-license-id-1.3.json │ │ │ ├── valid-license-id-1.3.json │ │ │ ├── valid-service-empty-objects-1.3.json │ │ │ ├── valid-license-expression-1.3.json │ │ │ ├── valid-metadata-supplier-1.3.xml │ │ │ ├── valid-component-swid-1.3.xml │ │ │ ├── valid-license-name-1.3.json │ │ │ ├── valid-metadata-manufacture-1.3.json │ │ │ ├── valid-component-swid-1.3.json │ │ │ ├── valid-metadata-manufacture-1.3.xml │ │ │ ├── valid-service-empty-objects-1.3.xml │ │ │ ├── valid-metadata-tool-1.3.textproto │ │ │ ├── invalid-license-choice-1.3.json │ │ │ ├── invalid-component-ref-1.3.xml │ │ │ └── valid-assembly-1.3.json │ │ ├── 1.4 │ │ │ ├── invalid-serialnumber-1.4.json │ │ │ ├── valid-empty-components-1.4.textproto │ │ │ ├── invalid-bomformat-1.4.json │ │ │ ├── valid-empty-components-1.4.json │ │ │ ├── valid-empty-components-1.4.xml │ │ │ ├── invalid-empty-component-1.4.json │ │ │ ├── invalid-metadata-timestamp-1.4.json │ │ │ ├── invalid-empty-component-1.4.xml │ │ │ ├── invalid-metadata-timestamp-1.4.xml │ │ │ ├── valid-metadata-timestamp-1.4.json │ │ │ ├── valid-minimal-viable-1.4.textproto │ │ │ ├── valid-metadata-timestamp-1.4.xml │ │ │ ├── valid-metadata-timestamp-1.4.textproto │ │ │ ├── valid-minimal-viable-1.4.json │ │ │ ├── invalid-missing-component-type-1.4.json │ │ │ ├── valid-metadata-license-1.4.textproto │ │ │ ├── valid-minimal-viable-1.4.xml │ │ │ ├── invalid-component-type-1.4.json │ │ │ ├── valid-service-empty-objects-1.4.textproto │ │ │ ├── invalid-scope-1.4.json │ │ │ ├── valid-metadata-author-1.4.textproto │ │ │ ├── invalid-missing-component-type-1.4.xml │ │ │ ├── invalid-component-type-1.4.xml │ │ │ ├── invalid-metadata-license-1.4.json │ │ │ ├── valid-metadata-license-1.4.json │ │ │ ├── invalid-metadata-license-1.4.xml │ │ │ ├── valid-metadata-license-1.4.xml │ │ │ ├── invalid-scope-1.4.xml │ │ │ ├── valid-metadata-author-1.4.json │ │ │ ├── valid-metadata-supplier-1.4.textproto │ │ │ ├── valid-license-id-1.4.textproto │ │ │ ├── valid-metadata-manufacture-1.4.textproto │ │ │ ├── valid-license-name-1.4.textproto │ │ │ ├── valid-component-ref-1.4.textproto │ │ │ ├── valid-license-expression-1.4.textproto │ │ │ ├── invalid-service-data-1.4.xml │ │ │ ├── invalid-component-swid-1.4.json │ │ │ ├── invalid-component-swid-1.4.xml │ │ │ ├── valid-component-ref-1.4.json │ │ │ ├── valid-component-swid-1.4.textproto │ │ │ ├── invalid-component-ref-1.4.json │ │ │ ├── valid-metadata-author-1.4.xml │ │ │ ├── valid-metadata-supplier-1.4.json │ │ │ ├── invalid-service-data-1.4.json │ │ │ ├── valid-assembly-1.4.textproto │ │ │ ├── invalid-license-id-1.4.json │ │ │ ├── valid-license-id-1.4.json │ │ │ ├── valid-service-empty-objects-1.4.json │ │ │ ├── valid-license-expression-1.4.json │ │ │ ├── valid-metadata-supplier-1.4.xml │ │ │ ├── valid-component-swid-1.4.xml │ │ │ ├── valid-license-name-1.4.json │ │ │ ├── valid-metadata-manufacture-1.4.json │ │ │ ├── valid-component-swid-1.4.json │ │ │ ├── valid-metadata-manufacture-1.4.xml │ │ │ ├── valid-service-empty-objects-1.4.xml │ │ │ ├── valid-metadata-tool-1.4.textproto │ │ │ ├── invalid-license-choice-1.4.json │ │ │ ├── invalid-component-ref-1.4.xml │ │ │ └── valid-assembly-1.4.json │ │ ├── 1.5 │ │ │ ├── invalid-serialnumber-1.5.json │ │ │ ├── valid-empty-components-1.5.textproto │ │ │ ├── invalid-bomformat-1.5.json │ │ │ ├── valid-empty-components-1.5.json │ │ │ ├── valid-empty-components-1.5.xml │ │ │ ├── invalid-empty-component-1.5.json │ │ │ ├── invalid-metadata-timestamp-1.5.json │ │ │ ├── invalid-empty-component-1.5.xml │ │ │ ├── invalid-metadata-timestamp-1.5.xml │ │ │ ├── valid-metadata-timestamp-1.5.json │ │ │ ├── valid-minimal-viable-1.5.textproto │ │ │ ├── valid-metadata-timestamp-1.5.xml │ │ │ ├── valid-metadata-timestamp-1.5.textproto │ │ │ ├── valid-minimal-viable-1.5.json │ │ │ ├── invalid-missing-component-type-1.5.json │ │ │ ├── valid-metadata-license-1.5.textproto │ │ │ ├── valid-minimal-viable-1.5.xml │ │ │ ├── invalid-component-type-1.5.json │ │ │ ├── valid-service-empty-objects-1.5.textproto │ │ │ ├── invalid-scope-1.5.json │ │ │ ├── valid-metadata-author-1.5.textproto │ │ │ ├── invalid-missing-component-type-1.5.xml │ │ │ ├── invalid-component-type-1.5.xml │ │ │ ├── invalid-metadata-license-1.5.json │ │ │ ├── valid-metadata-license-1.5.json │ │ │ ├── invalid-metadata-license-1.5.xml │ │ │ ├── valid-metadata-license-1.5.xml │ │ │ ├── invalid-scope-1.5.xml │ │ │ ├── valid-metadata-author-1.5.json │ │ │ ├── valid-license-id-1.5.textproto │ │ │ ├── valid-license-name-1.5.textproto │ │ │ ├── valid-component-ref-1.5.textproto │ │ │ ├── valid-license-expression-1.5.textproto │ │ │ ├── invalid-service-data-1.5.xml │ │ │ ├── invalid-component-swid-1.5.json │ │ │ ├── valid-metadata-supplier-1.5.textproto │ │ │ ├── invalid-component-swid-1.5.xml │ │ │ ├── valid-component-ref-1.5.json │ │ │ ├── valid-component-swid-1.5.textproto │ │ │ ├── valid-metadata-author-1.5.xml │ │ │ ├── valid-metadata-manufacture-1.5.textproto │ │ │ ├── valid-metadata-lifecycle-1.5.textproto │ │ │ ├── invalid-service-data-1.5.json │ │ │ ├── valid-assembly-1.5.textproto │ │ │ ├── invalid-license-id-1.5.json │ │ │ ├── valid-service-empty-objects-1.5.json │ │ │ ├── valid-component-swid-1.5.xml │ │ │ ├── valid-metadata-lifecycle-1.5.json │ │ │ ├── valid-component-swid-1.5.json │ │ │ ├── valid-license-id-1.5.json │ │ │ ├── valid-license-expression-1.5.json │ │ │ ├── valid-metadata-supplier-1.5.xml │ │ │ ├── valid-service-empty-objects-1.5.xml │ │ │ ├── valid-license-name-1.5.json │ │ │ ├── valid-metadata-supplier-1.5.json │ │ │ ├── valid-metadata-tool-deprecated-1.5.textproto │ │ │ ├── valid-metadata-manufacture-1.5.xml │ │ │ ├── valid-metadata-manufacture-1.5.json │ │ │ ├── invalid-license-choice-1.5.json │ │ │ ├── invalid-component-ref-1.5.json │ │ │ └── valid-assembly-1.5.json │ │ ├── 1.6 │ │ │ ├── valid-empty-components-1.6.textproto │ │ │ ├── valid-empty-components-1.6.xml │ │ │ ├── invalid-serialnumber-1.6.json │ │ │ ├── invalid-bomformat-1.6.json │ │ │ ├── valid-empty-components-1.6.json │ │ │ ├── invalid-empty-component-1.6.xml │ │ │ ├── invalid-metadata-timestamp-1.6.xml │ │ │ ├── valid-minimal-viable-1.6.textproto │ │ │ ├── valid-metadata-timestamp-1.6.xml │ │ │ ├── valid-metadata-timestamp-1.6.textproto │ │ │ ├── valid-minimal-viable-1.6.xml │ │ │ ├── invalid-empty-component-1.6.json │ │ │ ├── invalid-metadata-timestamp-1.6.json │ │ │ ├── valid-service-empty-objects-1.6.textproto │ │ │ ├── valid-metadata-author-1.6.textproto │ │ │ ├── valid-metadata-timestamp-1.6.json │ │ │ ├── invalid-missing-component-type-1.6.xml │ │ │ ├── valid-minimal-viable-1.6.json │ │ │ ├── invalid-component-type-1.6.xml │ │ │ ├── invalid-missing-component-type-1.6.json │ │ │ ├── invalid-metadata-license-1.6.xml │ │ │ ├── invalid-component-type-1.6.json │ │ │ ├── invalid-scope-1.6.xml │ │ │ ├── invalid-scope-1.6.json │ │ │ ├── invalid-license-missing-id-and-name-1.6.textproto │ │ │ ├── invalid-metadata-license-1.6.json │ │ │ ├── valid-metadata-license-1.6.textproto │ │ │ ├── invalid-service-data-1.6.xml │ │ │ ├── valid-metadata-supplier-1.6.textproto │ │ │ ├── valid-metadata-author-1.6.json │ │ │ ├── invalid-component-swid-1.6.xml │ │ │ ├── valid-component-swid-1.6.textproto │ │ │ ├── valid-metadata-author-1.6.xml │ │ │ ├── valid-metadata-manufacturer-1.6.textproto │ │ │ ├── valid-tags-1.6.textproto │ │ │ ├── valid-metadata-lifecycle-1.6.textproto │ │ │ ├── valid-metadata-manufacture-1.6.textproto │ │ │ ├── valid-assembly-1.6.textproto │ │ │ ├── valid-metadata-license-1.6.xml │ │ │ ├── invalid-license-missing-id-and-name-1.6.xml │ │ │ ├── invalid-component-swid-1.6.json │ │ │ ├── valid-component-swid-1.6.xml │ │ │ ├── invalid-component-ref-1.6.json │ │ │ ├── invalid-license-missing-id-and-name-1.6.json │ │ │ ├── valid-metadata-supplier-1.6.xml │ │ │ ├── valid-service-empty-objects-1.6.xml │ │ │ ├── invalid-service-data-1.6.json │ │ │ ├── valid-metadata-tool-deprecated-1.6.textproto │ │ │ ├── invalid-license-id-1.6.json │ │ │ ├── valid-component-ref-1.6.textproto │ │ │ ├── valid-service-empty-objects-1.6.json │ │ │ ├── valid-metadata-lifecycle-1.6.json │ │ │ ├── valid-metadata-manufacturer-1.6.xml │ │ │ ├── valid-component-swid-1.6.json │ │ │ ├── valid-metadata-license-1.6.json │ │ │ ├── valid-metadata-manufacture-1.6.xml │ │ │ ├── valid-tags-1.6.json │ │ │ ├── valid-metadata-supplier-1.6.json │ │ │ ├── valid-component-data-1.6.textproto │ │ │ ├── valid-metadata-manufacturer-1.6.json │ │ │ └── invalid-license-choice-1.6.json │ │ ├── 1.7 │ │ │ ├── valid-empty-components-1.7.textproto │ │ │ ├── valid-empty-components-1.7.xml │ │ │ ├── invalid-serialnumber-1.7.json │ │ │ ├── invalid-bomformat-1.7.json │ │ │ ├── valid-empty-components-1.7.json │ │ │ ├── valid-minimal-viable-1.7.textproto │ │ │ ├── valid-metadata-timestamp-1.7.textproto │ │ │ ├── valid-metadata-distribution-1.7.textproto │ │ │ ├── invalid-metadata-timestamp-1.7.xml │ │ │ ├── invalid-empty-component-1.7.xml │ │ │ ├── valid-metadata-timestamp-1.7.xml │ │ │ ├── invalid-empty-component-1.7.json │ │ │ ├── invalid-metadata-distribution-1.7.xml │ │ │ ├── invalid-metadata-timestamp-1.7.json │ │ │ ├── valid-service-empty-objects-1.7.textproto │ │ │ ├── invalid-metadata-distribution-1.7.json │ │ │ ├── valid-metadata-author-1.7.textproto │ │ │ ├── valid-metadata-timestamp-1.7.json │ │ │ ├── valid-minimal-viable-1.7.xml │ │ │ ├── valid-minimal-viable-1.7.json │ │ │ ├── invalid-missing-component-type-1.7.json │ │ │ ├── valid-metadata-distribution-1.7.json │ │ │ ├── valid-metadata-distribution-1.7.xml │ │ │ ├── invalid-missing-component-type-1.7.xml │ │ │ ├── invalid-component-type-1.7.json │ │ │ ├── invalid-component-type-1.7.xml │ │ │ ├── invalid-metadata-license-1.7.xml │ │ │ ├── invalid-scope-1.7.json │ │ │ ├── invalid-scope-1.7.xml │ │ │ ├── invalid-license-missing-id-and-name-1.7.textproto │ │ │ ├── invalid-metadata-license-1.7.json │ │ │ ├── valid-metadata-license-1.7.textproto │ │ │ ├── valid-metadata-author-1.7.json │ │ │ ├── valid-metadata-supplier-1.7.textproto │ │ │ ├── invalid-service-data-1.7.xml │ │ │ ├── valid-component-swid-1.7.textproto │ │ │ ├── invalid-component-swid-1.7.xml │ │ │ ├── valid-metadata-lifecycle-1.7.textproto │ │ │ ├── valid-metadata-manufacturer-1.7.textproto │ │ │ ├── valid-metadata-author-1.7.xml │ │ │ ├── valid-metadata-manufacture-1.7.textproto │ │ │ ├── valid-assembly-1.7.textproto │ │ │ ├── invalid-component-swid-1.7.json │ │ │ ├── valid-metadata-license-1.7.xml │ │ │ ├── invalid-component-ref-1.7.json │ │ │ ├── invalid-license-missing-id-and-name-1.7.json │ │ │ ├── valid-tags-1.7.textproto │ │ │ ├── invalid-license-missing-id-and-name-1.7.xml │ │ │ ├── valid-component-swid-1.7.xml │ │ │ ├── invalid-component-versionRange-non-external-implicit.json │ │ │ ├── invalid-service-data-1.7.json │ │ │ ├── invalid-component-versionRange-non-external-explicit.json │ │ │ ├── invalid-license-id-1.7.json │ │ │ ├── valid-component-ref-1.7.textproto │ │ │ ├── valid-metadata-supplier-1.7.xml │ │ │ ├── valid-metadata-tool-deprecated-1.7.textproto │ │ │ ├── valid-service-empty-objects-1.7.json │ │ │ ├── valid-service-empty-objects-1.7.xml │ │ │ ├── valid-metadata-lifecycle-1.7.json │ │ │ ├── valid-component-swid-1.7.json │ │ │ ├── valid-metadata-license-1.7.json │ │ │ ├── invalid-component-external-version-and-range.json │ │ │ ├── valid-metadata-manufacturer-1.7.xml │ │ │ ├── valid-component-data-1.7.textproto │ │ │ ├── valid-metadata-manufacture-1.7.xml │ │ │ ├── invalid-component-external-version-and-range.xml │ │ │ ├── valid-metadata-supplier-1.7.json │ │ │ ├── valid-component-external-without-version.textproto │ │ │ ├── valid-component-external-with-version.textproto │ │ │ └── valid-metadata-manufacturer-1.7.json │ │ └── 1.1 │ │ │ ├── valid-empty-components-1.1.xml │ │ │ ├── invalid-empty-component-1.1.xml │ │ │ ├── invalid-missing-component-type-1.1.xml │ │ │ ├── invalid-component-type-1.1.xml │ │ │ ├── valid-minimal-viable-1.1.xml │ │ │ ├── invalid-scope-1.1.xml │ │ │ └── invalid-component-ref-1.1.xml │ │ └── proto │ │ └── buf_breaking-remote.yaml └── updateSpdx.sh ├── CODEOWNERS └── .github ├── lock.yml └── ISSUE_TEMPLATE ├── 2-defect.md └── config.yml /docgen/json/.gitignore: -------------------------------------------------------------------------------- 1 | /docs/ 2 | -------------------------------------------------------------------------------- /docgen/proto/.gitignore: -------------------------------------------------------------------------------- 1 | /docs/ 2 | -------------------------------------------------------------------------------- /docgen/xml/.gitignore: -------------------------------------------------------------------------------- 1 | /docs/ 2 | /Saxon-HE-*.jar -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | .vscode/ 3 | tools/target/ 4 | -------------------------------------------------------------------------------- /tools/src/test/php/.gitignore: -------------------------------------------------------------------------------- 1 | /vendor/ 2 | /composer.lock -------------------------------------------------------------------------------- /docgen/json/requirements.txt: -------------------------------------------------------------------------------- 1 | json-schema-for-humans==1.3.4 2 | -------------------------------------------------------------------------------- /tools/src/test/js/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | /package-lock.json -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/invalid-serialnumber-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f", 5 | "version": 1, 6 | "components": [ 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/invalid-serialnumber-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f", 5 | "version": 1, 6 | "components": [ 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/invalid-serialnumber-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f", 5 | "version": 1, 6 | "components": [ 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/invalid-serialnumber-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f", 5 | "version": 1, 6 | "components": [ 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-empty-components-1.3.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.3.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.3" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-empty-components-1.4.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.4.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.4" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-empty-components-1.5.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.5.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.5" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-empty-components-1.6.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.6.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.6" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-empty-components-1.7.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.7.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.7" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/invalid-bomformat-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "AnotherFormat", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/valid-empty-components-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/invalid-bomformat-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "AnotherFormat", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-empty-components-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/invalid-bomformat-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "AnotherFormat", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-empty-components-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/invalid-bomformat-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "AnotherFormat", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-empty-components-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /docgen/json/templates/cyclonedx/section_not.html: -------------------------------------------------------------------------------- 1 |
2 |

Must not be:

3 |
4 |
5 | {{ content(schema.kw_not) }} 6 |
7 |
8 |
-------------------------------------------------------------------------------- /tools/src/test/resources/1.1/valid-empty-components-1.1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/valid-empty-components-1.2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-empty-components-1.3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-empty-components-1.4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-empty-components-1.5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-empty-components-1.6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /docgen/json/templates/cyclonedx/macro_restriction.html: -------------------------------------------------------------------------------- 1 | {%- macro restriction(inner_text, css_class_name, html_id) -%} 2 |

{{ inner_text }}

3 | {%- endmacro -%} -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | # see https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners 2 | 3 | # all Core Team members are default-reviewers of new pull requests. 4 | # see https://github.com/orgs/CycloneDX/teams/core-team 5 | * @CycloneDX/core-team 6 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-empty-components-1.7.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/invalid-empty-component-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library" 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/invalid-empty-component-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library" 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/invalid-empty-component-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library" 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/invalid-serialnumber-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f", 6 | "version": 1, 7 | "components": [ 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-serialnumber-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f", 6 | "version": 1, 7 | "components": [ 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /tools/src/test/js/README.md: -------------------------------------------------------------------------------- 1 | # validate the JSON schema with `AJV` 2 | 3 | uses https://ajv.js.org/ 4 | for validation of a schema. 5 | 6 | ## requirements 7 | 8 | * node >=18.3 9 | 10 | ## setup 11 | 12 | ```shell 13 | npm install 14 | ``` 15 | 16 | ## usage 17 | 18 | ```shell 19 | npm test 20 | ``` 21 | 22 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/invalid-metadata-timestamp-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "timestamp": "2020-04-13" 8 | }, 9 | "components": [] 10 | } 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/invalid-metadata-timestamp-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "timestamp": "2020-04-13" 8 | }, 9 | "components": [] 10 | } 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/invalid-metadata-timestamp-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "timestamp": "2020-04-13" 8 | }, 9 | "components": [] 10 | } 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/invalid-metadata-timestamp-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "timestamp": "2020-04-13" 8 | }, 9 | "components": [] 10 | } 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.1/invalid-empty-component-1.1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/invalid-bomformat-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "AnotherFormat", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-empty-components-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-bomformat-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "AnotherFormat", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-empty-components-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/invalid-empty-component-1.2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/invalid-metadata-timestamp-1.2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2020-04-07 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/valid-metadata-timestamp-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "timestamp": "2020-04-13T20:20:39+00:00" 8 | }, 9 | "components": [] 10 | } 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/invalid-empty-component-1.3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/invalid-metadata-timestamp-1.3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2020-04-07 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-metadata-timestamp-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "timestamp": "2020-04-13T20:20:39+00:00" 8 | }, 9 | "components": [] 10 | } 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/invalid-empty-component-1.4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/invalid-metadata-timestamp-1.4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2020-04-07 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-metadata-timestamp-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "timestamp": "2020-04-13T20:20:39+00:00" 8 | }, 9 | "components": [] 10 | } 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-minimal-viable-1.4.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.4.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.4" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_LIBRARY 9 | name: "acme-library" 10 | } 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/invalid-empty-component-1.5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/invalid-metadata-timestamp-1.5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2020-04-07 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-metadata-timestamp-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "timestamp": "2020-04-13T20:20:39+00:00" 8 | }, 9 | "components": [] 10 | } 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-minimal-viable-1.5.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.5.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.5" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_LIBRARY 9 | name: "acme-library" 10 | } 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/invalid-empty-component-1.6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/invalid-metadata-timestamp-1.6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2020-04-07 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-minimal-viable-1.6.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.6.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.6" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_LIBRARY 9 | name: "acme-library" 10 | } 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-minimal-viable-1.7.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.7.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.7" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components: { 8 | type: CLASSIFICATION_LIBRARY 9 | name: "acme-library" 10 | } 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/valid-metadata-timestamp-1.2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2020-04-07T07:01:00Z 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-metadata-timestamp-1.3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2020-04-07T07:01:00Z 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-metadata-timestamp-1.4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2020-04-07T07:01:00Z 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-metadata-timestamp-1.5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2020-04-07T07:01:00Z 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-metadata-timestamp-1.6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2020-04-13T20:20:39Z 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-metadata-timestamp-1.3.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.3.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.3" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | timestamp { 9 | seconds: 3173618478 10 | nanos: 3 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-metadata-timestamp-1.4.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.4.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.4" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | timestamp { 9 | seconds: 3173618478 10 | nanos: 3 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-minimal-viable-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "name": "acme-library" 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-metadata-timestamp-1.5.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.5.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.5" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | timestamp { 9 | seconds: 3173618478 10 | nanos: 3 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-minimal-viable-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "name": "acme-library" 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-metadata-timestamp-1.6.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.6.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.6" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | timestamp { 9 | seconds: 1586809239 10 | nanos: 0 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-metadata-timestamp-1.7.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.7.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.7" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata: { 8 | timestamp: { 9 | seconds: 1586809239 10 | nanos: 0 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/invalid-missing-component-type-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "name": "acme-library", 9 | "version": "1.0.0" 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-metadata-license-1.3.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.3.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.3" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | licenses { 9 | license { 10 | id: "Apache-2.0" 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-minimal-viable-1.3.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.3.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.3" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_LIBRARY 9 | name: "acme-library" 10 | version: "1.0.0" 11 | } 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/invalid-missing-component-type-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "name": "acme-library", 9 | "version": "1.0.0" 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-metadata-license-1.4.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.4.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.4" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | licenses { 9 | license { 10 | id: "Apache-2.0" 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/invalid-missing-component-type-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "name": "acme-library", 9 | "version": "1.0.0" 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-metadata-license-1.5.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.5.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.5" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | licenses { 9 | license { 10 | id: "Apache-2.0" 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-metadata-distribution-1.7.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.7.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.7" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata: { 8 | distributionConstraints: { 9 | tlp: TLP_CLASSIFICATION_RED 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tools/src/test/proto/buf_breaking-remote.yaml: -------------------------------------------------------------------------------- 1 | # This is the config for "Buf" - a ProtocolBuffer linter/checker/more 2 | # see https://buf.build/docs/configuration/v2/buf-yaml 3 | version: v2 4 | breaking: # https://buf.build/docs/configuration/v2/buf-yaml#breaking 5 | use: # see https://buf.build/docs/breaking/overview#rules-and-categories 6 | - WIRE -------------------------------------------------------------------------------- /tools/updateSpdx.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -exu 3 | 4 | this="$(realpath "$0")" 5 | this_dir="$(dirname "$this")" 6 | project_root="$(dirname "$this_dir")" 7 | schema_dir="$project_root/schema" 8 | 9 | mvn clean \ 10 | compile \ 11 | exec:java -Dexec.mainClass='org.cyclonedx.tools.SpdxXsdGenerator' \ 12 | -Dcdx.schema.dir="$schema_dir" 13 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-metadata-timestamp-1.7.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 2020-04-07 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-minimal-viable-1.4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-minimal-viable-1.5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-minimal-viable-1.6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-empty-component-1.7.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/invalid-component-type-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "foo", 9 | "name": "acme-library", 10 | "version": "1.0.0" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/valid-minimal-viable-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "name": "acme-library", 10 | "version": "1.0.0" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/invalid-component-type-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "foo", 9 | "name": "acme-library", 10 | "version": "1.0.0" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-minimal-viable-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "name": "acme-library", 10 | "version": "1.0.0" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/invalid-component-type-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "foo", 9 | "name": "acme-library", 10 | "version": "1.0.0" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/invalid-component-type-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "foo", 9 | "name": "acme-library", 10 | "version": "1.0.0" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-metadata-timestamp-1.7.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 2020-04-13T20:20:39Z 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.github/lock.yml: -------------------------------------------------------------------------------- 1 | # Configuration for lock-threads - https://github.com/dessant/lock-threads 2 | daysUntilLock: 365 3 | exemptLabels: [] 4 | lockLabel: false 5 | lockComment: > 6 | This thread has been automatically locked since there has not been 7 | any recent activity after it was closed. Please open a new issue for 8 | related bugs. 9 | setLockReason: true 10 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/invalid-empty-component-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "type": "library" 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-empty-component-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "type": "library" 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-metadata-distribution-1.7.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | Unrestricted 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tools/src/test/php/README.md: -------------------------------------------------------------------------------- 1 | # validate the JSON schema with `opis/json-schema` 2 | 3 | uses https://opis.io/json-schema/2.x/php-loader.html 4 | for validation of a schema 5 | 6 | ## requirements 7 | 8 | * php >= 7.4 9 | * php composer 10 | 11 | ## setup 12 | 13 | ```shell 14 | composer update 15 | ``` 16 | 17 | ## usage 18 | 19 | ```shell 20 | composer run test 21 | ``` -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-service-empty-objects-1.3.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.3.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.3" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | services { 8 | bom_ref: "b2a46a4b-8367-4bae-9820-95557cfe03a8" 9 | provider { 10 | } 11 | name: "Stock ticker service" 12 | } 13 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-service-empty-objects-1.4.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.4.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.4" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | services { 8 | bom_ref: "b2a46a4b-8367-4bae-9820-95557cfe03a8" 9 | provider { 10 | } 11 | name: "Stock ticker service" 12 | } 13 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-service-empty-objects-1.5.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.5.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.5" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | services { 8 | bom_ref: "b2a46a4b-8367-4bae-9820-95557cfe03a8" 9 | provider { 10 | } 11 | name: "Stock ticker service" 12 | } 13 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/invalid-metadata-timestamp-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "metadata": { 8 | "timestamp": "2020-04-13" 9 | }, 10 | "components": [] 11 | } 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-service-empty-objects-1.6.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.6.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.6" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | services { 8 | bom_ref: "b2a46a4b-8367-4bae-9820-95557cfe03a8" 9 | provider { 10 | } 11 | name: "Stock ticker service" 12 | } 13 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-metadata-timestamp-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "metadata": { 8 | "timestamp": "2020-04-13" 9 | }, 10 | "components": [] 11 | } 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/invalid-scope-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "name": "acme-library", 10 | "version": "1.0.0", 11 | "scope": "foo" 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/invalid-scope-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "name": "acme-library", 10 | "version": "1.0.0", 11 | "scope": "foo" 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/invalid-scope-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "name": "acme-library", 10 | "version": "1.0.0", 11 | "scope": "foo" 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/invalid-scope-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "name": "acme-library", 10 | "version": "1.0.0", 11 | "scope": "foo" 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-service-empty-objects-1.7.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.7.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.7" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | services: { 8 | bom_ref: "b2a46a4b-8367-4bae-9820-95557cfe03a8" 9 | provider: { 10 | } 11 | name: "Stock ticker service" 12 | } 13 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.1/invalid-missing-component-type-1.1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | 8 | 9 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-metadata-distribution-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "metadata": { 8 | "distribution": "Unrestricted" 9 | }, 10 | "components": [] 11 | } 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.1/invalid-component-type-1.1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | 8 | 9 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.1/valid-minimal-viable-1.1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | 8 | 9 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-metadata-author-1.3.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.3.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.3" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | authors { 9 | name: "Samantha Wright" 10 | email: "samantha.wright@example.com" 11 | phone: "800-555-1212" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-metadata-author-1.4.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.4.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.4" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | authors { 9 | name: "Samantha Wright" 10 | email: "samantha.wright@example.com" 11 | phone: "800-555-1212" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-metadata-author-1.5.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.5.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.5" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | authors { 9 | name: "Samantha Wright" 10 | email: "samantha.wright@example.com" 11 | phone: "800-555-1212" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-metadata-author-1.6.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.6.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.6" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | authors { 9 | name: "Samantha Wright" 10 | email: "samantha.wright@example.com" 11 | phone: "800-555-1212" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-metadata-timestamp-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "metadata": { 8 | "timestamp": "2020-04-13T20:20:39+00:00" 9 | }, 10 | "components": [] 11 | } 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-metadata-author-1.7.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.7.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.7" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata: { 8 | authors: { 9 | name: "Samantha Wright" 10 | email: "samantha.wright@example.com" 11 | phone: "800-555-1212" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-metadata-timestamp-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "metadata": { 8 | "timestamp": "2020-04-13T20:20:39+00:00" 9 | }, 10 | "components": [] 11 | } 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-minimal-viable-1.7.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | acme-library 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/invalid-missing-component-type-1.2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/invalid-missing-component-type-1.3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/invalid-missing-component-type-1.4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/invalid-missing-component-type-1.5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/invalid-missing-component-type-1.6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-minimal-viable-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "type": "library", 10 | "name": "acme-library" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-minimal-viable-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "type": "library", 10 | "name": "acme-library" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/invalid-component-type-1.2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/valid-minimal-viable-1.2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/invalid-component-type-1.3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/invalid-metadata-license-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "licenses": [ 8 | { 9 | "license": { 10 | "id": "Apache-2" 11 | } 12 | } 13 | ] 14 | }, 15 | "components": [] 16 | } 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-metadata-license-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "licenses": [ 8 | { 9 | "license": { 10 | "id": "Apache-2.0" 11 | } 12 | } 13 | ] 14 | }, 15 | "components": [] 16 | } 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-minimal-viable-1.3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/invalid-component-type-1.4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/invalid-metadata-license-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "licenses": [ 8 | { 9 | "license": { 10 | "id": "Apache-2" 11 | } 12 | } 13 | ] 14 | }, 15 | "components": [] 16 | } 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-metadata-license-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "licenses": [ 8 | { 9 | "license": { 10 | "id": "Apache-2.0" 11 | } 12 | } 13 | ] 14 | }, 15 | "components": [] 16 | } 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/invalid-component-type-1.5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/invalid-metadata-license-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "licenses": [ 8 | { 9 | "license": { 10 | "id": "Apache-2" 11 | } 12 | } 13 | ] 14 | }, 15 | "components": [] 16 | } 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-metadata-license-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "licenses": [ 8 | { 9 | "license": { 10 | "id": "Apache-2.0" 11 | } 12 | } 13 | ] 14 | }, 15 | "components": [] 16 | } 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/invalid-component-type-1.6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/invalid-missing-component-type-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "name": "acme-library", 10 | "version": "1.0.0" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-missing-component-type-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "name": "acme-library", 10 | "version": "1.0.0" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/invalid-metadata-license-1.3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Apache-2 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-metadata-license-1.3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Apache-2.0 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/invalid-metadata-license-1.4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Apache-2 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-metadata-license-1.4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Apache-2.0 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/invalid-metadata-license-1.5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Apache-2 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-metadata-license-1.5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Apache-2.0 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/invalid-metadata-license-1.6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Apache-2 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-metadata-distribution-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "metadata": { 8 | "distributionConstraints": { 9 | "tlp": "RED" 10 | } 11 | }, 12 | "components": [] 13 | } 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-metadata-distribution-1.7.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | RED 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-missing-component-type-1.7.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | acme-library 9 | 1.0.0 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.1/invalid-scope-1.1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | foo 8 | 9 | 10 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/invalid-component-type-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "type": "foo", 10 | "name": "acme-library", 11 | "version": "1.0.0" 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-component-type-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "type": "foo", 10 | "name": "acme-library", 11 | "version": "1.0.0" 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-component-type-1.7.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | acme-library 9 | 1.0.0 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/invalid-scope-1.2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | foo 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/invalid-scope-1.3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | foo 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/invalid-scope-1.4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | foo 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/invalid-scope-1.5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | foo 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/invalid-scope-1.6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | foo 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/2-defect.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Defect Report 3 | about: File a defect report. 4 | title: "[Defect]: " 5 | labels: defect 6 | 7 | --- 8 | 9 | 12 | 13 | ## Describe the defect 14 | 15 | A clear and concise description of what the defect appears to be. 16 | 17 | ## Additional context 18 | 19 | Add any other context about the problem here. 20 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-metadata-license-1.7.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | Apache-2 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/invalid-scope-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "type": "library", 10 | "name": "acme-library", 11 | "version": "1.0.0", 12 | "scope": "foo" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-scope-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "type": "library", 10 | "name": "acme-library", 11 | "version": "1.0.0", 12 | "scope": "foo" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/valid-metadata-author-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "authors": [ 8 | { 9 | "name": "Samantha Wright", 10 | "email": "samantha.wright@example.com", 11 | "phone": "800-555-1212" 12 | } 13 | ] 14 | }, 15 | "components": [] 16 | } 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-metadata-author-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "authors": [ 8 | { 9 | "name": "Samantha Wright", 10 | "email": "samantha.wright@example.com", 11 | "phone": "800-555-1212" 12 | } 13 | ] 14 | }, 15 | "components": [] 16 | } 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-metadata-author-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "authors": [ 8 | { 9 | "name": "Samantha Wright", 10 | "email": "samantha.wright@example.com", 11 | "phone": "800-555-1212" 12 | } 13 | ] 14 | }, 15 | "components": [] 16 | } 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-metadata-author-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "authors": [ 8 | { 9 | "name": "Samantha Wright", 10 | "email": "samantha.wright@example.com", 11 | "phone": "800-555-1212" 12 | } 13 | ] 14 | }, 15 | "components": [] 16 | } 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/invalid-license-missing-id-and-name-1.6.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.6.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.6" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_LIBRARY 9 | name: "license-with-no-id-nor-name" 10 | version: "23" 11 | description: "testcase for issue#288" 12 | licenses { 13 | license {} 14 | } 15 | } -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-metadata-supplier-1.3.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.3.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.3" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | supplier { 9 | name: "Acme, Inc." 10 | url: "https://example.com" 11 | contact { 12 | name: "Acme Distribution" 13 | email: "distribution@example.com" 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-metadata-supplier-1.4.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.4.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.4" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | supplier { 9 | name: "Acme, Inc." 10 | url: "https://example.com" 11 | contact { 12 | name: "Acme Distribution" 13 | email: "distribution@example.com" 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-scope-1.7.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | acme-library 9 | 1.0.0 10 | foo 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-license-missing-id-and-name-1.7.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.7.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.7" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components: { 8 | type: CLASSIFICATION_LIBRARY 9 | name: "license-with-no-id-nor-name" 10 | version: "23" 11 | description: "testcase for issue#288" 12 | licenses: { 13 | license: { } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/skip_invalid-empty-component-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "$comment": "expected to fail, since `name` and `version` are missing. But in fact `name` and `version` are optional as they have a default value in CDX-v1.2" 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/invalid-metadata-license-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "metadata": { 8 | "licenses": [ 9 | { 10 | "license": { 11 | "id": "Apache-2" 12 | } 13 | } 14 | ] 15 | }, 16 | "components": [] 17 | } 18 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-metadata-license-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "metadata": { 8 | "licenses": [ 9 | { 10 | "license": { 11 | "id": "Apache-2" 12 | } 13 | } 14 | ] 15 | }, 16 | "components": [] 17 | } 18 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-license-id-1.3.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.3.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.3" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_LIBRARY 9 | publisher: "Acme Inc" 10 | group: "com.acme" 11 | name: "tomcat-catalina" 12 | version: "9.0.14" 13 | licenses { 14 | license { 15 | id: "Apache-2.0" 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-metadata-manufacture-1.3.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.3.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.3" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | manufacture { 9 | name: "Acme, Inc." 10 | url: "https://example.com" 11 | contact { 12 | name: "Acme Professional Services" 13 | email: "professional.services@example.com" 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-license-id-1.4.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.4.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.4" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_LIBRARY 9 | publisher: "Acme Inc" 10 | group: "com.acme" 11 | name: "tomcat-catalina" 12 | version: "9.0.14" 13 | licenses { 14 | license { 15 | id: "Apache-2.0" 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-metadata-manufacture-1.4.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.4.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.4" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | manufacture { 9 | name: "Acme, Inc." 10 | url: "https://example.com" 11 | contact { 12 | name: "Acme Professional Services" 13 | email: "professional.services@example.com" 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-license-id-1.5.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.5.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.5" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_LIBRARY 9 | publisher: "Acme Inc" 10 | group: "com.acme" 11 | name: "tomcat-catalina" 12 | version: "9.0.14" 13 | licenses { 14 | license { 15 | id: "Apache-2.0" 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/skip_invalid-missing-component-type-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "name": "acme-library", 9 | "version": "1.0.0", 10 | "$comment": "expected to fail, since `type` is missing. But in fact `type` is optional as it has a default value in CDX-v1.2" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: true 2 | contact_links: 3 | - name: Discussions 4 | url: https://github.com/CycloneDX/specification/discussions 5 | about: Please ask and answer questions here. 6 | - name: Community Slack support channel 7 | url: https://cyclonedx.slack.com/archives/CVA0G10FN 8 | about: Community Slack channel. 9 | - name: Community Slack invite 10 | url: https://cyclonedx.org/slack/invite 11 | about: Community Slack invite. 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-license-name-1.3.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.3.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.3" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_LIBRARY 9 | publisher: "Acme Inc" 10 | group: "com.acme" 11 | name: "tomcat-catalina" 12 | version: "9.0.14" 13 | licenses { 14 | license { 15 | name: "Apache License 2.0" 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-license-name-1.4.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.4.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.4" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_LIBRARY 9 | publisher: "Acme Inc" 10 | group: "com.acme" 11 | name: "tomcat-catalina" 12 | version: "9.0.14" 13 | licenses { 14 | license { 15 | name: "Apache License 2.0" 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-license-name-1.5.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.5.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.5" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_LIBRARY 9 | publisher: "Acme Inc" 10 | group: "com.acme" 11 | name: "tomcat-catalina" 12 | version: "9.0.14" 13 | licenses { 14 | license { 15 | name: "Apache License 2.0" 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-metadata-license-1.6.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.6.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.6" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | licenses { 9 | license { 10 | id: "Apache-2.0" 11 | } 12 | } 13 | licenses { 14 | license { 15 | name: "My License" 16 | text { 17 | value: "My License Text" 18 | } 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-component-ref-1.3.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.3.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.3" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_LIBRARY 9 | bom_ref: "123" 10 | name: "acme-library" 11 | version: "1.0.0" 12 | } 13 | components { 14 | type: CLASSIFICATION_LIBRARY 15 | bom_ref: "456" 16 | name: "acme-library" 17 | version: "1.0.0" 18 | } 19 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-license-expression-1.3.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.3.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.3" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_LIBRARY 9 | publisher: "Acme Inc" 10 | group: "com.acme" 11 | name: "tomcat-catalina" 12 | version: "9.0.14" 13 | licenses { 14 | expression: "EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-component-ref-1.4.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.4.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.4" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_LIBRARY 9 | bom_ref: "123" 10 | name: "acme-library" 11 | version: "1.0.0" 12 | } 13 | components { 14 | type: CLASSIFICATION_LIBRARY 15 | bom_ref: "456" 16 | name: "acme-library" 17 | version: "1.0.0" 18 | } 19 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-license-expression-1.4.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.4.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.4" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_LIBRARY 9 | publisher: "Acme Inc" 10 | group: "com.acme" 11 | name: "tomcat-catalina" 12 | version: "9.0.14" 13 | licenses { 14 | expression: "EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-component-ref-1.5.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.5.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.5" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_LIBRARY 9 | bom_ref: "123" 10 | name: "acme-library" 11 | version: "1.0.0" 12 | } 13 | components { 14 | type: CLASSIFICATION_LIBRARY 15 | bom_ref: "456" 16 | name: "acme-library" 17 | version: "1.0.0" 18 | } 19 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-license-expression-1.5.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.5.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.5" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_LIBRARY 9 | publisher: "Acme Inc" 10 | group: "com.acme" 11 | name: "tomcat-catalina" 12 | version: "9.0.14" 13 | licenses { 14 | expression: "EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-metadata-license-1.7.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.7.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.7" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata: { 8 | licenses: { 9 | license: { 10 | id: "Apache-2.0" 11 | } 12 | } 13 | licenses: { 14 | license: { 15 | name: "My License" 16 | text: { 17 | value: "My License Text" 18 | } 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/invalid-service-data-1.2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Stock ticker service 6 | 7 | bar 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/invalid-service-data-1.3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Stock ticker service 6 | 7 | bar 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/invalid-service-data-1.4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Stock ticker service 6 | 7 | bar 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/invalid-service-data-1.5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Stock ticker service 6 | 7 | bar 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/invalid-service-data-1.6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Stock ticker service 6 | 7 | bar 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/invalid-component-swid-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "application", 9 | "author": "Acme Super Heros", 10 | "name": "Acme Application", 11 | "version": "9.1.1", 12 | "swid": { 13 | "name": "Acme Application", 14 | "version": "9.1.1" 15 | } 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/invalid-component-swid-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "application", 9 | "author": "Acme Super Heros", 10 | "name": "Acme Application", 11 | "version": "9.1.1", 12 | "swid": { 13 | "name": "Acme Application", 14 | "version": "9.1.1" 15 | } 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/invalid-component-swid-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "application", 9 | "author": "Acme Super Heros", 10 | "name": "Acme Application", 11 | "version": "9.1.1", 12 | "swid": { 13 | "name": "Acme Application", 14 | "version": "9.1.1" 15 | } 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/invalid-component-swid-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "application", 9 | "author": "Acme Super Heros", 10 | "name": "Acme Application", 11 | "version": "9.1.1", 12 | "swid": { 13 | "name": "Acme Application", 14 | "version": "9.1.1" 15 | } 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-metadata-supplier-1.5.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.5.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.5" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | supplier { 9 | name: "Acme, Inc." 10 | url: "https://example.com" 11 | contact { 12 | name: "Acme Distribution" 13 | email: "distribution@example.com" 14 | bom_ref: "contact-1" 15 | } 16 | bom_ref: "supplier-1" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-metadata-supplier-1.6.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.6.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.6" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | supplier { 9 | name: "Acme, Inc." 10 | url: "https://example.com" 11 | contact { 12 | name: "Acme Distribution" 13 | email: "distribution@example.com" 14 | bom_ref: "contact-1" 15 | } 16 | bom_ref: "supplier-1" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-metadata-author-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "metadata": { 8 | "authors": [ 9 | { 10 | "name": "Samantha Wright", 11 | "email": "samantha.wright@example.com", 12 | "phone": "800-555-1212" 13 | } 14 | ] 15 | }, 16 | "components": [] 17 | } 18 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-metadata-author-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "metadata": { 8 | "authors": [ 9 | { 10 | "name": "Samantha Wright", 11 | "email": "samantha.wright@example.com", 12 | "phone": "800-555-1212" 13 | } 14 | ] 15 | }, 16 | "components": [] 17 | } 18 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-metadata-supplier-1.7.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.7.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.7" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata: { 8 | supplier: { 9 | name: "Acme, Inc." 10 | url: "https://example.com" 11 | contact: { 12 | name: "Acme Distribution" 13 | email: "distribution@example.com" 14 | bom_ref: "contact-1" 15 | } 16 | bom_ref: "supplier-1" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/invalid-component-swid-1.2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Acme Super Heros 6 | Acme Application 7 | 9.1.1 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/invalid-component-swid-1.3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Acme Super Heros 6 | Acme Application 7 | 9.1.1 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/invalid-component-swid-1.4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Acme Super Heros 6 | Acme Application 7 | 9.1.1 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/invalid-component-swid-1.5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Acme Super Heros 6 | Acme Application 7 | 9.1.1 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/invalid-component-swid-1.6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Acme Super Heros 6 | Acme Application 7 | 9.1.1 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/valid-component-ref-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "bom-ref": "123", 10 | "name": "acme-library", 11 | "version": "1.0.0" 12 | }, 13 | { 14 | "type": "library", 15 | "bom-ref": "456", 16 | "name": "acme-library", 17 | "version": "1.0.0" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-component-ref-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "bom-ref": "123", 10 | "name": "acme-library", 11 | "version": "1.0.0" 12 | }, 13 | { 14 | "type": "library", 15 | "bom-ref": "456", 16 | "name": "acme-library", 17 | "version": "1.0.0" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-component-swid-1.3.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.3.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.3" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_APPLICATION 9 | author: "Acme Super Heros" 10 | name: "Acme Application" 11 | version: "9.1.1" 12 | swid { 13 | tag_id: "swidgen-242eb18a-503e-ca37-393b-cf156ef09691_9.1.1" 14 | name: "Acme Application" 15 | version: "9.1.1" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-component-ref-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "bom-ref": "123", 10 | "name": "acme-library", 11 | "version": "1.0.0" 12 | }, 13 | { 14 | "type": "library", 15 | "bom-ref": "456", 16 | "name": "acme-library", 17 | "version": "1.0.0" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-component-swid-1.4.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.4.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.4" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_APPLICATION 9 | author: "Acme Super Heros" 10 | name: "Acme Application" 11 | version: "9.1.1" 12 | swid { 13 | tag_id: "swidgen-242eb18a-503e-ca37-393b-cf156ef09691_9.1.1" 14 | name: "Acme Application" 15 | version: "9.1.1" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-component-ref-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "bom-ref": "123", 10 | "name": "acme-library", 11 | "version": "1.0.0" 12 | }, 13 | { 14 | "type": "library", 15 | "bom-ref": "456", 16 | "name": "acme-library", 17 | "version": "1.0.0" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-component-swid-1.5.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.5.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.5" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_APPLICATION 9 | author: "Acme Super Heros" 10 | name: "Acme Application" 11 | version: "9.1.1" 12 | swid { 13 | tag_id: "swidgen-242eb18a-503e-ca37-393b-cf156ef09691_9.1.1" 14 | name: "Acme Application" 15 | version: "9.1.1" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-component-swid-1.6.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.6.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.6" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_APPLICATION 9 | author: "Acme Super Heros" 10 | name: "Acme Application" 11 | version: "9.1.1" 12 | swid { 13 | tag_id: "swidgen-242eb18a-503e-ca37-393b-cf156ef09691_9.1.1" 14 | name: "Acme Application" 15 | version: "9.1.1" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/invalid-component-ref-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "bom-ref": "123", 10 | "name": "acme-library", 11 | "version": "1.0.0" 12 | }, 13 | { 14 | "type": "library", 15 | "bom-ref": "123", 16 | "name": "acme-library", 17 | "version": "1.0.0" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/valid-metadata-author-1.2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Samantha Wright 7 | samantha.wright@example.com 8 | 800-555-1212 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/invalid-component-ref-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "bom-ref": "123", 10 | "name": "acme-library", 11 | "version": "1.0.0" 12 | }, 13 | { 14 | "type": "library", 15 | "bom-ref": "123", 16 | "name": "acme-library", 17 | "version": "1.0.0" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-metadata-author-1.3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Samantha Wright 7 | samantha.wright@example.com 8 | 800-555-1212 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/invalid-component-ref-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "bom-ref": "123", 10 | "name": "acme-library", 11 | "version": "1.0.0" 12 | }, 13 | { 14 | "type": "library", 15 | "bom-ref": "123", 16 | "name": "acme-library", 17 | "version": "1.0.0" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-metadata-author-1.4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Samantha Wright 7 | samantha.wright@example.com 8 | 800-555-1212 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-metadata-author-1.5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Samantha Wright 7 | samantha.wright@example.com 8 | 800-555-1212 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-metadata-author-1.6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Samantha Wright 7 | samantha.wright@example.com 8 | 800-555-1212 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-service-data-1.7.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | Stock ticker service 9 | 10 | bar 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-component-swid-1.7.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.7.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.7" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components: { 8 | type: CLASSIFICATION_APPLICATION 9 | author: "Acme Super Heros" 10 | name: "Acme Application" 11 | version: "9.1.1" 12 | swid: { 13 | tag_id: "swidgen-242eb18a-503e-ca37-393b-cf156ef09691_9.1.1" 14 | name: "Acme Application" 15 | version: "9.1.1" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-metadata-manufacture-1.5.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.5.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.5" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | manufacture { 9 | name: "Acme, Inc." 10 | url: "https://example.com" 11 | contact { 12 | name: "Acme Professional Services" 13 | email: "professional.services@example.com" 14 | bom_ref: "contact-1" 15 | } 16 | bom_ref: "manufacturer-1" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-metadata-manufacturer-1.6.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.6.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.6" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | manufacturer { 9 | name: "Acme, Inc." 10 | url: "https://example.com" 11 | contact { 12 | name: "Acme Professional Services" 13 | email: "professional.services@example.com" 14 | bom_ref: "contact-1" 15 | } 16 | bom_ref: "manufacturer-1" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-tags-1.6.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.6.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.6" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_LIBRARY 9 | name: "my-json-parser" 10 | version: "1.0" 11 | tags: [ "json-parser", "javascript", "node.js" ] 12 | } 13 | services { 14 | name: "my service" 15 | endpoints: [ "https://example.com/myservice" ] 16 | tags: [ "microservice", "golang", "aws", "us-east-1" ] 17 | } 18 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-component-swid-1.7.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | Acme Super Heros 9 | Acme Application 10 | 9.1.1 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-metadata-lifecycle-1.7.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.7.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.7" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata: { 8 | lifecycles: { 9 | phase: LIFECYCLE_PHASE_BUILD 10 | } 11 | lifecycles: { 12 | phase: LIFECYCLE_PHASE_POST_BUILD 13 | } 14 | lifecycles: { 15 | name: "platform-integration-testing" 16 | description: "Integration testing specific to the runtime platform" 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-metadata-manufacturer-1.7.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.7.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.7" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata: { 8 | manufacturer: { 9 | name: "Acme, Inc." 10 | url: "https://example.com" 11 | contact: { 12 | name: "Acme Professional Services" 13 | email: "professional.services@example.com" 14 | bom_ref: "contact-1" 15 | } 16 | bom_ref: "manufacturer-1" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /docgen/json/templates/cyclonedx/section_undocumented_required_properties.html: -------------------------------------------------------------------------------- 1 | {%- set undocumented_required_properties = schema | get_undocumented_required_properties -%} 2 | {%- if undocumented_required_properties-%} 3 |
4 |

The following properties are required:

5 | 10 |
11 | {%- endif -%} -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-metadata-lifecycle-1.5.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.5.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.5" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | lifecycles [ 9 | { 10 | phase: LIFECYCLE_PHASE_BUILD 11 | }, 12 | { 13 | phase: LIFECYCLE_PHASE_POST_BUILD 14 | }, 15 | { 16 | name: "platform-integration-testing" 17 | description: "Integration testing specific to the runtime platform" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-metadata-lifecycle-1.6.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.6.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.6" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | lifecycles [ 9 | { 10 | phase: LIFECYCLE_PHASE_BUILD 11 | }, 12 | { 13 | phase: LIFECYCLE_PHASE_POST_BUILD 14 | }, 15 | { 16 | name: "platform-integration-testing" 17 | description: "Integration testing specific to the runtime platform" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-metadata-manufacture-1.6.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.6.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.6" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | manufacture { 9 | name: "Acme, Inc. // deprecated" 10 | url: "https://example.com" 11 | contact { 12 | name: "Acme Professional Services" 13 | email: "professional.services@example.com" 14 | bom_ref: "contact-1" 15 | } 16 | bom_ref: "manufacturer-1" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-metadata-author-1.7.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | Samantha Wright 10 | samantha.wright@example.com 11 | 800-555-1212 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-metadata-manufacture-1.7.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.7.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.7" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata: { 8 | manufacture: { 9 | name: "Acme, Inc. // deprecated" 10 | url: "https://example.com" 11 | contact: { 12 | name: "Acme Professional Services" 13 | email: "professional.services@example.com" 14 | bom_ref: "contact-1" 15 | } 16 | bom_ref: "manufacturer-1" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/valid-metadata-supplier-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "supplier": { 8 | "name": "Acme, Inc.", 9 | "url": [ 10 | "https://example.com" 11 | ], 12 | "contact": [ 13 | { 14 | "name": "Acme Distribution", 15 | "email": "distribution@example.com" 16 | } 17 | ] 18 | } 19 | }, 20 | "components": [] 21 | } 22 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-metadata-supplier-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "supplier": { 8 | "name": "Acme, Inc.", 9 | "url": [ 10 | "https://example.com" 11 | ], 12 | "contact": [ 13 | { 14 | "name": "Acme Distribution", 15 | "email": "distribution@example.com" 16 | } 17 | ] 18 | } 19 | }, 20 | "components": [] 21 | } 22 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-metadata-supplier-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "supplier": { 8 | "name": "Acme, Inc.", 9 | "url": [ 10 | "https://example.com" 11 | ], 12 | "contact": [ 13 | { 14 | "name": "Acme Distribution", 15 | "email": "distribution@example.com" 16 | } 17 | ] 18 | } 19 | }, 20 | "components": [] 21 | } 22 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/invalid-service-data-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "services": [ 7 | { 8 | "bom-ref": "b2a46a4b-8367-4bae-9820-95557cfe03a8", 9 | "name": "Stock ticker service", 10 | "authenticated": true, 11 | "x-trust-boundary": true, 12 | "data": [ 13 | { 14 | "classification": "foo", 15 | "flow": "bar" 16 | } 17 | ] 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/invalid-service-data-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "services": [ 7 | { 8 | "bom-ref": "b2a46a4b-8367-4bae-9820-95557cfe03a8", 9 | "name": "Stock ticker service", 10 | "authenticated": true, 11 | "x-trust-boundary": true, 12 | "data": [ 13 | { 14 | "classification": "foo", 15 | "flow": "bar" 16 | } 17 | ] 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-assembly-1.3.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.3.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.3" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_LIBRARY 9 | name: "acme-library-a" 10 | version: "1.0.0" 11 | components { 12 | type: CLASSIFICATION_LIBRARY 13 | name: "acme-library-b" 14 | version: "2.0.0" 15 | } 16 | } 17 | services { 18 | name: "acme-service-a" 19 | services { 20 | name: "acme-service-b" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/invalid-service-data-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "services": [ 7 | { 8 | "bom-ref": "b2a46a4b-8367-4bae-9820-95557cfe03a8", 9 | "name": "Stock ticker service", 10 | "authenticated": true, 11 | "x-trust-boundary": true, 12 | "data": [ 13 | { 14 | "classification": "foo", 15 | "flow": "bar" 16 | } 17 | ] 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-assembly-1.4.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.4.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.4" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_LIBRARY 9 | name: "acme-library-a" 10 | version: "1.0.0" 11 | components { 12 | type: CLASSIFICATION_LIBRARY 13 | name: "acme-library-b" 14 | version: "2.0.0" 15 | } 16 | } 17 | services { 18 | name: "acme-service-a" 19 | services { 20 | name: "acme-service-b" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/invalid-service-data-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "services": [ 7 | { 8 | "bom-ref": "b2a46a4b-8367-4bae-9820-95557cfe03a8", 9 | "name": "Stock ticker service", 10 | "authenticated": true, 11 | "x-trust-boundary": true, 12 | "data": [ 13 | { 14 | "classification": "foo", 15 | "flow": "bar" 16 | } 17 | ] 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-assembly-1.5.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.5.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.5" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_LIBRARY 9 | name: "acme-library-a" 10 | version: "1.0.0" 11 | components { 12 | type: CLASSIFICATION_LIBRARY 13 | name: "acme-library-b" 14 | version: "2.0.0" 15 | } 16 | } 17 | services { 18 | name: "acme-service-a" 19 | services { 20 | name: "acme-service-b" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-assembly-1.6.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.6.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.6" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_LIBRARY 9 | name: "acme-library-a" 10 | version: "1.0.0" 11 | components { 12 | type: CLASSIFICATION_LIBRARY 13 | name: "acme-library-b" 14 | version: "2.0.0" 15 | } 16 | } 17 | services { 18 | name: "acme-service-a" 19 | services { 20 | name: "acme-service-b" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/invalid-license-id-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "publisher": "Acme Inc", 10 | "group": "com.acme", 11 | "name": "tomcat-catalina", 12 | "version": "9.0.14", 13 | "licenses": [ 14 | { 15 | "license": { 16 | "id": "Apache-2" 17 | } 18 | } 19 | ] 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/valid-license-id-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "publisher": "Acme Inc", 10 | "group": "com.acme", 11 | "name": "tomcat-catalina", 12 | "version": "9.0.14", 13 | "licenses": [ 14 | { 15 | "license": { 16 | "id": "Apache-2.0" 17 | } 18 | } 19 | ] 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/valid-service-empty-objects-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "services": [ 7 | { 8 | "bom-ref": "b2a46a4b-8367-4bae-9820-95557cfe03a8", 9 | "provider": { 10 | "contact": [ 11 | ] 12 | }, 13 | "name": "Stock ticker service", 14 | "endpoints": [ 15 | ], 16 | "data": [ 17 | ], 18 | "externalReferences": [ 19 | ] 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/invalid-license-id-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "publisher": "Acme Inc", 10 | "group": "com.acme", 11 | "name": "tomcat-catalina", 12 | "version": "9.0.14", 13 | "licenses": [ 14 | { 15 | "license": { 16 | "id": "Apache-2" 17 | } 18 | } 19 | ] 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-license-id-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "publisher": "Acme Inc", 10 | "group": "com.acme", 11 | "name": "tomcat-catalina", 12 | "version": "9.0.14", 13 | "licenses": [ 14 | { 15 | "license": { 16 | "id": "Apache-2.0" 17 | } 18 | } 19 | ] 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-service-empty-objects-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "services": [ 7 | { 8 | "bom-ref": "b2a46a4b-8367-4bae-9820-95557cfe03a8", 9 | "provider": { 10 | "contact": [ 11 | ] 12 | }, 13 | "name": "Stock ticker service", 14 | "endpoints": [ 15 | ], 16 | "data": [ 17 | ], 18 | "externalReferences": [ 19 | ] 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/invalid-license-id-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "publisher": "Acme Inc", 10 | "group": "com.acme", 11 | "name": "tomcat-catalina", 12 | "version": "9.0.14", 13 | "licenses": [ 14 | { 15 | "license": { 16 | "id": "Apache-2" 17 | } 18 | } 19 | ] 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-license-id-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "publisher": "Acme Inc", 10 | "group": "com.acme", 11 | "name": "tomcat-catalina", 12 | "version": "9.0.14", 13 | "licenses": [ 14 | { 15 | "license": { 16 | "id": "Apache-2.0" 17 | } 18 | } 19 | ] 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-service-empty-objects-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "services": [ 7 | { 8 | "bom-ref": "b2a46a4b-8367-4bae-9820-95557cfe03a8", 9 | "provider": { 10 | "contact": [ 11 | ] 12 | }, 13 | "name": "Stock ticker service", 14 | "endpoints": [ 15 | ], 16 | "data": [ 17 | ], 18 | "externalReferences": [ 19 | ] 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/invalid-license-id-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "publisher": "Acme Inc", 10 | "group": "com.acme", 11 | "name": "tomcat-catalina", 12 | "version": "9.0.14", 13 | "licenses": [ 14 | { 15 | "license": { 16 | "id": "Apache-2" 17 | } 18 | } 19 | ] 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-service-empty-objects-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "services": [ 7 | { 8 | "bom-ref": "b2a46a4b-8367-4bae-9820-95557cfe03a8", 9 | "provider": { 10 | "contact": [ 11 | ] 12 | }, 13 | "name": "Stock ticker service", 14 | "endpoints": [ 15 | ], 16 | "data": [ 17 | ], 18 | "externalReferences": [ 19 | ] 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-metadata-license-1.6.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | Apache-2.0 9 | 10 | 11 | My License 12 | My License Text 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-assembly-1.7.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.7.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.7" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components: { 8 | type: CLASSIFICATION_LIBRARY 9 | name: "acme-library-a" 10 | version: "1.0.0" 11 | components: { 12 | type: CLASSIFICATION_LIBRARY 13 | name: "acme-library-b" 14 | version: "2.0.0" 15 | } 16 | } 17 | services: { 18 | name: "acme-service-a" 19 | services: { 20 | name: "acme-service-b" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/valid-license-expression-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "publisher": "Acme Inc", 10 | "group": "com.acme", 11 | "name": "tomcat-catalina", 12 | "version": "9.0.14", 13 | "licenses": [ 14 | { 15 | "expression": "EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0" 16 | } 17 | ] 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/valid-metadata-supplier-1.2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Acme, Inc. 6 | https://example.com 7 | 8 | Acme Distribution 9 | distribution@example.com 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-license-expression-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "publisher": "Acme Inc", 10 | "group": "com.acme", 11 | "name": "tomcat-catalina", 12 | "version": "9.0.14", 13 | "licenses": [ 14 | { 15 | "expression": "EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0" 16 | } 17 | ] 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-metadata-supplier-1.3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Acme, Inc. 6 | https://example.com 7 | 8 | Acme Distribution 9 | distribution@example.com 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-license-expression-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "publisher": "Acme Inc", 10 | "group": "com.acme", 11 | "name": "tomcat-catalina", 12 | "version": "9.0.14", 13 | "licenses": [ 14 | { 15 | "expression": "EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0" 16 | } 17 | ] 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-metadata-supplier-1.4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Acme, Inc. 6 | https://example.com 7 | 8 | Acme Distribution 9 | distribution@example.com 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/invalid-license-missing-id-and-name-1.6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | license-with-no-id-nor-name 6 | 23 7 | testcase for issue#288 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/valid-component-swid-1.2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Acme Super Heros 6 | Acme Application 7 | 9.1.1 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/valid-license-name-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "publisher": "Acme Inc", 10 | "group": "com.acme", 11 | "name": "tomcat-catalina", 12 | "version": "9.0.14", 13 | "licenses": [ 14 | { 15 | "license": { 16 | "name": "Apache License 2.0" 17 | } 18 | } 19 | ] 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/valid-metadata-manufacture-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "manufacture": { 8 | "name": "Acme, Inc.", 9 | "url": [ 10 | "https://example.com" 11 | ], 12 | "contact": [ 13 | { 14 | "name": "Acme Professional Services", 15 | "email": "professional.services@example.com" 16 | } 17 | ] 18 | } 19 | }, 20 | "components": [] 21 | } 22 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-component-swid-1.3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Acme Super Heros 6 | Acme Application 7 | 9.1.1 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-license-name-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "publisher": "Acme Inc", 10 | "group": "com.acme", 11 | "name": "tomcat-catalina", 12 | "version": "9.0.14", 13 | "licenses": [ 14 | { 15 | "license": { 16 | "name": "Apache License 2.0" 17 | } 18 | } 19 | ] 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-metadata-manufacture-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "manufacture": { 8 | "name": "Acme, Inc.", 9 | "url": [ 10 | "https://example.com" 11 | ], 12 | "contact": [ 13 | { 14 | "name": "Acme Professional Services", 15 | "email": "professional.services@example.com" 16 | } 17 | ] 18 | } 19 | }, 20 | "components": [] 21 | } 22 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-component-swid-1.4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Acme Super Heros 6 | Acme Application 7 | 9.1.1 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-license-name-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "publisher": "Acme Inc", 10 | "group": "com.acme", 11 | "name": "tomcat-catalina", 12 | "version": "9.0.14", 13 | "licenses": [ 14 | { 15 | "license": { 16 | "name": "Apache License 2.0" 17 | } 18 | } 19 | ] 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-metadata-manufacture-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "manufacture": { 8 | "name": "Acme, Inc.", 9 | "url": [ 10 | "https://example.com" 11 | ], 12 | "contact": [ 13 | { 14 | "name": "Acme Professional Services", 15 | "email": "professional.services@example.com" 16 | } 17 | ] 18 | } 19 | }, 20 | "components": [] 21 | } 22 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-component-swid-1.5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Acme Super Heros 6 | Acme Application 7 | 9.1.1 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-metadata-lifecycle-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "lifecycles": [ 8 | { 9 | "phase": "build" 10 | }, 11 | { 12 | "phase": "post-build" 13 | }, 14 | { 15 | "name": "platform-integration-testing", 16 | "description": "Integration testing specific to the runtime platform" 17 | } 18 | ] 19 | }, 20 | "components": [] 21 | } 22 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/invalid-component-swid-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "type": "application", 10 | "author": "Acme Super Heros", 11 | "name": "Acme Application", 12 | "version": "9.1.1", 13 | "swid": { 14 | "name": "Acme Application", 15 | "version": "9.1.1" 16 | } 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-component-swid-1.6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Acme Super Heros 6 | Acme Application 7 | 9.1.1 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-component-swid-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "type": "application", 10 | "author": "Acme Super Heros", 11 | "name": "Acme Application", 12 | "version": "9.1.1", 13 | "swid": { 14 | "name": "Acme Application", 15 | "version": "9.1.1" 16 | } 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/valid-component-swid-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "application", 9 | "author": "Acme Super Heros", 10 | "name": "Acme Application", 11 | "version": "9.1.1", 12 | "swid": { 13 | "tagId": "swidgen-242eb18a-503e-ca37-393b-cf156ef09691_9.1.1", 14 | "name": "Acme Application", 15 | "version": "9.1.1" 16 | } 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-component-swid-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "application", 9 | "author": "Acme Super Heros", 10 | "name": "Acme Application", 11 | "version": "9.1.1", 12 | "swid": { 13 | "tagId": "swidgen-242eb18a-503e-ca37-393b-cf156ef09691_9.1.1", 14 | "name": "Acme Application", 15 | "version": "9.1.1" 16 | } 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-component-swid-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "application", 9 | "author": "Acme Super Heros", 10 | "name": "Acme Application", 11 | "version": "9.1.1", 12 | "swid": { 13 | "tagId": "swidgen-242eb18a-503e-ca37-393b-cf156ef09691_9.1.1", 14 | "name": "Acme Application", 15 | "version": "9.1.1" 16 | } 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-component-swid-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "application", 9 | "author": "Acme Super Heros", 10 | "name": "Acme Application", 11 | "version": "9.1.1", 12 | "swid": { 13 | "tagId": "swidgen-242eb18a-503e-ca37-393b-cf156ef09691_9.1.1", 14 | "name": "Acme Application", 15 | "version": "9.1.1" 16 | } 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-metadata-license-1.7.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | Apache-2.0 10 | 11 | 12 | My License 13 | My License Text 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/invalid-component-ref-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "type": "library", 10 | "bom-ref": "123", 11 | "name": "acme-library", 12 | "version": "1.0.0" 13 | }, 14 | { 15 | "type": "library", 16 | "bom-ref": "", 17 | "name": "acme-library", 18 | "version": "1.0.0" 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/invalid-license-missing-id-and-name-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "type": "library", 10 | "name": "license-with-no-id-nor-name", 11 | "version": "23", 12 | "description": "testcase for issue#288", 13 | "licenses": [ 14 | { 15 | "license": {} 16 | } 17 | ] 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-component-ref-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "type": "library", 10 | "bom-ref": "123", 11 | "name": "acme-library", 12 | "version": "1.0.0" 13 | }, 14 | { 15 | "type": "library", 16 | "bom-ref": "", 17 | "name": "acme-library", 18 | "version": "1.0.0" 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-license-missing-id-and-name-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "type": "library", 10 | "name": "license-with-no-id-nor-name", 11 | "version": "23", 12 | "description": "testcase for issue#288", 13 | "licenses": [ 14 | { 15 | "license": {} 16 | } 17 | ] 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-tags-1.7.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.7.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.7" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components: { 8 | type: CLASSIFICATION_LIBRARY 9 | name: "my-json-parser" 10 | version: "1.0" 11 | tags: "json-parser" 12 | tags: "javascript" 13 | tags: "node.js" 14 | } 15 | services: { 16 | name: "my service" 17 | endpoints: "https://example.com/myservice" 18 | tags: "microservice" 19 | tags: "golang" 20 | tags: "aws" 21 | tags: "us-east-1" 22 | } 23 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/valid-metadata-manufacture-1.2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Acme, Inc. 6 | https://example.com 7 | 8 | Acme Professional Services 9 | professional.services@example.com 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-metadata-manufacture-1.3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Acme, Inc. 6 | https://example.com 7 | 8 | Acme Professional Services 9 | professional.services@example.com 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-metadata-manufacture-1.4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Acme, Inc. 6 | https://example.com 7 | 8 | Acme Professional Services 9 | professional.services@example.com 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-license-missing-id-and-name-1.7.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | license-with-no-id-nor-name 9 | 23 10 | testcase for issue#288 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-component-swid-1.7.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | Acme Super Heros 9 | Acme Application 10 | 9.1.1 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-license-id-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "publisher": "Acme Inc", 10 | "group": "com.acme", 11 | "name": "tomcat-catalina", 12 | "version": "9.0.14", 13 | "licenses": [ 14 | { 15 | "license": { 16 | "id": "Apache-2.0", 17 | "bom-ref": "my-license" 18 | } 19 | } 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/valid-service-empty-objects-1.2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Stock ticker service 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-service-empty-objects-1.3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Stock ticker service 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-service-empty-objects-1.4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Stock ticker service 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-license-expression-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "publisher": "Acme Inc", 10 | "group": "com.acme", 11 | "name": "tomcat-catalina", 12 | "version": "9.0.14", 13 | "licenses": [ 14 | { 15 | "expression": "EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0", 16 | "bom-ref": "my-license" 17 | } 18 | ] 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-metadata-supplier-1.5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Acme, Inc. 6 | https://example.com 7 | 8 | Acme Distribution 9 | distribution@example.com 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-service-empty-objects-1.5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Stock ticker service 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-metadata-supplier-1.6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Acme, Inc. 6 | https://example.com 7 | 8 | Acme Distribution 9 | distribution@example.com 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-service-empty-objects-1.6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Stock ticker service 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-metadata-tool-1.3.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.3.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.3" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | tools { 9 | vendor: "Awesome Vendor" 10 | name: "Awesome Tool" 11 | version: "9.1.2" 12 | hashes { 13 | alg: HASH_ALG_SHA_1 14 | value: "25ed8e31b995bb927966616df2a42b979a2717f0" 15 | } 16 | hashes { 17 | alg: HASH_ALG_SHA_256 18 | value: "a74f733635a19aefb1f73e5947cef59cd7440c6952ef0f03d09d974274cbd6df" 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-metadata-tool-1.4.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.4.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.4" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | tools { 9 | vendor: "Awesome Vendor" 10 | name: "Awesome Tool" 11 | version: "9.1.2" 12 | hashes { 13 | alg: HASH_ALG_SHA_1 14 | value: "25ed8e31b995bb927966616df2a42b979a2717f0" 15 | } 16 | hashes { 17 | alg: HASH_ALG_SHA_256 18 | value: "a74f733635a19aefb1f73e5947cef59cd7440c6952ef0f03d09d974274cbd6df" 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-license-name-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "publisher": "Acme Inc", 10 | "group": "com.acme", 11 | "name": "tomcat-catalina", 12 | "version": "9.0.14", 13 | "licenses": [ 14 | { 15 | "license": { 16 | "name": "Apache License 2.0", 17 | "bom-ref": "my-license" 18 | } 19 | } 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-component-versionRange-non-external-implicit.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "type": "library", 10 | "name": "InvalidVersions", 11 | "description": "versionRange may only exist on extraneous components; set `.isExternal` implicit by default value", 12 | "versionRange": "vers:pypi/0.0.0|0.0.1|0.0.2|0.0.3|1.0|2.0pre1" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/invalid-service-data-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "services": [ 8 | { 9 | "bom-ref": "b2a46a4b-8367-4bae-9820-95557cfe03a8", 10 | "name": "Stock ticker service", 11 | "authenticated": true, 12 | "x-trust-boundary": true, 13 | "data": [ 14 | { 15 | "classification": "foo", 16 | "flow": "bar" 17 | } 18 | ] 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-service-data-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "services": [ 8 | { 9 | "bom-ref": "b2a46a4b-8367-4bae-9820-95557cfe03a8", 10 | "name": "Stock ticker service", 11 | "authenticated": true, 12 | "x-trust-boundary": true, 13 | "data": [ 14 | { 15 | "classification": "foo", 16 | "flow": "bar" 17 | } 18 | ] 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-metadata-supplier-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "supplier": { 8 | "bom-ref": "supplier-1", 9 | "name": "Acme, Inc.", 10 | "url": [ 11 | "https://example.com" 12 | ], 13 | "contact": [ 14 | { 15 | "bom-ref": "contact-1", 16 | "name": "Acme Distribution", 17 | "email": "distribution@example.com" 18 | } 19 | ] 20 | } 21 | }, 22 | "components": [] 23 | } 24 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-metadata-tool-deprecated-1.5.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.5.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.5" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | tools { 9 | vendor: "Awesome Vendor" 10 | name: "Awesome Tool" 11 | version: "9.1.2" 12 | hashes { 13 | alg: HASH_ALG_SHA_1 14 | value: "25ed8e31b995bb927966616df2a42b979a2717f0" 15 | } 16 | hashes { 17 | alg: HASH_ALG_SHA_256 18 | value: "a74f733635a19aefb1f73e5947cef59cd7440c6952ef0f03d09d974274cbd6df" 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-metadata-tool-deprecated-1.6.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.6.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.6" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata { 8 | tools { 9 | vendor: "Awesome Vendor" 10 | name: "Awesome Tool" 11 | version: "9.1.2" 12 | hashes { 13 | alg: HASH_ALG_SHA_1 14 | value: "25ed8e31b995bb927966616df2a42b979a2717f0" 15 | } 16 | hashes { 17 | alg: HASH_ALG_SHA_256 18 | value: "a74f733635a19aefb1f73e5947cef59cd7440c6952ef0f03d09d974274cbd6df" 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/invalid-license-id-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "type": "library", 10 | "publisher": "Acme Inc", 11 | "group": "com.acme", 12 | "name": "tomcat-catalina", 13 | "version": "9.0.14", 14 | "licenses": [ 15 | { 16 | "license": { 17 | "id": "Apache-2" 18 | } 19 | } 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-component-ref-1.6.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.6.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.6" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components { 8 | type: CLASSIFICATION_LIBRARY 9 | bom_ref: "123" 10 | name: "acme-library" 11 | version: "1.0.0" 12 | components { 13 | type: CLASSIFICATION_LIBRARY 14 | bom_ref: "456" 15 | name: "acme-library" 16 | version: "1.0.0" 17 | } 18 | } 19 | components { 20 | type: CLASSIFICATION_LIBRARY 21 | bom_ref: "789" 22 | name: "acme-library" 23 | version: "1.0.0" 24 | } 25 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-service-empty-objects-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "services": [ 8 | { 9 | "bom-ref": "b2a46a4b-8367-4bae-9820-95557cfe03a8", 10 | "provider": { 11 | "contact": [ 12 | ] 13 | }, 14 | "name": "Stock ticker service", 15 | "endpoints": [ 16 | ], 17 | "data": [ 18 | ], 19 | "externalReferences": [ 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-component-versionRange-non-external-explicit.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "type": "library", 10 | "name": "InvalidVersions", 11 | "description": "versionRange may only exist on extraneous components; set `.isExternal` explicit", 12 | "isExternal": false, 13 | "versionRange": "vers:pypi/0.0.0|0.0.1|0.0.2|0.0.3|1.0|2.0pre1" 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-license-id-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "type": "library", 10 | "publisher": "Acme Inc", 11 | "group": "com.acme", 12 | "name": "tomcat-catalina", 13 | "version": "9.0.14", 14 | "licenses": [ 15 | { 16 | "license": { 17 | "id": "Apache-2" 18 | } 19 | } 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-component-ref-1.7.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.7.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.7" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | components: { 8 | type: CLASSIFICATION_LIBRARY 9 | bom_ref: "123" 10 | name: "acme-library" 11 | version: "1.0.0" 12 | components: { 13 | type: CLASSIFICATION_LIBRARY 14 | bom_ref: "456" 15 | name: "acme-library" 16 | version: "1.0.0" 17 | } 18 | } 19 | components: { 20 | type: CLASSIFICATION_LIBRARY 21 | bom_ref: "789" 22 | name: "acme-library" 23 | version: "1.0.0" 24 | } 25 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-metadata-supplier-1.7.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | Acme, Inc. 9 | https://example.com 10 | 11 | Acme Distribution 12 | distribution@example.com 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-metadata-tool-deprecated-1.7.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.7.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.7" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata: { 8 | tools: { 9 | vendor: "Awesome Vendor" 10 | name: "Awesome Tool" 11 | version: "9.1.2" 12 | hashes: { 13 | alg: HASH_ALG_SHA_1 14 | value: "25ed8e31b995bb927966616df2a42b979a2717f0" 15 | } 16 | hashes: { 17 | alg: HASH_ALG_SHA_256 18 | value: "a74f733635a19aefb1f73e5947cef59cd7440c6952ef0f03d09d974274cbd6df" 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-service-empty-objects-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "services": [ 8 | { 9 | "bom-ref": "b2a46a4b-8367-4bae-9820-95557cfe03a8", 10 | "provider": { 11 | "contact": [ 12 | ] 13 | }, 14 | "name": "Stock ticker service", 15 | "endpoints": [ 16 | ], 17 | "data": [ 18 | ], 19 | "externalReferences": [ 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-service-empty-objects-1.7.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | Stock ticker service 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-metadata-manufacture-1.5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Acme, Inc. 6 | https://example.com 7 | 8 | Acme Professional Services 9 | professional.services@example.com 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-metadata-lifecycle-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "metadata": { 8 | "lifecycles": [ 9 | { 10 | "phase": "build" 11 | }, 12 | { 13 | "phase": "post-build" 14 | }, 15 | { 16 | "name": "platform-integration-testing", 17 | "description": "Integration testing specific to the runtime platform" 18 | } 19 | ] 20 | }, 21 | "components": [] 22 | } 23 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-metadata-lifecycle-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "metadata": { 8 | "lifecycles": [ 9 | { 10 | "phase": "build" 11 | }, 12 | { 13 | "phase": "post-build" 14 | }, 15 | { 16 | "name": "platform-integration-testing", 17 | "description": "Integration testing specific to the runtime platform" 18 | } 19 | ] 20 | }, 21 | "components": [] 22 | } 23 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-metadata-manufacturer-1.6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Acme, Inc. 6 | https://example.com 7 | 8 | Acme Professional Services 9 | professional.services@example.com 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-component-swid-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "type": "application", 10 | "author": "Acme Super Heros", 11 | "name": "Acme Application", 12 | "version": "9.1.1", 13 | "swid": { 14 | "tagId": "swidgen-242eb18a-503e-ca37-393b-cf156ef09691_9.1.1", 15 | "name": "Acme Application", 16 | "version": "9.1.1" 17 | } 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-metadata-license-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "metadata": { 8 | "licenses": [ 9 | { 10 | "license": { 11 | "id": "Apache-2.0" 12 | } 13 | }, 14 | { 15 | "license": { 16 | "name": "My License", 17 | "text": { 18 | "content": "My License Text" 19 | } 20 | } 21 | } 22 | ] 23 | }, 24 | "components": [] 25 | } 26 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-component-swid-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "type": "application", 10 | "author": "Acme Super Heros", 11 | "name": "Acme Application", 12 | "version": "9.1.1", 13 | "swid": { 14 | "tagId": "swidgen-242eb18a-503e-ca37-393b-cf156ef09691_9.1.1", 15 | "name": "Acme Application", 16 | "version": "9.1.1" 17 | } 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-metadata-license-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "metadata": { 8 | "licenses": [ 9 | { 10 | "license": { 11 | "id": "Apache-2.0" 12 | } 13 | }, 14 | { 15 | "license": { 16 | "name": "My License", 17 | "text": { 18 | "content": "My License Text" 19 | } 20 | } 21 | } 22 | ] 23 | }, 24 | "components": [] 25 | } 26 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.1/invalid-component-ref-1.1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | 8 | 9 | acme-library 10 | 1.0.0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-metadata-manufacture-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "metadata": { 7 | "manufacture": { 8 | "bom-ref": "manufacturer-1", 9 | "name": "Acme, Inc.", 10 | "url": [ 11 | "https://example.com" 12 | ], 13 | "contact": [ 14 | { 15 | "bom-ref": "contact-1", 16 | "name": "Acme Professional Services", 17 | "email": "professional.services@example.com" 18 | } 19 | ] 20 | } 21 | }, 22 | "components": [] 23 | } 24 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-metadata-manufacture-1.6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Acme, Inc. // deprecated 6 | https://example.com 7 | 8 | Acme Professional Services 9 | professional.services@example.com 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-component-external-version-and-range.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "type": "library", 10 | "name": "InvalidVersions", 11 | "description": "may have `version` or `versionRange`, not both. This one does - it is invalid", 12 | "version": "9.0.14", 13 | "versionRange": "vers:pypi/0.0.0|0.0.1|0.0.2|0.0.3|1.0|2.0pre1", 14 | "isExternal": true 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/invalid-license-choice-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "publisher": "Acme Inc", 10 | "group": "com.acme", 11 | "name": "tomcat-catalina", 12 | "version": "9.0.14", 13 | "licenses": [ 14 | { 15 | "expression": "EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0", 16 | "license": { 17 | "name": "Apache License 2.0" 18 | } 19 | } 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/invalid-license-choice-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "publisher": "Acme Inc", 10 | "group": "com.acme", 11 | "name": "tomcat-catalina", 12 | "version": "9.0.14", 13 | "licenses": [ 14 | { 15 | "expression": "EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0", 16 | "license": { 17 | "name": "Apache License 2.0" 18 | } 19 | } 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/invalid-license-choice-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "publisher": "Acme Inc", 10 | "group": "com.acme", 11 | "name": "tomcat-catalina", 12 | "version": "9.0.14", 13 | "licenses": [ 14 | { 15 | "expression": "EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0", 16 | "license": { 17 | "name": "Apache License 2.0" 18 | } 19 | } 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/invalid-license-choice-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "publisher": "Acme Inc", 10 | "group": "com.acme", 11 | "name": "tomcat-catalina", 12 | "version": "9.0.14", 13 | "licenses": [ 14 | { 15 | "expression": "EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0", 16 | "license": { 17 | "name": "Apache License 2.0" 18 | } 19 | } 20 | ] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/invalid-component-ref-1.2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | 8 | 9 | acme-library 10 | 1.0.0 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/invalid-component-ref-1.3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | 8 | 9 | acme-library 10 | 1.0.0 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/invalid-component-ref-1.4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | acme-library 6 | 1.0.0 7 | 8 | 9 | acme-library 10 | 1.0.0 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/invalid-component-ref-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "bom-ref": "123", 10 | "name": "acme-library", 11 | "version": "1.0.0" 12 | }, 13 | { 14 | "type": "library", 15 | "bom-ref": "123", 16 | "name": "acme-library", 17 | "version": "1.0.0" 18 | }, 19 | { 20 | "type": "library", 21 | "bom-ref": "", 22 | "name": "acme-library", 23 | "version": "1.0.0" 24 | } 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-metadata-manufacturer-1.7.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | Acme, Inc. 9 | https://example.com 10 | 11 | Acme Professional Services 12 | professional.services@example.com 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-component-data-1.7.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.7.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.7" 5 | version: 1 6 | serial_number: "urn:uuid:1b1bff0e-fdb9-4088-8b9a-1a9f2d9006da" 7 | components: { 8 | type: CLASSIFICATION_DATA 9 | name: "my-configs" 10 | version: "1337" 11 | data: { 12 | type: COMPONENT_DATA_TYPE_CONFIGURATION 13 | name: "app.data" 14 | contents: { 15 | url: "https://example.com/cfg/1337/app.ini" 16 | } 17 | } 18 | data: { 19 | type: COMPONENT_DATA_TYPE_OTHER 20 | name: ".env" 21 | contents: { 22 | url: "https://example.com/cfg/1337/env" 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-metadata-manufacture-1.7.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | Acme, Inc. // deprecated 9 | https://example.com 10 | 11 | Acme Professional Services 12 | professional.services@example.com 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-tags-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "type": "library", 10 | "name": "my-json-parser", 11 | "version": "1.0", 12 | "tags": [ "json-parser", "javascript", "node.js" ] 13 | } 14 | ], 15 | "services": [ 16 | { 17 | "name": "my service", 18 | "endpoints": [ "https://example.com/myservice" ], 19 | "tags": [ "microservice", "golang", "aws", "us-east-1" ] 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/invalid-component-external-version-and-range.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | InvalidVersions 9 | 9.0.14 10 | 11 | may have `version` or `versionRange`, not both. This one does - it is invalid 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-metadata-supplier-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "metadata": { 8 | "supplier": { 9 | "bom-ref": "supplier-1", 10 | "name": "Acme, Inc.", 11 | "url": [ 12 | "https://example.com" 13 | ], 14 | "contact": [ 15 | { 16 | "bom-ref": "contact-1", 17 | "name": "Acme Distribution", 18 | "email": "distribution@example.com" 19 | } 20 | ] 21 | } 22 | }, 23 | "components": [] 24 | } 25 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-metadata-supplier-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "metadata": { 8 | "supplier": { 9 | "bom-ref": "supplier-1", 10 | "name": "Acme, Inc.", 11 | "url": [ 12 | "https://example.com" 13 | ], 14 | "contact": [ 15 | { 16 | "bom-ref": "contact-1", 17 | "name": "Acme Distribution", 18 | "email": "distribution@example.com" 19 | } 20 | ] 21 | } 22 | }, 23 | "components": [] 24 | } 25 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-component-external-without-version.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.7.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.7" 5 | version: 1 6 | serial_number: "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79" 7 | metadata: { 8 | component: { 9 | bom_ref: "my-app" 10 | type: CLASSIFICATION_APPLICATION 11 | name: "My Application" 12 | } 13 | } 14 | components: { 15 | bom_ref: "os" 16 | type: CLASSIFICATION_OPERATING_SYSTEM 17 | name: "Windows 11 (64bit)" 18 | description: "any Windows 11" 19 | isExternal: true 20 | } 21 | dependencies: { 22 | ref: "my-app" 23 | dependencies: { 24 | ref: "os" 25 | } 26 | } 27 | dependencies: { 28 | ref: "os" 29 | } 30 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.2/valid-assembly-1.2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.2", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "name": "acme-library-a", 10 | "version": "1.0.0", 11 | "components": [ 12 | { 13 | "type": "library", 14 | "name": "acme-library-b", 15 | "version": "2.0.0" 16 | } 17 | ] 18 | } 19 | ], 20 | "services": [ 21 | { 22 | "name": "acme-service-a", 23 | "services": [ 24 | { 25 | "name": "acme-service-b" 26 | } 27 | ] 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.3/valid-assembly-1.3.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.3", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "name": "acme-library-a", 10 | "version": "1.0.0", 11 | "components": [ 12 | { 13 | "type": "library", 14 | "name": "acme-library-b", 15 | "version": "2.0.0" 16 | } 17 | ] 18 | } 19 | ], 20 | "services": [ 21 | { 22 | "name": "acme-service-a", 23 | "services": [ 24 | { 25 | "name": "acme-service-b" 26 | } 27 | ] 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.4/valid-assembly-1.4.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.4", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "name": "acme-library-a", 10 | "version": "1.0.0", 11 | "components": [ 12 | { 13 | "type": "library", 14 | "name": "acme-library-b", 15 | "version": "2.0.0" 16 | } 17 | ] 18 | } 19 | ], 20 | "services": [ 21 | { 22 | "name": "acme-service-a", 23 | "services": [ 24 | { 25 | "name": "acme-service-b" 26 | } 27 | ] 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.5/valid-assembly-1.5.json: -------------------------------------------------------------------------------- 1 | { 2 | "bomFormat": "CycloneDX", 3 | "specVersion": "1.5", 4 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 5 | "version": 1, 6 | "components": [ 7 | { 8 | "type": "library", 9 | "name": "acme-library-a", 10 | "version": "1.0.0", 11 | "components": [ 12 | { 13 | "type": "library", 14 | "name": "acme-library-b", 15 | "version": "2.0.0" 16 | } 17 | ] 18 | } 19 | ], 20 | "services": [ 21 | { 22 | "name": "acme-service-a", 23 | "services": [ 24 | { 25 | "name": "acme-service-b" 26 | } 27 | ] 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-component-data-1.6.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.6.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.6" 5 | version: 1 6 | serial_number: "urn:uuid:1b1bff0e-fdb9-4088-8b9a-1a9f2d9006da" 7 | components { 8 | type: CLASSIFICATION_DATA 9 | name: "my-configs" 10 | version: "1337" 11 | data { 12 | type: COMPONENT_DATA_TYPE_CONFIGURATION 13 | name: "app.data" 14 | contents { 15 | url: "https://example.com/cfg/1337/app.ini" 16 | } 17 | } 18 | data { 19 | type: COMPONENT_DATA_TYPE_OTHER 20 | name: ".env" 21 | contents { 22 | url: "https://example.com/cfg/1337/env" 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/valid-metadata-manufacturer-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "metadata": { 8 | "manufacturer": { 9 | "bom-ref": "manufacturer-1", 10 | "name": "Acme, Inc.", 11 | "url": [ 12 | "https://example.com" 13 | ], 14 | "contact": [ 15 | { 16 | "bom-ref": "contact-1", 17 | "name": "Acme Professional Services", 18 | "email": "professional.services@example.com" 19 | } 20 | ] 21 | } 22 | }, 23 | "components": [] 24 | } 25 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-component-external-with-version.textproto: -------------------------------------------------------------------------------- 1 | # proto-file: schema/bom-1.7.proto 2 | # proto-message: Bom 3 | 4 | spec_version: "1.7" 5 | version: 1 6 | serial_number: "urn:uuid:7dc07ac8-7fb8-4782-bf89-4762394e189d" 7 | metadata: { 8 | component: { 9 | bom_ref: "my-app" 10 | type: CLASSIFICATION_APPLICATION 11 | name: "My Application" 12 | } 13 | } 14 | components: { 15 | bom_ref: "os" 16 | type: CLASSIFICATION_OPERATING_SYSTEM 17 | name: "Ubuntu" 18 | version: "24.04" 19 | description: "Ubuntu 24.04" 20 | isExternal: true 21 | } 22 | dependencies: { 23 | ref: "my-app" 24 | dependencies: { 25 | ref: "os" 26 | } 27 | } 28 | dependencies: { 29 | ref: "os" 30 | } 31 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.7/valid-metadata-manufacturer-1.7.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.7", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "metadata": { 8 | "manufacturer": { 9 | "bom-ref": "manufacturer-1", 10 | "name": "Acme, Inc.", 11 | "url": [ 12 | "https://example.com" 13 | ], 14 | "contact": [ 15 | { 16 | "bom-ref": "contact-1", 17 | "name": "Acme Professional Services", 18 | "email": "professional.services@example.com" 19 | } 20 | ] 21 | } 22 | }, 23 | "components": [] 24 | } 25 | -------------------------------------------------------------------------------- /tools/src/test/resources/1.6/invalid-license-choice-1.6.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json", 3 | "bomFormat": "CycloneDX", 4 | "specVersion": "1.6", 5 | "serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79", 6 | "version": 1, 7 | "components": [ 8 | { 9 | "type": "library", 10 | "publisher": "Acme Inc", 11 | "group": "com.acme", 12 | "name": "tomcat-catalina", 13 | "version": "9.0.14", 14 | "licenses": [ 15 | { 16 | "expression": "EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0", 17 | "license": { 18 | "name": "Apache License 2.0" 19 | } 20 | } 21 | ] 22 | } 23 | ] 24 | } 25 | --------------------------------------------------------------------------------