diff --git a/HISTORY.md b/HISTORY.md
index 6b65718a..dfde0d13 100644
--- a/HISTORY.md
+++ b/HISTORY.md
@@ -6,6 +6,14 @@ All notable changes to this project will be documented in this file.
+Added _basic_ support for [_CycloneDX_ Specification-1.7](https://github.com/CycloneDX/specification/releases/tag/1.7).
+
+* Changed
+ * This tool may support _CycloneDX_ Specification-1.7 now (via [#579])
+ This feature depends on `cyclonedx/cyclonedx-library:^3.8`.
+
+[#579]: https://github.com/CycloneDX/cyclonedx-php-composer/pull/579
+
## 5.2.3 - 2025-05-12
Maintenance release.
diff --git a/README.md b/README.md
index a48fa0c7..151c43f6 100644
--- a/README.md
+++ b/README.md
@@ -74,7 +74,7 @@ Options:
{choices: "dev", "plugin"}
(multiple values allowed)
--spec-version=SPEC-VERSION Which version of CycloneDX spec to use.
- {choices: "1.1", "1.2", "1.3", "1.4", "1.5", "1.6"}
+ {choices: "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7"}
[default: "1.5"]
--output-reproducible|--no-output-reproducible Whether to go the extra mile and make the output reproducible.
This might result in loss of time- and random-based-values.
diff --git a/composer.json b/composer.json
index 3352ec36..3c604c96 100644
--- a/composer.json
+++ b/composer.json
@@ -55,6 +55,7 @@
},
"config": {
"allow-plugins": {
+ "cyclonedx/cyclonedx-php-composer": true,
"ergebnis/composer-normalize": true,
"icanhazstring/composer-unused": true
},
diff --git a/demo/devReq/README.md b/demo/devReq/README.md
index b41de1d0..105c2fd1 100644
--- a/demo/devReq/README.md
+++ b/demo/devReq/README.md
@@ -14,10 +14,14 @@ The following are examples generated by _cyclonedx-php-composer_:
* [`results/bom.1.3.xml`](results/bom.1.3.xml)
* [`results/bom.1.4.xml`](results/bom.1.4.xml)
* [`results/bom.1.5.xml`](results/bom.1.5.xml)
+* [`results/bom.1.6.xml`](results/bom.1.6.xml)
+* [`results/bom.1.7.xml`](results/bom.1.7.xml)
* [`results/bom.1.2.json`](results/bom.1.2.json)
* [`results/bom.1.3.json`](results/bom.1.3.json)
* [`results/bom.1.4.json`](results/bom.1.4.json)
* [`results/bom.1.5.json`](results/bom.1.5.json)
+* [`results/bom.1.6.json`](results/bom.1.6.json)
+* [`results/bom.1.7.json`](results/bom.1.7.json)
## Setup
diff --git a/demo/devReq/project/composer.json b/demo/devReq/project/composer.json
index 72d7944c..32c4e6c7 100644
--- a/demo/devReq/project/composer.json
+++ b/demo/devReq/project/composer.json
@@ -39,6 +39,7 @@
"@putenv CDX_CP_TOOLS_VERSION_OVERRIDE=in-dev",
"@putenv CDX_CP_TOOLS_EXCLUDE_LIBS=1",
"@putenv CDX_CP_TOOLS_EXCLUDE_COMPOSER=1",
+ "@composer -d ../../.tool CycloneDX:make-sbom --validate --spec-version=1.7 --output-reproducible --output-format=JSON --output-file=$PWD/../results/bom.1.7.json $PWD/composer.json",
"@composer -d ../../.tool CycloneDX:make-sbom --validate --spec-version=1.6 --output-reproducible --output-format=JSON --output-file=$PWD/../results/bom.1.6.json $PWD/composer.json",
"@composer -d ../../.tool CycloneDX:make-sbom --validate --spec-version=1.5 --output-reproducible --output-format=JSON --output-file=$PWD/../results/bom.1.5.json $PWD/composer.json",
"@composer -d ../../.tool CycloneDX:make-sbom --validate --spec-version=1.4 --output-reproducible --output-format=JSON --output-file=$PWD/../results/bom.1.4.json $PWD/composer.json",
@@ -49,6 +50,7 @@
"@putenv CDX_CP_TOOLS_VERSION_OVERRIDE=in-dev",
"@putenv CDX_CP_TOOLS_EXCLUDE_LIBS=1",
"@putenv CDX_CP_TOOLS_EXCLUDE_COMPOSER=1",
+ "@composer -d ../../.tool CycloneDX:make-sbom --validate --spec-version=1.7 --output-reproducible --output-format=XML --output-file=$PWD/../results/bom.1.7.xml $PWD/composer.json",
"@composer -d ../../.tool CycloneDX:make-sbom --validate --spec-version=1.6 --output-reproducible --output-format=XML --output-file=$PWD/../results/bom.1.6.xml $PWD/composer.json",
"@composer -d ../../.tool CycloneDX:make-sbom --validate --spec-version=1.5 --output-reproducible --output-format=XML --output-file=$PWD/../results/bom.1.5.xml $PWD/composer.json",
"@composer -d ../../.tool CycloneDX:make-sbom --validate --spec-version=1.4 --output-reproducible --output-format=XML --output-file=$PWD/../results/bom.1.4.xml $PWD/composer.json",
diff --git a/demo/devReq/results/bom.1.7.json b/demo/devReq/results/bom.1.7.json
new file mode 100644
index 00000000..97982274
--- /dev/null
+++ b/demo/devReq/results/bom.1.7.json
@@ -0,0 +1,1952 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.7",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "cyclonedx",
+ "name": "cyclonedx-php-composer",
+ "version": "in-dev"
+ }
+ ],
+ "component": {
+ "bom-ref": "cyclonedx-demo/cyclonedx-php-composer-devreq-dev-master",
+ "type": "application",
+ "name": "cyclonedx-php-composer-devreq",
+ "version": "dev-master",
+ "group": "cyclonedx-demo",
+ "description": "demo of cyclonedx/cyclonedx-php-composer with a dev dependency",
+ "author": "Jan Kowalleck",
+ "purl": "pkg:composer/cyclonedx-demo/cyclonedx-php-composer-devreq@dev-master",
+ "externalReferences": [
+ {
+ "type": "website",
+ "url": "https://cyclonedx.org/",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "other",
+ "url": "support@cyclonedx.org",
+ "comment": "as detected from Composer manifest 'support.email'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/CycloneDX/cyclonedx-php-composer/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "other",
+ "url": "https://groups.io/g/CycloneDX",
+ "comment": "as detected from Composer manifest 'support.forum'"
+ },
+ {
+ "type": "chat",
+ "url": "https://cyclonedx.org/slack/invite",
+ "comment": "as detected from Composer manifest 'support.chat'"
+ },
+ {
+ "type": "documentation",
+ "url": "https://github.com/CycloneDX/cyclonedx-php-composer/blob/master/demo/devReq/README.md",
+ "comment": "as detected from Composer manifest 'support.docs'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:type",
+ "value": "project"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "bom-ref": "doctrine/instantiator-1.5.0.0",
+ "type": "library",
+ "name": "instantiator",
+ "version": "1.5.0",
+ "group": "doctrine",
+ "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
+ "author": "Marco Pivetta",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/doctrine/instantiator@1.5.0",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b",
+ "comment": "dist reference: 0a0fa9780f5d4e507415a065172d26a98d02047b"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/doctrine/instantiator.git",
+ "comment": "source reference: 0a0fa9780f5d4e507415a065172d26a98d02047b"
+ },
+ {
+ "type": "website",
+ "url": "https://www.doctrine-project.org/projects/instantiator.html",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/doctrine/instantiator/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/doctrine/instantiator/tree/1.5.0",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "0a0fa9780f5d4e507415a065172d26a98d02047b"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "0a0fa9780f5d4e507415a065172d26a98d02047b"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "myclabs/deep-copy-1.11.0.0",
+ "type": "library",
+ "name": "deep-copy",
+ "version": "1.11.0",
+ "group": "myclabs",
+ "description": "Create deep copies (clones) of your objects",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/myclabs/deep-copy@1.11.0",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614",
+ "comment": "dist reference: 14daed4296fae74d9e3201d2c4925d1acb7aa614"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/myclabs/DeepCopy.git",
+ "comment": "source reference: 14daed4296fae74d9e3201d2c4925d1acb7aa614"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/myclabs/DeepCopy/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/myclabs/DeepCopy/tree/1.11.0",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "14daed4296fae74d9e3201d2c4925d1acb7aa614"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "14daed4296fae74d9e3201d2c4925d1acb7aa614"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "nikic/php-parser-4.15.4.0",
+ "type": "library",
+ "name": "php-parser",
+ "version": "v4.15.4",
+ "group": "nikic",
+ "description": "A PHP parser written in PHP",
+ "author": "Nikita Popov",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/nikic/php-parser@v4.15.4",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290",
+ "comment": "dist reference: 6bb5176bc4af8bcb7d926f88718db9b96a2d4290"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/nikic/PHP-Parser.git",
+ "comment": "source reference: 6bb5176bc4af8bcb7d926f88718db9b96a2d4290"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/nikic/PHP-Parser/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/nikic/PHP-Parser/tree/v4.15.4",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "phar-io/manifest-2.0.3.0",
+ "type": "library",
+ "name": "manifest",
+ "version": "2.0.3",
+ "group": "phar-io",
+ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
+ "author": "Arne Blankerts, Sebastian Heuer, Sebastian Bergmann",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/phar-io/manifest@2.0.3",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
+ "comment": "dist reference: 97803eca37d319dfa7826cc2437fc020857acb53"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/phar-io/manifest.git",
+ "comment": "source reference: 97803eca37d319dfa7826cc2437fc020857acb53"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/phar-io/manifest/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/phar-io/manifest/tree/2.0.3",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "97803eca37d319dfa7826cc2437fc020857acb53"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "97803eca37d319dfa7826cc2437fc020857acb53"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "phar-io/version-3.2.1.0",
+ "type": "library",
+ "name": "version",
+ "version": "3.2.1",
+ "group": "phar-io",
+ "description": "Library for handling version information and constraints",
+ "author": "Arne Blankerts, Sebastian Heuer, Sebastian Bergmann",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/phar-io/version@3.2.1",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
+ "comment": "dist reference: 4f7fd7836c6f332bb2933569e566a0d6c4cbed74"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/phar-io/version.git",
+ "comment": "source reference: 4f7fd7836c6f332bb2933569e566a0d6c4cbed74"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/phar-io/version/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/phar-io/version/tree/3.2.1",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "phpunit/php-code-coverage-9.2.26.0",
+ "type": "library",
+ "name": "php-code-coverage",
+ "version": "9.2.26",
+ "group": "phpunit",
+ "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
+ "author": "Sebastian Bergmann",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/phpunit/php-code-coverage@9.2.26",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1",
+ "comment": "dist reference: 443bc6912c9bd5b409254a40f4b0f4ced7c80ea1"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
+ "comment": "source reference: 443bc6912c9bd5b409254a40f4b0f4ced7c80ea1"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/sebastianbergmann/php-code-coverage",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/sebastianbergmann/php-code-coverage/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.26",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "phpunit/php-file-iterator-3.0.6.0",
+ "type": "library",
+ "name": "php-file-iterator",
+ "version": "3.0.6",
+ "group": "phpunit",
+ "description": "FilterIterator implementation that filters files based on a list of suffixes.",
+ "author": "Sebastian Bergmann",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/phpunit/php-file-iterator@3.0.6",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
+ "comment": "dist reference: cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
+ "comment": "source reference: cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/sebastianbergmann/php-file-iterator/",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/sebastianbergmann/php-file-iterator/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "phpunit/php-invoker-3.1.1.0",
+ "type": "library",
+ "name": "php-invoker",
+ "version": "3.1.1",
+ "group": "phpunit",
+ "description": "Invoke callables with a timeout",
+ "author": "Sebastian Bergmann",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/phpunit/php-invoker@3.1.1",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "comment": "dist reference: 5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/php-invoker.git",
+ "comment": "source reference: 5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/sebastianbergmann/php-invoker/",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/sebastianbergmann/php-invoker/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "phpunit/php-text-template-2.0.4.0",
+ "type": "library",
+ "name": "php-text-template",
+ "version": "2.0.4",
+ "group": "phpunit",
+ "description": "Simple template engine.",
+ "author": "Sebastian Bergmann",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/phpunit/php-text-template@2.0.4",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "comment": "dist reference: 5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/php-text-template.git",
+ "comment": "source reference: 5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/sebastianbergmann/php-text-template/",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/sebastianbergmann/php-text-template/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "phpunit/php-timer-5.0.3.0",
+ "type": "library",
+ "name": "php-timer",
+ "version": "5.0.3",
+ "group": "phpunit",
+ "description": "Utility class for timing",
+ "author": "Sebastian Bergmann",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/phpunit/php-timer@5.0.3",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "comment": "dist reference: 5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/php-timer.git",
+ "comment": "source reference: 5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/sebastianbergmann/php-timer/",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/sebastianbergmann/php-timer/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "phpunit/phpunit-9.5.26.0",
+ "type": "library",
+ "name": "phpunit",
+ "version": "9.5.26",
+ "group": "phpunit",
+ "description": "The PHP Unit Testing framework.",
+ "author": "Sebastian Bergmann",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/phpunit/phpunit@9.5.26",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/851867efcbb6a1b992ec515c71cdcf20d895e9d2",
+ "comment": "dist reference: 851867efcbb6a1b992ec515c71cdcf20d895e9d2"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/phpunit.git",
+ "comment": "source reference: 851867efcbb6a1b992ec515c71cdcf20d895e9d2"
+ },
+ {
+ "type": "website",
+ "url": "https://phpunit.de/",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/sebastianbergmann/phpunit/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/phpunit/tree/9.5.26",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "851867efcbb6a1b992ec515c71cdcf20d895e9d2"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "851867efcbb6a1b992ec515c71cdcf20d895e9d2"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "sebastian/cli-parser-1.0.1.0",
+ "type": "library",
+ "name": "cli-parser",
+ "version": "1.0.1",
+ "group": "sebastian",
+ "description": "Library for parsing CLI options",
+ "author": "Sebastian Bergmann",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/sebastian/cli-parser@1.0.1",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+ "comment": "dist reference: 442e7c7e687e42adc03470c7b668bc4b2402c0b2"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/cli-parser.git",
+ "comment": "source reference: 442e7c7e687e42adc03470c7b668bc4b2402c0b2"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/sebastianbergmann/cli-parser",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/sebastianbergmann/cli-parser/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "442e7c7e687e42adc03470c7b668bc4b2402c0b2"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "442e7c7e687e42adc03470c7b668bc4b2402c0b2"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "sebastian/code-unit-1.0.8.0",
+ "type": "library",
+ "name": "code-unit",
+ "version": "1.0.8",
+ "group": "sebastian",
+ "description": "Collection of value objects that represent the PHP code units",
+ "author": "Sebastian Bergmann",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/sebastian/code-unit@1.0.8",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "comment": "dist reference: 1fc9f64c0927627ef78ba436c9b17d967e68e120"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/code-unit.git",
+ "comment": "source reference: 1fc9f64c0927627ef78ba436c9b17d967e68e120"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/sebastianbergmann/code-unit",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/sebastianbergmann/code-unit/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "sebastian/code-unit-reverse-lookup-2.0.3.0",
+ "type": "library",
+ "name": "code-unit-reverse-lookup",
+ "version": "2.0.3",
+ "group": "sebastian",
+ "description": "Looks up which function or method a line of code belongs to",
+ "author": "Sebastian Bergmann",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/sebastian/code-unit-reverse-lookup@2.0.3",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "comment": "dist reference: ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
+ "comment": "source reference: ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "sebastian/comparator-4.0.8.0",
+ "type": "library",
+ "name": "comparator",
+ "version": "4.0.8",
+ "group": "sebastian",
+ "description": "Provides the functionality to compare PHP values for equality",
+ "author": "Sebastian Bergmann, Jeff Welch, Volker Dusch, Bernhard Schussek",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/sebastian/comparator@4.0.8",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a",
+ "comment": "dist reference: fa0f136dd2334583309d32b62544682ee972b51a"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/comparator.git",
+ "comment": "source reference: fa0f136dd2334583309d32b62544682ee972b51a"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/sebastianbergmann/comparator",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/sebastianbergmann/comparator/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/comparator/tree/4.0.8",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "fa0f136dd2334583309d32b62544682ee972b51a"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "fa0f136dd2334583309d32b62544682ee972b51a"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "sebastian/complexity-2.0.2.0",
+ "type": "library",
+ "name": "complexity",
+ "version": "2.0.2",
+ "group": "sebastian",
+ "description": "Library for calculating the complexity of PHP code units",
+ "author": "Sebastian Bergmann",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/sebastian/complexity@2.0.2",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88",
+ "comment": "dist reference: 739b35e53379900cc9ac327b2147867b8b6efd88"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/complexity.git",
+ "comment": "source reference: 739b35e53379900cc9ac327b2147867b8b6efd88"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/sebastianbergmann/complexity",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/sebastianbergmann/complexity/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/complexity/tree/2.0.2",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "739b35e53379900cc9ac327b2147867b8b6efd88"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "739b35e53379900cc9ac327b2147867b8b6efd88"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "sebastian/diff-4.0.4.0",
+ "type": "library",
+ "name": "diff",
+ "version": "4.0.4",
+ "group": "sebastian",
+ "description": "Diff implementation",
+ "author": "Sebastian Bergmann, Kore Nordmann",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/sebastian/diff@4.0.4",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
+ "comment": "dist reference: 3461e3fccc7cfdfc2720be910d3bd73c69be590d"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/diff.git",
+ "comment": "source reference: 3461e3fccc7cfdfc2720be910d3bd73c69be590d"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/sebastianbergmann/diff",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/sebastianbergmann/diff/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/diff/tree/4.0.4",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "sebastian/environment-5.1.5.0",
+ "type": "library",
+ "name": "environment",
+ "version": "5.1.5",
+ "group": "sebastian",
+ "description": "Provides functionality to handle HHVM/PHP environments",
+ "author": "Sebastian Bergmann",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/sebastian/environment@5.1.5",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
+ "comment": "dist reference: 830c43a844f1f8d5b7a1f6d6076b784454d8b7ed"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/environment.git",
+ "comment": "source reference: 830c43a844f1f8d5b7a1f6d6076b784454d8b7ed"
+ },
+ {
+ "type": "website",
+ "url": "http://www.github.com/sebastianbergmann/environment",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/sebastianbergmann/environment/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/environment/tree/5.1.5",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "sebastian/exporter-4.0.5.0",
+ "type": "library",
+ "name": "exporter",
+ "version": "4.0.5",
+ "group": "sebastian",
+ "description": "Provides the functionality to export PHP variables for visualization",
+ "author": "Sebastian Bergmann, Jeff Welch, Volker Dusch, Adam Harvey, Bernhard Schussek",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/sebastian/exporter@4.0.5",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
+ "comment": "dist reference: ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/exporter.git",
+ "comment": "source reference: ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d"
+ },
+ {
+ "type": "website",
+ "url": "https://www.github.com/sebastianbergmann/exporter",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/sebastianbergmann/exporter/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/exporter/tree/4.0.5",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "sebastian/global-state-5.0.5.0",
+ "type": "library",
+ "name": "global-state",
+ "version": "5.0.5",
+ "group": "sebastian",
+ "description": "Snapshotting of global state",
+ "author": "Sebastian Bergmann",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/sebastian/global-state@5.0.5",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2",
+ "comment": "dist reference: 0ca8db5a5fc9c8646244e629625ac486fa286bf2"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/global-state.git",
+ "comment": "source reference: 0ca8db5a5fc9c8646244e629625ac486fa286bf2"
+ },
+ {
+ "type": "website",
+ "url": "http://www.github.com/sebastianbergmann/global-state",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/sebastianbergmann/global-state/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/global-state/tree/5.0.5",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "0ca8db5a5fc9c8646244e629625ac486fa286bf2"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "0ca8db5a5fc9c8646244e629625ac486fa286bf2"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "sebastian/lines-of-code-1.0.3.0",
+ "type": "library",
+ "name": "lines-of-code",
+ "version": "1.0.3",
+ "group": "sebastian",
+ "description": "Library for counting the lines of code in PHP source code",
+ "author": "Sebastian Bergmann",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/sebastian/lines-of-code@1.0.3",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc",
+ "comment": "dist reference: c1c2e997aa3146983ed888ad08b15470a2e22ecc"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/lines-of-code.git",
+ "comment": "source reference: c1c2e997aa3146983ed888ad08b15470a2e22ecc"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/sebastianbergmann/lines-of-code",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/sebastianbergmann/lines-of-code/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "c1c2e997aa3146983ed888ad08b15470a2e22ecc"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "c1c2e997aa3146983ed888ad08b15470a2e22ecc"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "sebastian/object-enumerator-4.0.4.0",
+ "type": "library",
+ "name": "object-enumerator",
+ "version": "4.0.4",
+ "group": "sebastian",
+ "description": "Traverses array structures and object graphs to enumerate all referenced objects",
+ "author": "Sebastian Bergmann",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/sebastian/object-enumerator@4.0.4",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
+ "comment": "dist reference: 5c9eeac41b290a3712d88851518825ad78f45c71"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/object-enumerator.git",
+ "comment": "source reference: 5c9eeac41b290a3712d88851518825ad78f45c71"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/sebastianbergmann/object-enumerator/",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/sebastianbergmann/object-enumerator/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "5c9eeac41b290a3712d88851518825ad78f45c71"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "5c9eeac41b290a3712d88851518825ad78f45c71"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "sebastian/object-reflector-2.0.4.0",
+ "type": "library",
+ "name": "object-reflector",
+ "version": "2.0.4",
+ "group": "sebastian",
+ "description": "Allows reflection of object attributes, including inherited and non-public ones",
+ "author": "Sebastian Bergmann",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/sebastian/object-reflector@2.0.4",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "comment": "dist reference: b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/object-reflector.git",
+ "comment": "source reference: b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/sebastianbergmann/object-reflector/",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/sebastianbergmann/object-reflector/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "sebastian/recursion-context-4.0.5.0",
+ "type": "library",
+ "name": "recursion-context",
+ "version": "4.0.5",
+ "group": "sebastian",
+ "description": "Provides functionality to recursively process PHP variables",
+ "author": "Sebastian Bergmann, Jeff Welch, Adam Harvey",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/sebastian/recursion-context@4.0.5",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
+ "comment": "dist reference: e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/recursion-context.git",
+ "comment": "source reference: e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/sebastianbergmann/recursion-context",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/sebastianbergmann/recursion-context/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "sebastian/resource-operations-3.0.3.0",
+ "type": "library",
+ "name": "resource-operations",
+ "version": "3.0.3",
+ "group": "sebastian",
+ "description": "Provides a list of PHP built-in functions that operate on resources",
+ "author": "Sebastian Bergmann",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/sebastian/resource-operations@3.0.3",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
+ "comment": "dist reference: 0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/resource-operations.git",
+ "comment": "source reference: 0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
+ },
+ {
+ "type": "website",
+ "url": "https://www.github.com/sebastianbergmann/resource-operations",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/sebastianbergmann/resource-operations/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "sebastian/type-3.2.1.0",
+ "type": "library",
+ "name": "type",
+ "version": "3.2.1",
+ "group": "sebastian",
+ "description": "Collection of value objects that represent the types of the PHP type system",
+ "author": "Sebastian Bergmann",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/sebastian/type@3.2.1",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
+ "comment": "dist reference: 75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/type.git",
+ "comment": "source reference: 75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/sebastianbergmann/type",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/sebastianbergmann/type/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/type/tree/3.2.1",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "sebastian/version-3.0.2.0",
+ "type": "library",
+ "name": "version",
+ "version": "3.0.2",
+ "group": "sebastian",
+ "description": "Library that helps with managing the version number of Git-hosted PHP projects",
+ "author": "Sebastian Bergmann",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/sebastian/version@3.0.2",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
+ "comment": "dist reference: c6c1022351a901512170118436c764e473f6de8c"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/version.git",
+ "comment": "source reference: c6c1022351a901512170118436c764e473f6de8c"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/sebastianbergmann/version",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/sebastianbergmann/version/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/sebastianbergmann/version/tree/3.0.2",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "c6c1022351a901512170118436c764e473f6de8c"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "c6c1022351a901512170118436c764e473f6de8c"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "bom-ref": "theseer/tokenizer-1.2.1.0",
+ "type": "library",
+ "name": "tokenizer",
+ "version": "1.2.1",
+ "group": "theseer",
+ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
+ "author": "Arne Blankerts",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/theseer/tokenizer@1.2.1",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
+ "comment": "dist reference: 34a41e998c2183e22995f158c581e7b5e755ab9e"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/theseer/tokenizer.git",
+ "comment": "source reference: 34a41e998c2183e22995f158c581e7b5e755ab9e"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/theseer/tokenizer/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/theseer/tokenizer/tree/1.2.1",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "34a41e998c2183e22995f158c581e7b5e755ab9e"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "34a41e998c2183e22995f158c581e7b5e755ab9e"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ },
+ {
+ "name": "cdx:composer:package:isDevRequirement",
+ "value": "true"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "doctrine/instantiator-1.5.0.0"
+ },
+ {
+ "ref": "myclabs/deep-copy-1.11.0.0"
+ },
+ {
+ "ref": "nikic/php-parser-4.15.4.0"
+ },
+ {
+ "ref": "phar-io/manifest-2.0.3.0",
+ "dependsOn": [
+ "phar-io/version-3.2.1.0"
+ ]
+ },
+ {
+ "ref": "phar-io/version-3.2.1.0"
+ },
+ {
+ "ref": "phpunit/php-code-coverage-9.2.26.0",
+ "dependsOn": [
+ "nikic/php-parser-4.15.4.0",
+ "phpunit/php-file-iterator-3.0.6.0",
+ "phpunit/php-text-template-2.0.4.0",
+ "sebastian/code-unit-reverse-lookup-2.0.3.0",
+ "sebastian/complexity-2.0.2.0",
+ "sebastian/environment-5.1.5.0",
+ "sebastian/lines-of-code-1.0.3.0",
+ "sebastian/version-3.0.2.0",
+ "theseer/tokenizer-1.2.1.0"
+ ]
+ },
+ {
+ "ref": "phpunit/php-file-iterator-3.0.6.0"
+ },
+ {
+ "ref": "phpunit/php-invoker-3.1.1.0"
+ },
+ {
+ "ref": "phpunit/php-text-template-2.0.4.0"
+ },
+ {
+ "ref": "phpunit/php-timer-5.0.3.0"
+ },
+ {
+ "ref": "phpunit/phpunit-9.5.26.0",
+ "dependsOn": [
+ "doctrine/instantiator-1.5.0.0",
+ "myclabs/deep-copy-1.11.0.0",
+ "phar-io/manifest-2.0.3.0",
+ "phar-io/version-3.2.1.0",
+ "phpunit/php-code-coverage-9.2.26.0",
+ "phpunit/php-file-iterator-3.0.6.0",
+ "phpunit/php-invoker-3.1.1.0",
+ "phpunit/php-text-template-2.0.4.0",
+ "phpunit/php-timer-5.0.3.0",
+ "sebastian/cli-parser-1.0.1.0",
+ "sebastian/code-unit-1.0.8.0",
+ "sebastian/comparator-4.0.8.0",
+ "sebastian/diff-4.0.4.0",
+ "sebastian/environment-5.1.5.0",
+ "sebastian/exporter-4.0.5.0",
+ "sebastian/global-state-5.0.5.0",
+ "sebastian/object-enumerator-4.0.4.0",
+ "sebastian/resource-operations-3.0.3.0",
+ "sebastian/type-3.2.1.0",
+ "sebastian/version-3.0.2.0"
+ ]
+ },
+ {
+ "ref": "sebastian/cli-parser-1.0.1.0"
+ },
+ {
+ "ref": "sebastian/code-unit-1.0.8.0"
+ },
+ {
+ "ref": "sebastian/code-unit-reverse-lookup-2.0.3.0"
+ },
+ {
+ "ref": "sebastian/comparator-4.0.8.0",
+ "dependsOn": [
+ "sebastian/diff-4.0.4.0",
+ "sebastian/exporter-4.0.5.0"
+ ]
+ },
+ {
+ "ref": "sebastian/complexity-2.0.2.0",
+ "dependsOn": [
+ "nikic/php-parser-4.15.4.0"
+ ]
+ },
+ {
+ "ref": "sebastian/diff-4.0.4.0"
+ },
+ {
+ "ref": "sebastian/environment-5.1.5.0"
+ },
+ {
+ "ref": "sebastian/exporter-4.0.5.0",
+ "dependsOn": [
+ "sebastian/recursion-context-4.0.5.0"
+ ]
+ },
+ {
+ "ref": "sebastian/global-state-5.0.5.0",
+ "dependsOn": [
+ "sebastian/object-reflector-2.0.4.0",
+ "sebastian/recursion-context-4.0.5.0"
+ ]
+ },
+ {
+ "ref": "sebastian/lines-of-code-1.0.3.0",
+ "dependsOn": [
+ "nikic/php-parser-4.15.4.0"
+ ]
+ },
+ {
+ "ref": "sebastian/object-enumerator-4.0.4.0",
+ "dependsOn": [
+ "sebastian/object-reflector-2.0.4.0",
+ "sebastian/recursion-context-4.0.5.0"
+ ]
+ },
+ {
+ "ref": "sebastian/object-reflector-2.0.4.0"
+ },
+ {
+ "ref": "sebastian/recursion-context-4.0.5.0"
+ },
+ {
+ "ref": "sebastian/resource-operations-3.0.3.0"
+ },
+ {
+ "ref": "sebastian/type-3.2.1.0"
+ },
+ {
+ "ref": "sebastian/version-3.0.2.0"
+ },
+ {
+ "ref": "theseer/tokenizer-1.2.1.0"
+ },
+ {
+ "ref": "cyclonedx-demo/cyclonedx-php-composer-devreq-dev-master",
+ "dependsOn": [
+ "phpunit/phpunit-9.5.26.0"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/demo/devReq/results/bom.1.7.xml b/demo/devReq/results/bom.1.7.xml
new file mode 100644
index 00000000..d43d9733
--- /dev/null
+++ b/demo/devReq/results/bom.1.7.xml
@@ -0,0 +1,1259 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/demo/laravel-7.12.0/README.md b/demo/laravel-7.12.0/README.md
index 81d586f3..821fb239 100644
--- a/demo/laravel-7.12.0/README.md
+++ b/demo/laravel-7.12.0/README.md
@@ -18,10 +18,14 @@ as "laravel-7.12.0".
* [`results/bom.1.3.xml`](results/bom.1.3.xml)
* [`results/bom.1.4.xml`](results/bom.1.4.xml)
* [`results/bom.1.5.xml`](results/bom.1.5.xml)
+* [`results/bom.1.6.xml`](results/bom.1.6.xml)
+* [`results/bom.1.7.xml`](results/bom.1.7.xml)
* [`results/bom.1.2.json`](results/bom.1.2.json)
* [`results/bom.1.3.json`](results/bom.1.3.json)
* [`results/bom.1.4.json`](results/bom.1.4.json)
* [`results/bom.1.5.json`](results/bom.1.5.json)
+* [`results/bom.1.6.json`](results/bom.1.6.json)
+* [`results/bom.1.7.json`](results/bom.1.7.json)
## Setup
diff --git a/demo/laravel-7.12.0/project/composer.json b/demo/laravel-7.12.0/project/composer.json
index 46193674..5ce164da 100644
--- a/demo/laravel-7.12.0/project/composer.json
+++ b/demo/laravel-7.12.0/project/composer.json
@@ -33,6 +33,7 @@
"@putenv CDX_CP_TOOLS_VERSION_OVERRIDE=in-dev",
"@putenv CDX_CP_TOOLS_EXCLUDE_LIBS=1",
"@putenv CDX_CP_TOOLS_EXCLUDE_COMPOSER=1",
+ "@composer -d ../../.tool CycloneDX:make-sbom --validate --omit=dev --spec-version=1.7 --output-reproducible --output-format=JSON --output-file=$PWD/../results/bom.1.7.json $PWD/composer.json",
"@composer -d ../../.tool CycloneDX:make-sbom --validate --omit=dev --spec-version=1.6 --output-reproducible --output-format=JSON --output-file=$PWD/../results/bom.1.6.json $PWD/composer.json",
"@composer -d ../../.tool CycloneDX:make-sbom --validate --omit=dev --spec-version=1.5 --output-reproducible --output-format=JSON --output-file=$PWD/../results/bom.1.5.json $PWD/composer.json",
"@composer -d ../../.tool CycloneDX:make-sbom --validate --omit=dev --spec-version=1.4 --output-reproducible --output-format=JSON --output-file=$PWD/../results/bom.1.4.json $PWD/composer.json",
@@ -43,6 +44,7 @@
"@putenv CDX_CP_TOOLS_VERSION_OVERRIDE=in-dev",
"@putenv CDX_CP_TOOLS_EXCLUDE_LIBS=1",
"@putenv CDX_CP_TOOLS_EXCLUDE_COMPOSER=1",
+ "@composer -d ../../.tool CycloneDX:make-sbom --validate --omit=dev --spec-version=1.7 --output-reproducible --output-format=XML --output-file=$PWD/../results/bom.1.7.xml $PWD/composer.json",
"@composer -d ../../.tool CycloneDX:make-sbom --validate --omit=dev --spec-version=1.6 --output-reproducible --output-format=XML --output-file=$PWD/../results/bom.1.6.xml $PWD/composer.json",
"@composer -d ../../.tool CycloneDX:make-sbom --validate --omit=dev --spec-version=1.5 --output-reproducible --output-format=XML --output-file=$PWD/../results/bom.1.5.xml $PWD/composer.json",
"@composer -d ../../.tool CycloneDX:make-sbom --validate --omit=dev --spec-version=1.4 --output-reproducible --output-format=XML --output-file=$PWD/../results/bom.1.4.xml $PWD/composer.json",
diff --git a/demo/laravel-7.12.0/results/bom.1.7.json b/demo/laravel-7.12.0/results/bom.1.7.json
new file mode 100644
index 00000000..78cdc322
--- /dev/null
+++ b/demo/laravel-7.12.0/results/bom.1.7.json
@@ -0,0 +1,3830 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.7",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "cyclonedx",
+ "name": "cyclonedx-php-composer",
+ "version": "in-dev"
+ }
+ ],
+ "component": {
+ "bom-ref": "cyclonedx/cyclonedx-php-composer-demo-dev-master",
+ "type": "application",
+ "name": "cyclonedx-php-composer-demo",
+ "version": "dev-master",
+ "group": "cyclonedx",
+ "description": "demo of cyclonedx/cyclonedx-php-composer with a pinned version of laravel/framework",
+ "author": "Jan Kowalleck",
+ "purl": "pkg:composer/cyclonedx/cyclonedx-php-composer-demo@dev-master",
+ "properties": [
+ {
+ "name": "cdx:composer:package:type",
+ "value": "project"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "bom-ref": "asm89/stack-cors-1.3.0.0",
+ "type": "library",
+ "name": "stack-cors",
+ "version": "1.3.0",
+ "group": "asm89",
+ "description": "Cross-origin resource sharing library and stack middleware",
+ "author": "Alexander",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/asm89/stack-cors@1.3.0",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/asm89/stack-cors/zipball/b9c31def6a83f84b4d4a40d35996d375755f0e08",
+ "comment": "dist reference: b9c31def6a83f84b4d4a40d35996d375755f0e08"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/asm89/stack-cors.git",
+ "comment": "source reference: b9c31def6a83f84b4d4a40d35996d375755f0e08"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/asm89/stack-cors",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/asm89/stack-cors/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/asm89/stack-cors/tree/1.3.0",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "b9c31def6a83f84b4d4a40d35996d375755f0e08"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "b9c31def6a83f84b4d4a40d35996d375755f0e08"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "brick/math-0.9.3.0",
+ "type": "library",
+ "name": "math",
+ "version": "0.9.3",
+ "group": "brick",
+ "description": "Arbitrary-precision arithmetic library",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/brick/math@0.9.3",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/brick/math/zipball/ca57d18f028f84f777b2168cd1911b0dee2343ae",
+ "comment": "dist reference: ca57d18f028f84f777b2168cd1911b0dee2343ae"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/brick/math.git",
+ "comment": "source reference: ca57d18f028f84f777b2168cd1911b0dee2343ae"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/brick/math/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/brick/math/tree/0.9.3",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "ca57d18f028f84f777b2168cd1911b0dee2343ae"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "ca57d18f028f84f777b2168cd1911b0dee2343ae"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "doctrine/inflector-2.0.6.0",
+ "type": "library",
+ "name": "inflector",
+ "version": "2.0.6",
+ "group": "doctrine",
+ "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.",
+ "author": "Guilherme Blanco, Roman Borschel, Benjamin Eberlei, Jonathan Wage, Johannes Schmitt",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/doctrine/inflector@2.0.6",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/doctrine/inflector/zipball/d9d313a36c872fd6ee06d9a6cbcf713eaa40f024",
+ "comment": "dist reference: d9d313a36c872fd6ee06d9a6cbcf713eaa40f024"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/doctrine/inflector.git",
+ "comment": "source reference: d9d313a36c872fd6ee06d9a6cbcf713eaa40f024"
+ },
+ {
+ "type": "website",
+ "url": "https://www.doctrine-project.org/projects/inflector.html",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/doctrine/inflector/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/doctrine/inflector/tree/2.0.6",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "doctrine/lexer-1.2.3.0",
+ "type": "library",
+ "name": "lexer",
+ "version": "1.2.3",
+ "group": "doctrine",
+ "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.",
+ "author": "Guilherme Blanco, Roman Borschel, Johannes Schmitt",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/doctrine/lexer@1.2.3",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/doctrine/lexer/zipball/c268e882d4dbdd85e36e4ad69e02dc284f89d229",
+ "comment": "dist reference: c268e882d4dbdd85e36e4ad69e02dc284f89d229"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/doctrine/lexer.git",
+ "comment": "source reference: c268e882d4dbdd85e36e4ad69e02dc284f89d229"
+ },
+ {
+ "type": "website",
+ "url": "https://www.doctrine-project.org/projects/lexer.html",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/doctrine/lexer/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/doctrine/lexer/tree/1.2.3",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "c268e882d4dbdd85e36e4ad69e02dc284f89d229"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "c268e882d4dbdd85e36e4ad69e02dc284f89d229"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "dragonmantank/cron-expression-2.3.1.0",
+ "type": "library",
+ "name": "cron-expression",
+ "version": "v2.3.1",
+ "group": "dragonmantank",
+ "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due",
+ "author": "Michael Dowling, Chris Tankersley",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/dragonmantank/cron-expression@v2.3.1",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/65b2d8ee1f10915efb3b55597da3404f096acba2",
+ "comment": "dist reference: 65b2d8ee1f10915efb3b55597da3404f096acba2"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/dragonmantank/cron-expression.git",
+ "comment": "source reference: 65b2d8ee1f10915efb3b55597da3404f096acba2"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/dragonmantank/cron-expression/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/dragonmantank/cron-expression/tree/v2.3.1",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "65b2d8ee1f10915efb3b55597da3404f096acba2"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "65b2d8ee1f10915efb3b55597da3404f096acba2"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "egulias/email-validator-2.1.25.0",
+ "type": "library",
+ "name": "email-validator",
+ "version": "2.1.25",
+ "group": "egulias",
+ "description": "A library for validating emails against several RFCs",
+ "author": "Eduardo Gulias Davis",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/egulias/email-validator@2.1.25",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/0dbf5d78455d4d6a41d186da50adc1122ec066f4",
+ "comment": "dist reference: 0dbf5d78455d4d6a41d186da50adc1122ec066f4"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/egulias/EmailValidator.git",
+ "comment": "source reference: 0dbf5d78455d4d6a41d186da50adc1122ec066f4"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/egulias/EmailValidator",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/egulias/EmailValidator/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/egulias/EmailValidator/tree/2.1.25",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "0dbf5d78455d4d6a41d186da50adc1122ec066f4"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "0dbf5d78455d4d6a41d186da50adc1122ec066f4"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "fideloper/proxy-4.4.2.0",
+ "type": "library",
+ "name": "proxy",
+ "version": "4.4.2",
+ "group": "fideloper",
+ "description": "Set trusted proxies for Laravel",
+ "author": "Chris Fidao",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/fideloper/proxy@4.4.2",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/a751f2bc86dd8e6cfef12dc0cbdada82f5a18750",
+ "comment": "dist reference: a751f2bc86dd8e6cfef12dc0cbdada82f5a18750"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/fideloper/TrustedProxy.git",
+ "comment": "source reference: a751f2bc86dd8e6cfef12dc0cbdada82f5a18750"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/fideloper/TrustedProxy/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/fideloper/TrustedProxy/tree/4.4.2",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "a751f2bc86dd8e6cfef12dc0cbdada82f5a18750"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "a751f2bc86dd8e6cfef12dc0cbdada82f5a18750"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "fruitcake/laravel-cors-1.0.6.0",
+ "type": "library",
+ "name": "laravel-cors",
+ "version": "v1.0.6",
+ "group": "fruitcake",
+ "description": "Adds CORS (Cross-Origin Resource Sharing) headers support in your Laravel application",
+ "author": "Fruitcake, Barry vd. Heuvel",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/fruitcake/laravel-cors@v1.0.6",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/fruitcake/laravel-cors/zipball/1d127dbec313e2e227d65e0c483765d8d7559bf6",
+ "comment": "dist reference: 1d127dbec313e2e227d65e0c483765d8d7559bf6"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/fruitcake/laravel-cors.git",
+ "comment": "source reference: 1d127dbec313e2e227d65e0c483765d8d7559bf6"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/fruitcake/laravel-cors/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/fruitcake/laravel-cors/tree/1.0",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "1d127dbec313e2e227d65e0c483765d8d7559bf6"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "1d127dbec313e2e227d65e0c483765d8d7559bf6"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "guzzlehttp/guzzle-6.5.8.0",
+ "type": "library",
+ "name": "guzzle",
+ "version": "6.5.8",
+ "group": "guzzlehttp",
+ "description": "Guzzle is a PHP HTTP client library",
+ "author": "Graham Campbell, Michael Dowling, Jeremy Lindblom, George Mponos, Tobias Nyholm, M\u00e1rk S\u00e1gi-Kaz\u00e1r, Tobias Schultze",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/guzzlehttp/guzzle@6.5.8",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/a52f0440530b54fa079ce76e8c5d196a42cad981",
+ "comment": "dist reference: a52f0440530b54fa079ce76e8c5d196a42cad981"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/guzzle/guzzle.git",
+ "comment": "source reference: a52f0440530b54fa079ce76e8c5d196a42cad981"
+ },
+ {
+ "type": "website",
+ "url": "http://guzzlephp.org/",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/guzzle/guzzle/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/guzzle/guzzle/tree/6.5.8",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "a52f0440530b54fa079ce76e8c5d196a42cad981"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "a52f0440530b54fa079ce76e8c5d196a42cad981"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "guzzlehttp/promises-1.5.2.0",
+ "type": "library",
+ "name": "promises",
+ "version": "1.5.2",
+ "group": "guzzlehttp",
+ "description": "Guzzle promises library",
+ "author": "Graham Campbell, Michael Dowling, Tobias Nyholm, Tobias Schultze",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/guzzlehttp/promises@1.5.2",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/b94b2807d85443f9719887892882d0329d1e2598",
+ "comment": "dist reference: b94b2807d85443f9719887892882d0329d1e2598"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/guzzle/promises.git",
+ "comment": "source reference: b94b2807d85443f9719887892882d0329d1e2598"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/guzzle/promises/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/guzzle/promises/tree/1.5.2",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "b94b2807d85443f9719887892882d0329d1e2598"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "b94b2807d85443f9719887892882d0329d1e2598"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "guzzlehttp/psr7-1.9.0.0",
+ "type": "library",
+ "name": "psr7",
+ "version": "1.9.0",
+ "group": "guzzlehttp",
+ "description": "PSR-7 message implementation that also provides common utility methods",
+ "author": "Graham Campbell, Michael Dowling, George Mponos, Tobias Nyholm, M\u00e1rk S\u00e1gi-Kaz\u00e1r, Tobias Schultze",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/guzzlehttp/psr7@1.9.0",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/e98e3e6d4f86621a9b75f623996e6bbdeb4b9318",
+ "comment": "dist reference: e98e3e6d4f86621a9b75f623996e6bbdeb4b9318"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/guzzle/psr7.git",
+ "comment": "source reference: e98e3e6d4f86621a9b75f623996e6bbdeb4b9318"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/guzzle/psr7/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/guzzle/psr7/tree/1.9.0",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "e98e3e6d4f86621a9b75f623996e6bbdeb4b9318"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "e98e3e6d4f86621a9b75f623996e6bbdeb4b9318"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "laravel/framework-7.30.6.0",
+ "type": "library",
+ "name": "framework",
+ "version": "v7.30.6",
+ "group": "laravel",
+ "description": "The Laravel Framework.",
+ "author": "Taylor Otwell",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/laravel/framework@v7.30.6",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/ecdafad1dda3c790af186a6d18479ea4757ef9ee",
+ "comment": "dist reference: ecdafad1dda3c790af186a6d18479ea4757ef9ee"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/laravel/framework.git",
+ "comment": "source reference: ecdafad1dda3c790af186a6d18479ea4757ef9ee"
+ },
+ {
+ "type": "website",
+ "url": "https://laravel.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/laravel/framework/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/laravel/framework",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "ecdafad1dda3c790af186a6d18479ea4757ef9ee"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "ecdafad1dda3c790af186a6d18479ea4757ef9ee"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "laravel/laravel-7.12.0.0",
+ "type": "library",
+ "name": "laravel",
+ "version": "v7.12.0",
+ "group": "laravel",
+ "description": "The Laravel Framework.",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/laravel/laravel@v7.12.0",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/laravel/laravel/zipball/5639581ea56ecd556cdf6e6edc37ce5795740fd7",
+ "comment": "dist reference: 5639581ea56ecd556cdf6e6edc37ce5795740fd7"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/laravel/laravel.git",
+ "comment": "source reference: 5639581ea56ecd556cdf6e6edc37ce5795740fd7"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/laravel/laravel/tree/master",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "5639581ea56ecd556cdf6e6edc37ce5795740fd7"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "5639581ea56ecd556cdf6e6edc37ce5795740fd7"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "project"
+ }
+ ]
+ },
+ {
+ "bom-ref": "laravel/tinker-2.7.3.0",
+ "type": "library",
+ "name": "tinker",
+ "version": "v2.7.3",
+ "group": "laravel",
+ "description": "Powerful REPL for the Laravel framework.",
+ "author": "Taylor Otwell",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/laravel/tinker@v2.7.3",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/laravel/tinker/zipball/5062061b4924af3392225dd482ca7b4d85d8b8ef",
+ "comment": "dist reference: 5062061b4924af3392225dd482ca7b4d85d8b8ef"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/laravel/tinker.git",
+ "comment": "source reference: 5062061b4924af3392225dd482ca7b4d85d8b8ef"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/laravel/tinker/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/laravel/tinker/tree/v2.7.3",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "5062061b4924af3392225dd482ca7b4d85d8b8ef"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "5062061b4924af3392225dd482ca7b4d85d8b8ef"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "league/commonmark-1.6.7.0",
+ "type": "library",
+ "name": "commonmark",
+ "version": "1.6.7",
+ "group": "league",
+ "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and Github-Flavored Markdown (GFM)",
+ "author": "Colin O'Dell",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/league/commonmark@1.6.7",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/2b8185c13bc9578367a5bf901881d1c1b5bbd09b",
+ "comment": "dist reference: 2b8185c13bc9578367a5bf901881d1c1b5bbd09b"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/thephpleague/commonmark.git",
+ "comment": "source reference: 2b8185c13bc9578367a5bf901881d1c1b5bbd09b"
+ },
+ {
+ "type": "website",
+ "url": "https://commonmark.thephpleague.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "documentation",
+ "url": "https://commonmark.thephpleague.com/",
+ "comment": "as detected from Composer manifest 'support.docs'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/thephpleague/commonmark/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "other",
+ "url": "https://github.com/thephpleague/commonmark/releases.atom",
+ "comment": "as detected from Composer manifest 'support.rss'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/thephpleague/commonmark",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "2b8185c13bc9578367a5bf901881d1c1b5bbd09b"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "2b8185c13bc9578367a5bf901881d1c1b5bbd09b"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "league/flysystem-1.1.10.0",
+ "type": "library",
+ "name": "flysystem",
+ "version": "1.1.10",
+ "group": "league",
+ "description": "Filesystem abstraction: Many filesystems, one API.",
+ "author": "Frank de Jonge",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/league/flysystem@1.1.10",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/3239285c825c152bcc315fe0e87d6b55f5972ed1",
+ "comment": "dist reference: 3239285c825c152bcc315fe0e87d6b55f5972ed1"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/thephpleague/flysystem.git",
+ "comment": "source reference: 3239285c825c152bcc315fe0e87d6b55f5972ed1"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/thephpleague/flysystem/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/thephpleague/flysystem/tree/1.1.10",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "3239285c825c152bcc315fe0e87d6b55f5972ed1"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "3239285c825c152bcc315fe0e87d6b55f5972ed1"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "league/mime-type-detection-1.11.0.0",
+ "type": "library",
+ "name": "mime-type-detection",
+ "version": "1.11.0",
+ "group": "league",
+ "description": "Mime-type detection for Flysystem",
+ "author": "Frank de Jonge",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/league/mime-type-detection@1.11.0",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ff6248ea87a9f116e78edd6002e39e5128a0d4dd",
+ "comment": "dist reference: ff6248ea87a9f116e78edd6002e39e5128a0d4dd"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/thephpleague/mime-type-detection.git",
+ "comment": "source reference: ff6248ea87a9f116e78edd6002e39e5128a0d4dd"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/thephpleague/mime-type-detection/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/thephpleague/mime-type-detection/tree/1.11.0",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "monolog/monolog-2.8.0.0",
+ "type": "library",
+ "name": "monolog",
+ "version": "2.8.0",
+ "group": "monolog",
+ "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
+ "author": "Jordi Boggiano",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/monolog/monolog@2.8.0",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/720488632c590286b88b80e62aa3d3d551ad4a50",
+ "comment": "dist reference: 720488632c590286b88b80e62aa3d3d551ad4a50"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/Seldaek/monolog.git",
+ "comment": "source reference: 720488632c590286b88b80e62aa3d3d551ad4a50"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/Seldaek/monolog",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/Seldaek/monolog/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/Seldaek/monolog/tree/2.8.0",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "720488632c590286b88b80e62aa3d3d551ad4a50"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "720488632c590286b88b80e62aa3d3d551ad4a50"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "nesbot/carbon-2.63.0.0",
+ "type": "library",
+ "name": "carbon",
+ "version": "2.63.0",
+ "group": "nesbot",
+ "description": "An API extension for DateTime that supports 281 different languages.",
+ "author": "Brian Nesbitt, kylekatarnls",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/nesbot/carbon@2.63.0",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/ad35dd71a6a212b98e4b87e97389b6fa85f0e347",
+ "comment": "dist reference: ad35dd71a6a212b98e4b87e97389b6fa85f0e347"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/briannesbitt/Carbon.git",
+ "comment": "source reference: ad35dd71a6a212b98e4b87e97389b6fa85f0e347"
+ },
+ {
+ "type": "website",
+ "url": "https://carbon.nesbot.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "documentation",
+ "url": "https://carbon.nesbot.com/docs",
+ "comment": "as detected from Composer manifest 'support.docs'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/briannesbitt/Carbon/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/briannesbitt/Carbon",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "ad35dd71a6a212b98e4b87e97389b6fa85f0e347"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "ad35dd71a6a212b98e4b87e97389b6fa85f0e347"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "nikic/php-parser-4.15.2.0",
+ "type": "library",
+ "name": "php-parser",
+ "version": "v4.15.2",
+ "group": "nikic",
+ "description": "A PHP parser written in PHP",
+ "author": "Nikita Popov",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/nikic/php-parser@v4.15.2",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc",
+ "comment": "dist reference: f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/nikic/PHP-Parser.git",
+ "comment": "source reference: f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/nikic/PHP-Parser/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/nikic/PHP-Parser/tree/v4.15.2",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "opis/closure-3.6.3.0",
+ "type": "library",
+ "name": "closure",
+ "version": "3.6.3",
+ "group": "opis",
+ "description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.",
+ "author": "Marius Sarca, Sorin Sarca",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/opis/closure@3.6.3",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/opis/closure/zipball/3d81e4309d2a927abbe66df935f4bb60082805ad",
+ "comment": "dist reference: 3d81e4309d2a927abbe66df935f4bb60082805ad"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/opis/closure.git",
+ "comment": "source reference: 3d81e4309d2a927abbe66df935f4bb60082805ad"
+ },
+ {
+ "type": "website",
+ "url": "https://opis.io/closure",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/opis/closure/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/opis/closure/tree/3.6.3",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "3d81e4309d2a927abbe66df935f4bb60082805ad"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "3d81e4309d2a927abbe66df935f4bb60082805ad"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "phpoption/phpoption-1.9.0.0",
+ "type": "library",
+ "name": "phpoption",
+ "version": "1.9.0",
+ "group": "phpoption",
+ "description": "Option Type for PHP",
+ "author": "Johannes M. Schmitt, Graham Campbell",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/phpoption/phpoption@1.9.0",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/dc5ff11e274a90cc1c743f66c9ad700ce50db9ab",
+ "comment": "dist reference: dc5ff11e274a90cc1c743f66c9ad700ce50db9ab"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/schmittjoh/php-option.git",
+ "comment": "source reference: dc5ff11e274a90cc1c743f66c9ad700ce50db9ab"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/schmittjoh/php-option/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/schmittjoh/php-option/tree/1.9.0",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "dc5ff11e274a90cc1c743f66c9ad700ce50db9ab"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "dc5ff11e274a90cc1c743f66c9ad700ce50db9ab"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "psr/container-1.1.1.0",
+ "type": "library",
+ "name": "container",
+ "version": "1.1.1",
+ "group": "psr",
+ "description": "Common Container Interface (PHP FIG PSR-11)",
+ "author": "PHP-FIG",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/psr/container@1.1.1",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf",
+ "comment": "dist reference: 8622567409010282b7aeebe4bb841fe98b58dcaf"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/php-fig/container.git",
+ "comment": "source reference: 8622567409010282b7aeebe4bb841fe98b58dcaf"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/php-fig/container",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/php-fig/container/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/php-fig/container/tree/1.1.1",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "8622567409010282b7aeebe4bb841fe98b58dcaf"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "8622567409010282b7aeebe4bb841fe98b58dcaf"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "psr/event-dispatcher-1.0.0.0",
+ "type": "library",
+ "name": "event-dispatcher",
+ "version": "1.0.0",
+ "group": "psr",
+ "description": "Standard interfaces for event handling.",
+ "author": "PHP-FIG",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/psr/event-dispatcher@1.0.0",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0",
+ "comment": "dist reference: dbefd12671e8a14ec7f180cab83036ed26714bb0"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/php-fig/event-dispatcher.git",
+ "comment": "source reference: dbefd12671e8a14ec7f180cab83036ed26714bb0"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/php-fig/event-dispatcher/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/php-fig/event-dispatcher/tree/1.0.0",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "dbefd12671e8a14ec7f180cab83036ed26714bb0"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "dbefd12671e8a14ec7f180cab83036ed26714bb0"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "psr/http-message-1.0.1.0",
+ "type": "library",
+ "name": "http-message",
+ "version": "1.0.1",
+ "group": "psr",
+ "description": "Common interface for HTTP messages",
+ "author": "PHP-FIG",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/psr/http-message@1.0.1",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
+ "comment": "dist reference: f6561bf28d520154e4b0ec72be95418abe6d9363"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/php-fig/http-message.git",
+ "comment": "source reference: f6561bf28d520154e4b0ec72be95418abe6d9363"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/php-fig/http-message",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/php-fig/http-message/tree/master",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "f6561bf28d520154e4b0ec72be95418abe6d9363"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "f6561bf28d520154e4b0ec72be95418abe6d9363"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "psr/log-1.1.4.0",
+ "type": "library",
+ "name": "log",
+ "version": "1.1.4",
+ "group": "psr",
+ "description": "Common interface for logging libraries",
+ "author": "PHP-FIG",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/psr/log@1.1.4",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
+ "comment": "dist reference: d49695b909c3b7628b6289db5479a1c204601f11"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/php-fig/log.git",
+ "comment": "source reference: d49695b909c3b7628b6289db5479a1c204601f11"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/php-fig/log",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/php-fig/log/tree/1.1.4",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "d49695b909c3b7628b6289db5479a1c204601f11"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "d49695b909c3b7628b6289db5479a1c204601f11"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "psr/simple-cache-1.0.1.0",
+ "type": "library",
+ "name": "simple-cache",
+ "version": "1.0.1",
+ "group": "psr",
+ "description": "Common interfaces for simple caching",
+ "author": "PHP-FIG",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/psr/simple-cache@1.0.1",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
+ "comment": "dist reference: 408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/php-fig/simple-cache.git",
+ "comment": "source reference: 408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/php-fig/simple-cache/tree/master",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "psy/psysh-0.11.9.0",
+ "type": "library",
+ "name": "psysh",
+ "version": "v0.11.9",
+ "group": "psy",
+ "description": "An interactive shell for modern PHP.",
+ "author": "Justin Hileman",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/psy/psysh@v0.11.9",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/bobthecow/psysh/zipball/1acec99d6684a54ff92f8b548a4e41b566963778",
+ "comment": "dist reference: 1acec99d6684a54ff92f8b548a4e41b566963778"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/bobthecow/psysh.git",
+ "comment": "source reference: 1acec99d6684a54ff92f8b548a4e41b566963778"
+ },
+ {
+ "type": "website",
+ "url": "http://psysh.org",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/bobthecow/psysh/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/bobthecow/psysh/tree/v0.11.9",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "1acec99d6684a54ff92f8b548a4e41b566963778"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "1acec99d6684a54ff92f8b548a4e41b566963778"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "ralouphie/getallheaders-3.0.3.0",
+ "type": "library",
+ "name": "getallheaders",
+ "version": "3.0.3",
+ "group": "ralouphie",
+ "description": "A polyfill for getallheaders.",
+ "author": "Ralph Khattar",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/ralouphie/getallheaders@3.0.3",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
+ "comment": "dist reference: 120b605dfeb996808c31b6477290a714d356e822"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/ralouphie/getallheaders.git",
+ "comment": "source reference: 120b605dfeb996808c31b6477290a714d356e822"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/ralouphie/getallheaders/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/ralouphie/getallheaders/tree/develop",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "120b605dfeb996808c31b6477290a714d356e822"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "120b605dfeb996808c31b6477290a714d356e822"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "ramsey/collection-1.2.2.0",
+ "type": "library",
+ "name": "collection",
+ "version": "1.2.2",
+ "group": "ramsey",
+ "description": "A PHP library for representing and manipulating collections.",
+ "author": "Ben Ramsey",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/ramsey/collection@1.2.2",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/ramsey/collection/zipball/cccc74ee5e328031b15640b51056ee8d3bb66c0a",
+ "comment": "dist reference: cccc74ee5e328031b15640b51056ee8d3bb66c0a"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/ramsey/collection.git",
+ "comment": "source reference: cccc74ee5e328031b15640b51056ee8d3bb66c0a"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/ramsey/collection/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/ramsey/collection/tree/1.2.2",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "cccc74ee5e328031b15640b51056ee8d3bb66c0a"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "cccc74ee5e328031b15640b51056ee8d3bb66c0a"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "ramsey/uuid-4.2.3.0",
+ "type": "library",
+ "name": "uuid",
+ "version": "4.2.3",
+ "group": "ramsey",
+ "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/ramsey/uuid@4.2.3",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/ramsey/uuid/zipball/fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df",
+ "comment": "dist reference: fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/ramsey/uuid.git",
+ "comment": "source reference: fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/ramsey/uuid/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/ramsey/uuid/tree/4.2.3",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "swiftmailer/swiftmailer-6.3.0.0",
+ "type": "library",
+ "name": "swiftmailer",
+ "version": "v6.3.0",
+ "group": "swiftmailer",
+ "description": "Swiftmailer, free feature-rich PHP mailer",
+ "author": "Chris Corbyn, Fabien Potencier",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/swiftmailer/swiftmailer@v6.3.0",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8a5d5072dca8f48460fce2f4131fcc495eec654c",
+ "comment": "dist reference: 8a5d5072dca8f48460fce2f4131fcc495eec654c"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/swiftmailer/swiftmailer.git",
+ "comment": "source reference: 8a5d5072dca8f48460fce2f4131fcc495eec654c"
+ },
+ {
+ "type": "website",
+ "url": "https://swiftmailer.symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/swiftmailer/swiftmailer/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/swiftmailer/swiftmailer/tree/v6.3.0",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "8a5d5072dca8f48460fce2f4131fcc495eec654c"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "8a5d5072dca8f48460fce2f4131fcc495eec654c"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/console-5.4.16.0",
+ "type": "library",
+ "name": "console",
+ "version": "v5.4.16",
+ "group": "symfony",
+ "description": "Eases the creation of beautiful and testable command line interfaces",
+ "author": "Fabien Potencier, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/console@v5.4.16",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/console/zipball/8e9b9c8dfb33af6057c94e1b44846bee700dc5ef",
+ "comment": "dist reference: 8e9b9c8dfb33af6057c94e1b44846bee700dc5ef"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/console.git",
+ "comment": "source reference: 8e9b9c8dfb33af6057c94e1b44846bee700dc5ef"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/console/tree/v5.4.16",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "8e9b9c8dfb33af6057c94e1b44846bee700dc5ef"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "8e9b9c8dfb33af6057c94e1b44846bee700dc5ef"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/css-selector-5.4.11.0",
+ "type": "library",
+ "name": "css-selector",
+ "version": "v5.4.11",
+ "group": "symfony",
+ "description": "Converts CSS selectors to XPath expressions",
+ "author": "Fabien Potencier, Jean-Fran\u00e7ois Simon, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/css-selector@v5.4.11",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/c1681789f059ab756001052164726ae88512ae3d",
+ "comment": "dist reference: c1681789f059ab756001052164726ae88512ae3d"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/css-selector.git",
+ "comment": "source reference: c1681789f059ab756001052164726ae88512ae3d"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/css-selector/tree/v5.4.11",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "c1681789f059ab756001052164726ae88512ae3d"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "c1681789f059ab756001052164726ae88512ae3d"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/deprecation-contracts-2.5.2.0",
+ "type": "library",
+ "name": "deprecation-contracts",
+ "version": "v2.5.2",
+ "group": "symfony",
+ "description": "A generic function and convention to trigger deprecation notices",
+ "author": "Nicolas Grekas, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/deprecation-contracts@v2.5.2",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66",
+ "comment": "dist reference: e8b495ea28c1d97b5e0c121748d6f9b53d075c66"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/deprecation-contracts.git",
+ "comment": "source reference: e8b495ea28c1d97b5e0c121748d6f9b53d075c66"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/error-handler-5.4.15.0",
+ "type": "library",
+ "name": "error-handler",
+ "version": "v5.4.15",
+ "group": "symfony",
+ "description": "Provides tools to manage errors and ease debugging PHP code",
+ "author": "Fabien Potencier, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/error-handler@v5.4.15",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/539cf1428b8442303c6e876ad7bf5a7babd91091",
+ "comment": "dist reference: 539cf1428b8442303c6e876ad7bf5a7babd91091"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/error-handler.git",
+ "comment": "source reference: 539cf1428b8442303c6e876ad7bf5a7babd91091"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/error-handler/tree/v5.4.15",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "539cf1428b8442303c6e876ad7bf5a7babd91091"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "539cf1428b8442303c6e876ad7bf5a7babd91091"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/event-dispatcher-5.4.9.0",
+ "type": "library",
+ "name": "event-dispatcher",
+ "version": "v5.4.9",
+ "group": "symfony",
+ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
+ "author": "Fabien Potencier, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/event-dispatcher@v5.4.9",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc",
+ "comment": "dist reference: 8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/event-dispatcher.git",
+ "comment": "source reference: 8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/event-dispatcher/tree/v5.4.9",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/event-dispatcher-contracts-2.5.2.0",
+ "type": "library",
+ "name": "event-dispatcher-contracts",
+ "version": "v2.5.2",
+ "group": "symfony",
+ "description": "Generic abstractions related to dispatching event",
+ "author": "Nicolas Grekas, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/event-dispatcher-contracts@v2.5.2",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/f98b54df6ad059855739db6fcbc2d36995283fe1",
+ "comment": "dist reference: f98b54df6ad059855739db6fcbc2d36995283fe1"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/event-dispatcher-contracts.git",
+ "comment": "source reference: f98b54df6ad059855739db6fcbc2d36995283fe1"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.2",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "f98b54df6ad059855739db6fcbc2d36995283fe1"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "f98b54df6ad059855739db6fcbc2d36995283fe1"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/finder-5.4.11.0",
+ "type": "library",
+ "name": "finder",
+ "version": "v5.4.11",
+ "group": "symfony",
+ "description": "Finds files and directories via an intuitive fluent interface",
+ "author": "Fabien Potencier, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/finder@v5.4.11",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/7872a66f57caffa2916a584db1aa7f12adc76f8c",
+ "comment": "dist reference: 7872a66f57caffa2916a584db1aa7f12adc76f8c"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/finder.git",
+ "comment": "source reference: 7872a66f57caffa2916a584db1aa7f12adc76f8c"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/finder/tree/v5.4.11",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "7872a66f57caffa2916a584db1aa7f12adc76f8c"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "7872a66f57caffa2916a584db1aa7f12adc76f8c"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/http-foundation-5.4.16.0",
+ "type": "library",
+ "name": "http-foundation",
+ "version": "v5.4.16",
+ "group": "symfony",
+ "description": "Defines an object-oriented layer for the HTTP specification",
+ "author": "Fabien Potencier, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/http-foundation@v5.4.16",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/5032c5849aef24741e1970cb03511b0dd131d838",
+ "comment": "dist reference: 5032c5849aef24741e1970cb03511b0dd131d838"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/http-foundation.git",
+ "comment": "source reference: 5032c5849aef24741e1970cb03511b0dd131d838"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/http-foundation/tree/v5.4.16",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "5032c5849aef24741e1970cb03511b0dd131d838"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "5032c5849aef24741e1970cb03511b0dd131d838"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/http-kernel-5.4.16.0",
+ "type": "library",
+ "name": "http-kernel",
+ "version": "v5.4.16",
+ "group": "symfony",
+ "description": "Provides a structured process for converting a Request into a Response",
+ "author": "Fabien Potencier, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/http-kernel@v5.4.16",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/b432c57c5de73634b1859093c1f58e3cd84455a1",
+ "comment": "dist reference: b432c57c5de73634b1859093c1f58e3cd84455a1"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/http-kernel.git",
+ "comment": "source reference: b432c57c5de73634b1859093c1f58e3cd84455a1"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/http-kernel/tree/v5.4.16",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "b432c57c5de73634b1859093c1f58e3cd84455a1"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "b432c57c5de73634b1859093c1f58e3cd84455a1"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/mime-5.4.16.0",
+ "type": "library",
+ "name": "mime",
+ "version": "v5.4.16",
+ "group": "symfony",
+ "description": "Allows manipulating MIME messages",
+ "author": "Fabien Potencier, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/mime@v5.4.16",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/46eeedb08f0832b1b61a84c612d945fc85ee4734",
+ "comment": "dist reference: 46eeedb08f0832b1b61a84c612d945fc85ee4734"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/mime.git",
+ "comment": "source reference: 46eeedb08f0832b1b61a84c612d945fc85ee4734"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/mime/tree/v5.4.16",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "46eeedb08f0832b1b61a84c612d945fc85ee4734"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "46eeedb08f0832b1b61a84c612d945fc85ee4734"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/polyfill-ctype-1.27.0.0",
+ "type": "library",
+ "name": "polyfill-ctype",
+ "version": "v1.27.0",
+ "group": "symfony",
+ "description": "Symfony polyfill for ctype functions",
+ "author": "Gert de Pagter, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/polyfill-ctype@v1.27.0",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a",
+ "comment": "dist reference: 5bbc823adecdae860bb64756d639ecfec17b050a"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/polyfill-ctype.git",
+ "comment": "source reference: 5bbc823adecdae860bb64756d639ecfec17b050a"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "5bbc823adecdae860bb64756d639ecfec17b050a"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "5bbc823adecdae860bb64756d639ecfec17b050a"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/polyfill-iconv-1.27.0.0",
+ "type": "library",
+ "name": "polyfill-iconv",
+ "version": "v1.27.0",
+ "group": "symfony",
+ "description": "Symfony polyfill for the Iconv extension",
+ "author": "Nicolas Grekas, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/polyfill-iconv@v1.27.0",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/927013f3aac555983a5059aada98e1907d842695",
+ "comment": "dist reference: 927013f3aac555983a5059aada98e1907d842695"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/polyfill-iconv.git",
+ "comment": "source reference: 927013f3aac555983a5059aada98e1907d842695"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/polyfill-iconv/tree/v1.27.0",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "927013f3aac555983a5059aada98e1907d842695"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "927013f3aac555983a5059aada98e1907d842695"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/polyfill-intl-grapheme-1.27.0.0",
+ "type": "library",
+ "name": "polyfill-intl-grapheme",
+ "version": "v1.27.0",
+ "group": "symfony",
+ "description": "Symfony polyfill for intl's grapheme_* functions",
+ "author": "Nicolas Grekas, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/polyfill-intl-grapheme@v1.27.0",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354",
+ "comment": "dist reference: 511a08c03c1960e08a883f4cffcacd219b758354"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
+ "comment": "source reference: 511a08c03c1960e08a883f4cffcacd219b758354"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "511a08c03c1960e08a883f4cffcacd219b758354"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "511a08c03c1960e08a883f4cffcacd219b758354"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/polyfill-intl-idn-1.27.0.0",
+ "type": "library",
+ "name": "polyfill-intl-idn",
+ "version": "v1.27.0",
+ "group": "symfony",
+ "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions",
+ "author": "Laurent Bassin, Trevor Rowbotham, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/polyfill-intl-idn@v1.27.0",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/639084e360537a19f9ee352433b84ce831f3d2da",
+ "comment": "dist reference: 639084e360537a19f9ee352433b84ce831f3d2da"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/polyfill-intl-idn.git",
+ "comment": "source reference: 639084e360537a19f9ee352433b84ce831f3d2da"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/polyfill-intl-idn/tree/v1.27.0",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "639084e360537a19f9ee352433b84ce831f3d2da"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "639084e360537a19f9ee352433b84ce831f3d2da"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/polyfill-intl-normalizer-1.27.0.0",
+ "type": "library",
+ "name": "polyfill-intl-normalizer",
+ "version": "v1.27.0",
+ "group": "symfony",
+ "description": "Symfony polyfill for intl's Normalizer class and related functions",
+ "author": "Nicolas Grekas, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/polyfill-intl-normalizer@v1.27.0",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6",
+ "comment": "dist reference: 19bd1e4fcd5b91116f14d8533c57831ed00571b6"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
+ "comment": "source reference: 19bd1e4fcd5b91116f14d8533c57831ed00571b6"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "19bd1e4fcd5b91116f14d8533c57831ed00571b6"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "19bd1e4fcd5b91116f14d8533c57831ed00571b6"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/polyfill-mbstring-1.27.0.0",
+ "type": "library",
+ "name": "polyfill-mbstring",
+ "version": "v1.27.0",
+ "group": "symfony",
+ "description": "Symfony polyfill for the Mbstring extension",
+ "author": "Nicolas Grekas, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/polyfill-mbstring@v1.27.0",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
+ "comment": "dist reference: 8ad114f6b39e2c98a8b0e3bd907732c207c2b534"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/polyfill-mbstring.git",
+ "comment": "source reference: 8ad114f6b39e2c98a8b0e3bd907732c207c2b534"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/polyfill-php72-1.27.0.0",
+ "type": "library",
+ "name": "polyfill-php72",
+ "version": "v1.27.0",
+ "group": "symfony",
+ "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
+ "author": "Nicolas Grekas, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/polyfill-php72@v1.27.0",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97",
+ "comment": "dist reference: 869329b1e9894268a8a61dabb69153029b7a8c97"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/polyfill-php72.git",
+ "comment": "source reference: 869329b1e9894268a8a61dabb69153029b7a8c97"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/polyfill-php72/tree/v1.27.0",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "869329b1e9894268a8a61dabb69153029b7a8c97"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "869329b1e9894268a8a61dabb69153029b7a8c97"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/polyfill-php73-1.27.0.0",
+ "type": "library",
+ "name": "polyfill-php73",
+ "version": "v1.27.0",
+ "group": "symfony",
+ "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
+ "author": "Nicolas Grekas, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/polyfill-php73@v1.27.0",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/9e8ecb5f92152187c4799efd3c96b78ccab18ff9",
+ "comment": "dist reference: 9e8ecb5f92152187c4799efd3c96b78ccab18ff9"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/polyfill-php73.git",
+ "comment": "source reference: 9e8ecb5f92152187c4799efd3c96b78ccab18ff9"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/polyfill-php73/tree/v1.27.0",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/polyfill-php80-1.27.0.0",
+ "type": "library",
+ "name": "polyfill-php80",
+ "version": "v1.27.0",
+ "group": "symfony",
+ "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
+ "author": "Ion Bazan, Nicolas Grekas, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/polyfill-php80@v1.27.0",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
+ "comment": "dist reference: 7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/polyfill-php80.git",
+ "comment": "source reference: 7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/polyfill-php80/tree/v1.27.0",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/polyfill-php81-1.27.0.0",
+ "type": "library",
+ "name": "polyfill-php81",
+ "version": "v1.27.0",
+ "group": "symfony",
+ "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
+ "author": "Nicolas Grekas, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/polyfill-php81@v1.27.0",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a",
+ "comment": "dist reference: 707403074c8ea6e2edaf8794b0157a0bfa52157a"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/polyfill-php81.git",
+ "comment": "source reference: 707403074c8ea6e2edaf8794b0157a0bfa52157a"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/polyfill-php81/tree/v1.27.0",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "707403074c8ea6e2edaf8794b0157a0bfa52157a"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "707403074c8ea6e2edaf8794b0157a0bfa52157a"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/process-5.4.11.0",
+ "type": "library",
+ "name": "process",
+ "version": "v5.4.11",
+ "group": "symfony",
+ "description": "Executes commands in sub-processes",
+ "author": "Fabien Potencier, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/process@v5.4.11",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/process/zipball/6e75fe6874cbc7e4773d049616ab450eff537bf1",
+ "comment": "dist reference: 6e75fe6874cbc7e4773d049616ab450eff537bf1"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/process.git",
+ "comment": "source reference: 6e75fe6874cbc7e4773d049616ab450eff537bf1"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/process/tree/v5.4.11",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "6e75fe6874cbc7e4773d049616ab450eff537bf1"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "6e75fe6874cbc7e4773d049616ab450eff537bf1"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/routing-5.4.15.0",
+ "type": "library",
+ "name": "routing",
+ "version": "v5.4.15",
+ "group": "symfony",
+ "description": "Maps an HTTP request to a set of configuration variables",
+ "author": "Fabien Potencier, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/routing@v5.4.15",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/5c9b129efe9abce9470e384bf65d8a7e262eee69",
+ "comment": "dist reference: 5c9b129efe9abce9470e384bf65d8a7e262eee69"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/routing.git",
+ "comment": "source reference: 5c9b129efe9abce9470e384bf65d8a7e262eee69"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/routing/tree/v5.4.15",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "5c9b129efe9abce9470e384bf65d8a7e262eee69"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "5c9b129efe9abce9470e384bf65d8a7e262eee69"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/service-contracts-2.5.2.0",
+ "type": "library",
+ "name": "service-contracts",
+ "version": "v2.5.2",
+ "group": "symfony",
+ "description": "Generic abstractions related to writing services",
+ "author": "Nicolas Grekas, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/service-contracts@v2.5.2",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
+ "comment": "dist reference: 4b426aac47d6427cc1a1d0f7e2ac724627f5966c"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/service-contracts.git",
+ "comment": "source reference: 4b426aac47d6427cc1a1d0f7e2ac724627f5966c"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/service-contracts/tree/v2.5.2",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/string-5.4.15.0",
+ "type": "library",
+ "name": "string",
+ "version": "v5.4.15",
+ "group": "symfony",
+ "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way",
+ "author": "Nicolas Grekas, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/string@v5.4.15",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/string/zipball/571334ce9f687e3e6af72db4d3b2a9431e4fd9ed",
+ "comment": "dist reference: 571334ce9f687e3e6af72db4d3b2a9431e4fd9ed"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/string.git",
+ "comment": "source reference: 571334ce9f687e3e6af72db4d3b2a9431e4fd9ed"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/string/tree/v5.4.15",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "571334ce9f687e3e6af72db4d3b2a9431e4fd9ed"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "571334ce9f687e3e6af72db4d3b2a9431e4fd9ed"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/translation-5.4.14.0",
+ "type": "library",
+ "name": "translation",
+ "version": "v5.4.14",
+ "group": "symfony",
+ "description": "Provides tools to internationalize your application",
+ "author": "Fabien Potencier, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/translation@v5.4.14",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/f0ed07675863aa6e3939df8b1bc879450b585cab",
+ "comment": "dist reference: f0ed07675863aa6e3939df8b1bc879450b585cab"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/translation.git",
+ "comment": "source reference: f0ed07675863aa6e3939df8b1bc879450b585cab"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/translation/tree/v5.4.14",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "f0ed07675863aa6e3939df8b1bc879450b585cab"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "f0ed07675863aa6e3939df8b1bc879450b585cab"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/translation-contracts-2.5.2.0",
+ "type": "library",
+ "name": "translation-contracts",
+ "version": "v2.5.2",
+ "group": "symfony",
+ "description": "Generic abstractions related to translation",
+ "author": "Nicolas Grekas, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/translation-contracts@v2.5.2",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/136b19dd05cdf0709db6537d058bcab6dd6e2dbe",
+ "comment": "dist reference: 136b19dd05cdf0709db6537d058bcab6dd6e2dbe"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/translation-contracts.git",
+ "comment": "source reference: 136b19dd05cdf0709db6537d058bcab6dd6e2dbe"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/translation-contracts/tree/v2.5.2",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "symfony/var-dumper-5.4.14.0",
+ "type": "library",
+ "name": "var-dumper",
+ "version": "v5.4.14",
+ "group": "symfony",
+ "description": "Provides mechanisms for walking through any arbitrary PHP variable",
+ "author": "Nicolas Grekas, Symfony Community",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/symfony/var-dumper@v5.4.14",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/6894d06145fefebd9a4c7272baa026a1c394a430",
+ "comment": "dist reference: 6894d06145fefebd9a4c7272baa026a1c394a430"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/var-dumper.git",
+ "comment": "source reference: 6894d06145fefebd9a4c7272baa026a1c394a430"
+ },
+ {
+ "type": "website",
+ "url": "https://symfony.com",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/symfony/var-dumper/tree/v5.4.14",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "6894d06145fefebd9a4c7272baa026a1c394a430"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "6894d06145fefebd9a4c7272baa026a1c394a430"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "tijsverkoyen/css-to-inline-styles-2.2.5.0",
+ "type": "library",
+ "name": "css-to-inline-styles",
+ "version": "2.2.5",
+ "group": "tijsverkoyen",
+ "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.",
+ "author": "Tijs Verkoyen",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/tijsverkoyen/css-to-inline-styles@2.2.5",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/4348a3a06651827a27d989ad1d13efec6bb49b19",
+ "comment": "dist reference: 4348a3a06651827a27d989ad1d13efec6bb49b19"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git",
+ "comment": "source reference: 4348a3a06651827a27d989ad1d13efec6bb49b19"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/tijsverkoyen/CssToInlineStyles",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/tijsverkoyen/CssToInlineStyles/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.5",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "4348a3a06651827a27d989ad1d13efec6bb49b19"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "4348a3a06651827a27d989ad1d13efec6bb49b19"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "vlucas/phpdotenv-4.3.0.0",
+ "type": "library",
+ "name": "phpdotenv",
+ "version": "v4.3.0",
+ "group": "vlucas",
+ "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.",
+ "author": "Graham Campbell, Vance Lucas",
+ "licenses": [
+ {
+ "license": {
+ "id": "BSD-3-Clause",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/vlucas/phpdotenv@v4.3.0",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/67a491df68208bef8c37092db11fa3885008efcf",
+ "comment": "dist reference: 67a491df68208bef8c37092db11fa3885008efcf"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/vlucas/phpdotenv.git",
+ "comment": "source reference: 67a491df68208bef8c37092db11fa3885008efcf"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/vlucas/phpdotenv/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/vlucas/phpdotenv/tree/v4.3.0",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "67a491df68208bef8c37092db11fa3885008efcf"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "67a491df68208bef8c37092db11fa3885008efcf"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "voku/portable-ascii-1.6.1.0",
+ "type": "library",
+ "name": "portable-ascii",
+ "version": "1.6.1",
+ "group": "voku",
+ "description": "Portable ASCII library - performance optimized (ascii) string functions for php.",
+ "author": "Lars Moelleken",
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/voku/portable-ascii@1.6.1",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://api.github.com/repos/voku/portable-ascii/zipball/87337c91b9dfacee02452244ee14ab3c43bc485a",
+ "comment": "dist reference: 87337c91b9dfacee02452244ee14ab3c43bc485a"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/voku/portable-ascii.git",
+ "comment": "source reference: 87337c91b9dfacee02452244ee14ab3c43bc485a"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/voku/portable-ascii",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/voku/portable-ascii/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/voku/portable-ascii/tree/1.6.1",
+ "comment": "as detected from Composer manifest 'support.source'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "87337c91b9dfacee02452244ee14ab3c43bc485a"
+ },
+ {
+ "name": "cdx:composer:package:sourceReference",
+ "value": "87337c91b9dfacee02452244ee14ab3c43bc485a"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "asm89/stack-cors-1.3.0.0",
+ "dependsOn": [
+ "symfony/http-foundation-5.4.16.0",
+ "symfony/http-kernel-5.4.16.0"
+ ]
+ },
+ {
+ "ref": "brick/math-0.9.3.0"
+ },
+ {
+ "ref": "doctrine/inflector-2.0.6.0"
+ },
+ {
+ "ref": "doctrine/lexer-1.2.3.0"
+ },
+ {
+ "ref": "dragonmantank/cron-expression-2.3.1.0"
+ },
+ {
+ "ref": "egulias/email-validator-2.1.25.0",
+ "dependsOn": [
+ "doctrine/lexer-1.2.3.0",
+ "symfony/polyfill-intl-idn-1.27.0.0"
+ ]
+ },
+ {
+ "ref": "fideloper/proxy-4.4.2.0"
+ },
+ {
+ "ref": "fruitcake/laravel-cors-1.0.6.0",
+ "dependsOn": [
+ "asm89/stack-cors-1.3.0.0",
+ "symfony/http-foundation-5.4.16.0",
+ "symfony/http-kernel-5.4.16.0"
+ ]
+ },
+ {
+ "ref": "guzzlehttp/guzzle-6.5.8.0",
+ "dependsOn": [
+ "guzzlehttp/promises-1.5.2.0",
+ "guzzlehttp/psr7-1.9.0.0",
+ "symfony/polyfill-intl-idn-1.27.0.0"
+ ]
+ },
+ {
+ "ref": "guzzlehttp/promises-1.5.2.0"
+ },
+ {
+ "ref": "guzzlehttp/psr7-1.9.0.0",
+ "dependsOn": [
+ "psr/http-message-1.0.1.0",
+ "ralouphie/getallheaders-3.0.3.0"
+ ]
+ },
+ {
+ "ref": "laravel/framework-7.30.6.0",
+ "dependsOn": [
+ "doctrine/inflector-2.0.6.0",
+ "dragonmantank/cron-expression-2.3.1.0",
+ "egulias/email-validator-2.1.25.0",
+ "league/commonmark-1.6.7.0",
+ "league/flysystem-1.1.10.0",
+ "monolog/monolog-2.8.0.0",
+ "nesbot/carbon-2.63.0.0",
+ "opis/closure-3.6.3.0",
+ "psr/container-1.1.1.0",
+ "psr/simple-cache-1.0.1.0",
+ "ramsey/uuid-4.2.3.0",
+ "swiftmailer/swiftmailer-6.3.0.0",
+ "symfony/console-5.4.16.0",
+ "symfony/error-handler-5.4.15.0",
+ "symfony/finder-5.4.11.0",
+ "symfony/http-foundation-5.4.16.0",
+ "symfony/http-kernel-5.4.16.0",
+ "symfony/mime-5.4.16.0",
+ "symfony/polyfill-php73-1.27.0.0",
+ "symfony/process-5.4.11.0",
+ "symfony/routing-5.4.15.0",
+ "symfony/var-dumper-5.4.14.0",
+ "tijsverkoyen/css-to-inline-styles-2.2.5.0",
+ "vlucas/phpdotenv-4.3.0.0",
+ "voku/portable-ascii-1.6.1.0"
+ ]
+ },
+ {
+ "ref": "laravel/laravel-7.12.0.0",
+ "dependsOn": [
+ "fideloper/proxy-4.4.2.0",
+ "fruitcake/laravel-cors-1.0.6.0",
+ "guzzlehttp/guzzle-6.5.8.0",
+ "laravel/framework-7.30.6.0",
+ "laravel/tinker-2.7.3.0"
+ ]
+ },
+ {
+ "ref": "laravel/tinker-2.7.3.0",
+ "dependsOn": [
+ "psy/psysh-0.11.9.0",
+ "symfony/var-dumper-5.4.14.0"
+ ]
+ },
+ {
+ "ref": "league/commonmark-1.6.7.0"
+ },
+ {
+ "ref": "league/flysystem-1.1.10.0",
+ "dependsOn": [
+ "league/mime-type-detection-1.11.0.0"
+ ]
+ },
+ {
+ "ref": "league/mime-type-detection-1.11.0.0"
+ },
+ {
+ "ref": "monolog/monolog-2.8.0.0",
+ "dependsOn": [
+ "psr/log-1.1.4.0"
+ ]
+ },
+ {
+ "ref": "nesbot/carbon-2.63.0.0",
+ "dependsOn": [
+ "symfony/polyfill-mbstring-1.27.0.0",
+ "symfony/polyfill-php80-1.27.0.0",
+ "symfony/translation-5.4.14.0"
+ ]
+ },
+ {
+ "ref": "nikic/php-parser-4.15.2.0"
+ },
+ {
+ "ref": "opis/closure-3.6.3.0"
+ },
+ {
+ "ref": "phpoption/phpoption-1.9.0.0"
+ },
+ {
+ "ref": "psr/container-1.1.1.0"
+ },
+ {
+ "ref": "psr/event-dispatcher-1.0.0.0"
+ },
+ {
+ "ref": "psr/http-message-1.0.1.0"
+ },
+ {
+ "ref": "psr/log-1.1.4.0"
+ },
+ {
+ "ref": "psr/simple-cache-1.0.1.0"
+ },
+ {
+ "ref": "psy/psysh-0.11.9.0",
+ "dependsOn": [
+ "nikic/php-parser-4.15.2.0",
+ "symfony/console-5.4.16.0",
+ "symfony/var-dumper-5.4.14.0"
+ ]
+ },
+ {
+ "ref": "ralouphie/getallheaders-3.0.3.0"
+ },
+ {
+ "ref": "ramsey/collection-1.2.2.0",
+ "dependsOn": [
+ "symfony/polyfill-php81-1.27.0.0"
+ ]
+ },
+ {
+ "ref": "ramsey/uuid-4.2.3.0",
+ "dependsOn": [
+ "brick/math-0.9.3.0",
+ "ramsey/collection-1.2.2.0",
+ "symfony/polyfill-ctype-1.27.0.0",
+ "symfony/polyfill-php80-1.27.0.0"
+ ]
+ },
+ {
+ "ref": "swiftmailer/swiftmailer-6.3.0.0",
+ "dependsOn": [
+ "egulias/email-validator-2.1.25.0",
+ "symfony/polyfill-iconv-1.27.0.0",
+ "symfony/polyfill-intl-idn-1.27.0.0",
+ "symfony/polyfill-mbstring-1.27.0.0"
+ ]
+ },
+ {
+ "ref": "symfony/console-5.4.16.0",
+ "dependsOn": [
+ "symfony/deprecation-contracts-2.5.2.0",
+ "symfony/polyfill-mbstring-1.27.0.0",
+ "symfony/polyfill-php73-1.27.0.0",
+ "symfony/polyfill-php80-1.27.0.0",
+ "symfony/service-contracts-2.5.2.0",
+ "symfony/string-5.4.15.0"
+ ]
+ },
+ {
+ "ref": "symfony/css-selector-5.4.11.0",
+ "dependsOn": [
+ "symfony/polyfill-php80-1.27.0.0"
+ ]
+ },
+ {
+ "ref": "symfony/deprecation-contracts-2.5.2.0"
+ },
+ {
+ "ref": "symfony/error-handler-5.4.15.0",
+ "dependsOn": [
+ "psr/log-1.1.4.0",
+ "symfony/var-dumper-5.4.14.0"
+ ]
+ },
+ {
+ "ref": "symfony/event-dispatcher-5.4.9.0",
+ "dependsOn": [
+ "symfony/deprecation-contracts-2.5.2.0",
+ "symfony/event-dispatcher-contracts-2.5.2.0",
+ "symfony/polyfill-php80-1.27.0.0"
+ ]
+ },
+ {
+ "ref": "symfony/event-dispatcher-contracts-2.5.2.0",
+ "dependsOn": [
+ "psr/event-dispatcher-1.0.0.0"
+ ]
+ },
+ {
+ "ref": "symfony/finder-5.4.11.0",
+ "dependsOn": [
+ "symfony/deprecation-contracts-2.5.2.0",
+ "symfony/polyfill-php80-1.27.0.0"
+ ]
+ },
+ {
+ "ref": "symfony/http-foundation-5.4.16.0",
+ "dependsOn": [
+ "symfony/deprecation-contracts-2.5.2.0",
+ "symfony/polyfill-mbstring-1.27.0.0",
+ "symfony/polyfill-php80-1.27.0.0"
+ ]
+ },
+ {
+ "ref": "symfony/http-kernel-5.4.16.0",
+ "dependsOn": [
+ "psr/log-1.1.4.0",
+ "symfony/deprecation-contracts-2.5.2.0",
+ "symfony/error-handler-5.4.15.0",
+ "symfony/event-dispatcher-5.4.9.0",
+ "symfony/http-foundation-5.4.16.0",
+ "symfony/polyfill-ctype-1.27.0.0",
+ "symfony/polyfill-php73-1.27.0.0",
+ "symfony/polyfill-php80-1.27.0.0"
+ ]
+ },
+ {
+ "ref": "symfony/mime-5.4.16.0",
+ "dependsOn": [
+ "symfony/deprecation-contracts-2.5.2.0",
+ "symfony/polyfill-intl-idn-1.27.0.0",
+ "symfony/polyfill-mbstring-1.27.0.0",
+ "symfony/polyfill-php80-1.27.0.0"
+ ]
+ },
+ {
+ "ref": "symfony/polyfill-ctype-1.27.0.0"
+ },
+ {
+ "ref": "symfony/polyfill-iconv-1.27.0.0"
+ },
+ {
+ "ref": "symfony/polyfill-intl-grapheme-1.27.0.0"
+ },
+ {
+ "ref": "symfony/polyfill-intl-idn-1.27.0.0",
+ "dependsOn": [
+ "symfony/polyfill-intl-normalizer-1.27.0.0",
+ "symfony/polyfill-php72-1.27.0.0"
+ ]
+ },
+ {
+ "ref": "symfony/polyfill-intl-normalizer-1.27.0.0"
+ },
+ {
+ "ref": "symfony/polyfill-mbstring-1.27.0.0"
+ },
+ {
+ "ref": "symfony/polyfill-php72-1.27.0.0"
+ },
+ {
+ "ref": "symfony/polyfill-php73-1.27.0.0"
+ },
+ {
+ "ref": "symfony/polyfill-php80-1.27.0.0"
+ },
+ {
+ "ref": "symfony/polyfill-php81-1.27.0.0"
+ },
+ {
+ "ref": "symfony/process-5.4.11.0",
+ "dependsOn": [
+ "symfony/polyfill-php80-1.27.0.0"
+ ]
+ },
+ {
+ "ref": "symfony/routing-5.4.15.0",
+ "dependsOn": [
+ "symfony/deprecation-contracts-2.5.2.0",
+ "symfony/polyfill-php80-1.27.0.0"
+ ]
+ },
+ {
+ "ref": "symfony/service-contracts-2.5.2.0",
+ "dependsOn": [
+ "psr/container-1.1.1.0",
+ "symfony/deprecation-contracts-2.5.2.0"
+ ]
+ },
+ {
+ "ref": "symfony/string-5.4.15.0",
+ "dependsOn": [
+ "symfony/polyfill-ctype-1.27.0.0",
+ "symfony/polyfill-intl-grapheme-1.27.0.0",
+ "symfony/polyfill-intl-normalizer-1.27.0.0",
+ "symfony/polyfill-mbstring-1.27.0.0",
+ "symfony/polyfill-php80-1.27.0.0"
+ ]
+ },
+ {
+ "ref": "symfony/translation-5.4.14.0",
+ "dependsOn": [
+ "symfony/deprecation-contracts-2.5.2.0",
+ "symfony/polyfill-mbstring-1.27.0.0",
+ "symfony/polyfill-php80-1.27.0.0",
+ "symfony/translation-contracts-2.5.2.0"
+ ]
+ },
+ {
+ "ref": "symfony/translation-contracts-2.5.2.0"
+ },
+ {
+ "ref": "symfony/var-dumper-5.4.14.0",
+ "dependsOn": [
+ "symfony/polyfill-mbstring-1.27.0.0",
+ "symfony/polyfill-php80-1.27.0.0"
+ ]
+ },
+ {
+ "ref": "tijsverkoyen/css-to-inline-styles-2.2.5.0",
+ "dependsOn": [
+ "symfony/css-selector-5.4.11.0"
+ ]
+ },
+ {
+ "ref": "vlucas/phpdotenv-4.3.0.0",
+ "dependsOn": [
+ "phpoption/phpoption-1.9.0.0",
+ "symfony/polyfill-ctype-1.27.0.0"
+ ]
+ },
+ {
+ "ref": "voku/portable-ascii-1.6.1.0"
+ },
+ {
+ "ref": "cyclonedx/cyclonedx-php-composer-demo-dev-master",
+ "dependsOn": [
+ "laravel/laravel-7.12.0.0"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/demo/laravel-7.12.0/results/bom.1.7.xml b/demo/laravel-7.12.0/results/bom.1.7.xml
new file mode 100644
index 00000000..f7536412
--- /dev/null
+++ b/demo/laravel-7.12.0/results/bom.1.7.xml
@@ -0,0 +1,2530 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/demo/local/README.md b/demo/local/README.md
index 056eec54..47250af1 100644
--- a/demo/local/README.md
+++ b/demo/local/README.md
@@ -9,10 +9,14 @@ This is a demo of how locally hosted/located requirements are treated.
* [`results/bom.1.3.xml`](results/bom.1.3.xml)
* [`results/bom.1.4.xml`](results/bom.1.4.xml)
* [`results/bom.1.5.xml`](results/bom.1.5.xml)
+* [`results/bom.1.6.xml`](results/bom.1.6.xml)
+* [`results/bom.1.7.xml`](results/bom.1.7.xml)
* [`results/bom.1.2.json`](results/bom.1.2.json)
* [`results/bom.1.3.json`](results/bom.1.3.json)
* [`results/bom.1.4.json`](results/bom.1.4.json)
* [`results/bom.1.5.json`](results/bom.1.5.json)
+* [`results/bom.1.6.json`](results/bom.1.6.json)
+* [`results/bom.1.7.json`](results/bom.1.7.json)
## Setup
diff --git a/demo/local/project/composer.json b/demo/local/project/composer.json
index ee5de549..1b442144 100644
--- a/demo/local/project/composer.json
+++ b/demo/local/project/composer.json
@@ -50,6 +50,7 @@
"@putenv CDX_CP_TOOLS_VERSION_OVERRIDE=in-dev",
"@putenv CDX_CP_TOOLS_EXCLUDE_LIBS=1",
"@putenv CDX_CP_TOOLS_EXCLUDE_COMPOSER=1",
+ "@composer -d ../../.tool CycloneDX:make-sbom --omit=dev --validate --spec-version=1.7 --output-reproducible --output-format=JSON --output-file=$PWD/../results/bom.1.7.json $PWD/composer.json",
"@composer -d ../../.tool CycloneDX:make-sbom --omit=dev --validate --spec-version=1.6 --output-reproducible --output-format=JSON --output-file=$PWD/../results/bom.1.6.json $PWD/composer.json",
"@composer -d ../../.tool CycloneDX:make-sbom --omit=dev --validate --spec-version=1.5 --output-reproducible --output-format=JSON --output-file=$PWD/../results/bom.1.5.json $PWD/composer.json",
"@composer -d ../../.tool CycloneDX:make-sbom --omit=dev --validate --spec-version=1.4 --output-reproducible --output-format=JSON --output-file=$PWD/../results/bom.1.4.json $PWD/composer.json",
@@ -60,6 +61,7 @@
"@putenv CDX_CP_TOOLS_VERSION_OVERRIDE=in-dev",
"@putenv CDX_CP_TOOLS_EXCLUDE_LIBS=1",
"@putenv CDX_CP_TOOLS_EXCLUDE_COMPOSER=1",
+ "@composer -d ../../.tool CycloneDX:make-sbom --omit=dev --validate --spec-version=1.7 --output-reproducible --output-format=XML --output-file=$PWD/../results/bom.1.7.xml $PWD/composer.json",
"@composer -d ../../.tool CycloneDX:make-sbom --omit=dev --validate --spec-version=1.6 --output-reproducible --output-format=XML --output-file=$PWD/../results/bom.1.6.xml $PWD/composer.json",
"@composer -d ../../.tool CycloneDX:make-sbom --omit=dev --validate --spec-version=1.5 --output-reproducible --output-format=XML --output-file=$PWD/../results/bom.1.5.xml $PWD/composer.json",
"@composer -d ../../.tool CycloneDX:make-sbom --omit=dev --validate --spec-version=1.4 --output-reproducible --output-format=XML --output-file=$PWD/../results/bom.1.4.xml $PWD/composer.json",
diff --git a/demo/local/results/bom.1.7.json b/demo/local/results/bom.1.7.json
new file mode 100644
index 00000000..14bda180
--- /dev/null
+++ b/demo/local/results/bom.1.7.json
@@ -0,0 +1,199 @@
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.7",
+ "version": 1,
+ "metadata": {
+ "tools": [
+ {
+ "vendor": "cyclonedx",
+ "name": "cyclonedx-php-composer",
+ "version": "in-dev"
+ }
+ ],
+ "component": {
+ "bom-ref": "cyclonedx-demo/cyclonedx-php-composer-local-dev-master",
+ "type": "application",
+ "name": "cyclonedx-php-composer-local",
+ "version": "dev-master",
+ "group": "cyclonedx-demo",
+ "description": "demo of cyclonedx/cyclonedx-php-composer with a local dependency",
+ "author": "Jan Kowalleck",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/cyclonedx-demo/cyclonedx-php-composer-local@dev-master",
+ "externalReferences": [
+ {
+ "type": "website",
+ "url": "https://cyclonedx.org/",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "other",
+ "url": "support@cyclonedx.org",
+ "comment": "as detected from Composer manifest 'support.email'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/CycloneDX/cyclonedx-php-composer/issues",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ },
+ {
+ "type": "other",
+ "url": "https://groups.io/g/CycloneDX",
+ "comment": "as detected from Composer manifest 'support.forum'"
+ },
+ {
+ "type": "chat",
+ "url": "https://cyclonedx.org/slack/invite",
+ "comment": "as detected from Composer manifest 'support.chat'"
+ },
+ {
+ "type": "documentation",
+ "url": "https://github.com/CycloneDX/cyclonedx-php-composer/blob/master/demo/local/README.md",
+ "comment": "as detected from Composer manifest 'support.docs'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:type",
+ "value": "project"
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "bom-ref": "cyclonedx-demo/local-demo-dependency-1.33.7.0",
+ "type": "library",
+ "name": "local-demo-dependency",
+ "version": "1.33.7",
+ "group": "cyclonedx-demo",
+ "description": "a package that is hosted locally and required in a local demo",
+ "author": "Jan Kowalleck",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/cyclonedx-demo/local-demo-dependency@1.33.7",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "packages/local-demo-dependency",
+ "comment": "dist reference: 0f3c3d45329014fcb6a18e73f975008b7eee0c90"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "0f3c3d45329014fcb6a18e73f975008b7eee0c90"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "cyclonedx-demo/local-demo-issue-158-dev-issue-158",
+ "type": "library",
+ "name": "local-demo-issue-158",
+ "version": "dev-issue-158",
+ "group": "cyclonedx-demo",
+ "description": "a package that reproduces issue#158",
+ "author": "Jan Kowalleck",
+ "licenses": [
+ {
+ "license": {
+ "id": "Apache-2.0",
+ "acknowledgement": "declared"
+ }
+ }
+ ],
+ "purl": "pkg:composer/cyclonedx-demo/local-demo-issue-158@dev-issue-158",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "packages/local-demo-issue-158",
+ "comment": "dist reference: 0a81eb04585ab16145687d0d324871413132ffcc"
+ },
+ {
+ "type": "website",
+ "url": "https://github.com/CycloneDX/cyclonedx-php-composer/issues/158",
+ "comment": "as detected from Composer manifest 'homepage'"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://pear.php.net/bugs/search.php?cmd=display&package_name%5B%5D=PEAR_Exception",
+ "comment": "as detected from Composer manifest 'support.issues'"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "0a81eb04585ab16145687d0d324871413132ffcc"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ },
+ {
+ "bom-ref": "cyclonedx-demo/local-dependency-with-minimal-setup-dev-feat/license-acknowledgement",
+ "type": "library",
+ "name": "local-dependency-with-minimal-setup",
+ "version": "dev-feat/license-acknowledgement",
+ "group": "cyclonedx-demo",
+ "purl": "pkg:composer/cyclonedx-demo/local-dependency-with-minimal-setup@dev-feat/license-acknowledgement",
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "packages/local-dependency-with-minimal-setup",
+ "comment": "dist reference: 5cdadb5ab51e8009613e68c49f8d07fcd512da78"
+ }
+ ],
+ "properties": [
+ {
+ "name": "cdx:composer:package:distReference",
+ "value": "5cdadb5ab51e8009613e68c49f8d07fcd512da78"
+ },
+ {
+ "name": "cdx:composer:package:type",
+ "value": "library"
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "cyclonedx-demo/local-demo-dependency-1.33.7.0",
+ "dependsOn": [
+ "cyclonedx-demo/local-dependency-with-minimal-setup-dev-feat/license-acknowledgement"
+ ]
+ },
+ {
+ "ref": "cyclonedx-demo/local-demo-issue-158-dev-issue-158"
+ },
+ {
+ "ref": "cyclonedx-demo/local-dependency-with-minimal-setup-dev-feat/license-acknowledgement"
+ },
+ {
+ "ref": "cyclonedx-demo/cyclonedx-php-composer-local-dev-master",
+ "dependsOn": [
+ "cyclonedx-demo/local-demo-dependency-1.33.7.0",
+ "cyclonedx-demo/local-demo-issue-158-dev-issue-158"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/demo/local/results/bom.1.7.xml b/demo/local/results/bom.1.7.xml
new file mode 100644
index 00000000..b9951781
--- /dev/null
+++ b/demo/local/results/bom.1.7.xml
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/demo/symfony/example-results/bom.json b/demo/symfony/example-results/bom.json
index 9dd28fb1..85d24d4d 100644
--- a/demo/symfony/example-results/bom.json
+++ b/demo/symfony/example-results/bom.json
@@ -2,24 +2,24 @@
"$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json",
"bomFormat": "CycloneDX",
"specVersion": "1.6",
- "serialNumber": "urn:uuid:752eaa36-0cec-48cd-9a6c-65236f588efd",
+ "serialNumber": "urn:uuid:6b4c68e2-f04e-4af6-af4a-bbcf8965c805",
"version": 1,
"metadata": {
- "timestamp": "2024-04-29T12:26:02Z",
+ "timestamp": "2025-10-24T13:24:52Z",
"tools": [
{
"name": "composer",
- "version": "2.7.4"
+ "version": "2.8.12"
},
{
"vendor": "cyclonedx",
"name": "cyclonedx-php-composer",
- "version": "4.x-dev",
+ "version": "5.x-dev",
"externalReferences": [
{
"type": "distribution",
"url": "../..",
- "comment": "dist reference: 88cf1cf6c9034567cbcf9fcd776c71aeed6c35a8"
+ "comment": "dist reference: 346194aeb64639d0c587257cc9c91a7b950a426a"
},
{
"type": "website",
@@ -41,17 +41,17 @@
{
"vendor": "cyclonedx",
"name": "cyclonedx-library",
- "version": "v3.3.0",
+ "version": "v3.8.0",
"externalReferences": [
{
"type": "distribution",
- "url": "https://api.github.com/repos/CycloneDX/cyclonedx-php-library/zipball/34fb57c387abe57d3926e05511475ed4a04c1ed7",
- "comment": "dist reference: 34fb57c387abe57d3926e05511475ed4a04c1ed7"
+ "url": "https://api.github.com/repos/CycloneDX/cyclonedx-php-library/zipball/0c6fdbc1241d9435426eef0ce45ed7fb6a9a1c9f",
+ "comment": "dist reference: 0c6fdbc1241d9435426eef0ce45ed7fb6a9a1c9f"
},
{
"type": "vcs",
"url": "https://github.com/CycloneDX/cyclonedx-php-library.git",
- "comment": "source reference: 34fb57c387abe57d3926e05511475ed4a04c1ed7"
+ "comment": "source reference: 0c6fdbc1241d9435426eef0ce45ed7fb6a9a1c9f"
},
{
"type": "website",
@@ -96,11 +96,11 @@
"properties": [
{
"name": "cdx:composer:package:distReference",
- "value": "d03acdc46afe71026f767cbf6a2c42b1ed5e4001"
+ "value": "779a263523245868e6f1446d345910446289e5b9"
},
{
"name": "cdx:composer:package:sourceReference",
- "value": "d03acdc46afe71026f767cbf6a2c42b1ed5e4001"
+ "value": "779a263523245868e6f1446d345910446289e5b9"
},
{
"name": "cdx:composer:package:type",
diff --git a/demo/symfony/example-results/bom.xml b/demo/symfony/example-results/bom.xml
index 0d03750c..80fdd6a9 100644
--- a/demo/symfony/example-results/bom.xml
+++ b/demo/symfony/example-results/bom.xml
@@ -1,20 +1,20 @@
-
+
-
+
-
+
-
+
-
+
@@ -33,15 +33,15 @@
-
+
-
-
+
+
-
+
@@ -75,8 +75,8 @@
-
-
+
+
diff --git a/src/_internal/MakeBom/Command.php b/src/_internal/MakeBom/Command.php
index 1cf67a6c..96e23cf3 100644
--- a/src/_internal/MakeBom/Command.php
+++ b/src/_internal/MakeBom/Command.php
@@ -27,7 +27,7 @@
use Composer\Factory as ComposerFactory;
use Composer\IO\IOInterface;
use CycloneDX\Core\Serialization;
-use CycloneDX\Core\Spec\Format;
+use CycloneDX\Core\Spec\Format as SpecFormat;
use CycloneDX\Core\Spec\SpecFactory;
use CycloneDX\Core\Utils\BomUtility;
use CycloneDX\Core\Validation\Validator;
@@ -182,8 +182,8 @@ private function generateBom(IOInterface $io, $spec): string
* @psalm-suppress MixedArgumentTypeCoercion -- psalm has issues wth template TSpec for $spec
*/
$serializer = match ($this->options->outputFormat) {
- Format::JSON => new Serialization\JsonSerializer(new Serialization\JSON\NormalizerFactory($spec)),
- Format::XML => new Serialization\XmlSerializer(new Serialization\DOM\NormalizerFactory($spec)),
+ SpecFormat::JSON => new Serialization\JsonSerializer(new Serialization\JSON\NormalizerFactory($spec)),
+ SpecFormat::XML => new Serialization\XmlSerializer(new Serialization\DOM\NormalizerFactory($spec)),
default => throw new DomainException("unsupported format: {$this->options->outputFormat->name}"),
};
$io->writeErrorRaw('using '.$serializer::class, verbosity: IOInterface::DEBUG);
@@ -211,8 +211,8 @@ private function validateBom(string $bom, $spec, IOInterface $io): void
* @psalm-suppress MixedArgumentTypeCoercion -- psalm has issues wth template TSpec for $spec
**/
$validator = match ($this->options->outputFormat) {
- Format::JSON => new Validators\JsonStrictValidator($spec),
- Format::XML => new Validators\XmlValidator($spec),
+ SpecFormat::JSON => new Validators\JsonStrictValidator($spec),
+ SpecFormat::XML => new Validators\XmlValidator($spec),
default => throw new DomainException("unsupported format: {$this->options->outputFormat->name}"),
};
$io->writeErrorRaw('using '.$validator::class, verbosity: IOInterface::DEBUG);
diff --git a/src/_internal/MakeBom/Options.php b/src/_internal/MakeBom/Options.php
index f6821eb7..a6bfb3e0 100644
--- a/src/_internal/MakeBom/Options.php
+++ b/src/_internal/MakeBom/Options.php
@@ -23,8 +23,8 @@
namespace CycloneDX\Composer\_internal\MakeBom;
-use CycloneDX\Core\Spec\Format;
-use CycloneDX\Core\Spec\Version;
+use CycloneDX\Core\Spec\Format as SpecFormat;
+use CycloneDX\Core\Spec\Version as SpecVersion;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputDefinition;
@@ -73,12 +73,11 @@ class Options
* Possible output formats.
* First in list is the default value.
*
- * @psalm-var array
+ * @psalm-var array
*/
private const VALUES_OUTPUT_FORMAT_MAP = [
- 'XML' => Format::XML,
- // first in list is the default value - see constructor
- 'JSON' => Format::JSON,
+ 'JSON' => SpecFormat::JSON,
+ 'XML' => SpecFormat::XML,
];
public const VALUE_OUTPUT_FILE_STDOUT = '-';
@@ -93,22 +92,6 @@ class Options
'plugin',
];
- /**
- * Possible spec versions.
- * First in list is the default value.
- *
- * @psalm-var array
- */
- private const VALUE_SPEC_VERSION_MAP = [
- '1.5' => Version::v1dot5,
- // first in list is the default value - see constructor
- '1.6' => Version::v1dot6,
- '1.4' => Version::v1dot4,
- '1.3' => Version::v1dot3,
- '1.2' => Version::v1dot2,
- '1.1' => Version::v1dot1,
- ];
-
/**
* @param scalar[] $values
*/
@@ -127,6 +110,8 @@ private static function formatChoice(array $values, int $sortFlag = \SORT_STRING
*/
public function getDefinition(): InputDefinition
{
+ $specVersionValues = array_map(fn ($sv) => $sv->value, SpecVersion::cases());
+
return new InputDefinition([
new InputOption(
self::OPTION_OUTPUT_FORMAT,
@@ -159,9 +144,9 @@ public function getDefinition(): InputDefinition
null,
InputOption::VALUE_REQUIRED,
'Which version of CycloneDX spec to use.'.\PHP_EOL.
- self::formatChoice(array_keys(self::VALUE_SPEC_VERSION_MAP), \SORT_NUMERIC),
- array_search($this->specVersion, self::VALUE_SPEC_VERSION_MAP, true),
- array_keys(self::VALUE_SPEC_VERSION_MAP)
+ self::formatChoice($specVersionValues, \SORT_NUMERIC),
+ $this->specVersion->value,
+ $specVersionValues
),
new InputOption(
self::SWITCH_OUTPUT_REPRODUCIBLE,
@@ -201,7 +186,7 @@ public function getDefinition(): InputDefinition
*
* @psalm-allow-private-mutation
*/
- public Version $specVersion;
+ public SpecVersion $specVersion = SpecVersion::v1dot5;
/**
* @readonly
@@ -219,7 +204,7 @@ public function getDefinition(): InputDefinition
*
* @psalm-allow-private-mutation
*/
- public Format $outputFormat;
+ public SpecFormat $outputFormat = SpecFormat::XML;
/**
* @readonly
@@ -262,12 +247,6 @@ public function getDefinition(): InputDefinition
*/
public ?string $mainComponentVersion = null;
- public function __construct()
- {
- $this->outputFormat = self::VALUES_OUTPUT_FORMAT_MAP[array_key_first(self::VALUES_OUTPUT_FORMAT_MAP)];
- $this->specVersion = self::VALUE_SPEC_VERSION_MAP[array_key_first(self::VALUE_SPEC_VERSION_MAP)];
- }
-
/**
* @psalm-return null|non-empty-string
*/
@@ -301,17 +280,18 @@ public function setFromInput(InputInterface $input): static
{
// region get from input
- $specVersion = $input->getOption(self::OPTION_SPEC_VERSION);
- \assert(\is_string($specVersion));
- if (false === \array_key_exists($specVersion, self::VALUE_SPEC_VERSION_MAP)) {
- throw new Errors\OptionError('Invalid value for option "'.self::OPTION_SPEC_VERSION.'": '.$specVersion);
+ $specVersionRaw = $input->getOption(self::OPTION_SPEC_VERSION);
+ \assert(\is_string($specVersionRaw));
+ $specVersion = SpecVersion::tryFrom($specVersionRaw);
+ if (null === $specVersion) {
+ throw new Errors\OptionError('Invalid value for option "'.self::OPTION_SPEC_VERSION.'": '.$specVersionRaw);
}
- $outputFormat = $input->getOption(self::OPTION_OUTPUT_FORMAT);
- \assert(\is_string($outputFormat));
- $outputFormat = strtoupper($outputFormat);
- if (false === \array_key_exists($outputFormat, self::VALUES_OUTPUT_FORMAT_MAP)) {
- throw new Errors\OptionError('Invalid value for option "'.self::OPTION_OUTPUT_FORMAT.'": '.$outputFormat);
+ $outputFormatRaw = $input->getOption(self::OPTION_OUTPUT_FORMAT);
+ \assert(\is_string($outputFormatRaw));
+ $outputFormat = self::VALUES_OUTPUT_FORMAT_MAP[strtoupper($outputFormatRaw)] ?? null;
+ if (null === $outputFormat) {
+ throw new Errors\OptionError('Invalid value for option "'.self::OPTION_OUTPUT_FORMAT.'": '.$outputFormatRaw);
}
$outputFile = $input->getOption(self::OPTION_OUTPUT_FILE);
@@ -338,9 +318,9 @@ public function setFromInput(InputInterface $input): static
// region set state
- $this->specVersion = self::VALUE_SPEC_VERSION_MAP[$specVersion];
$this->omit = array_values(array_intersect(self::VALUES_OMIT, $omit));
- $this->outputFormat = self::VALUES_OUTPUT_FORMAT_MAP[$outputFormat];
+ $this->specVersion = $specVersion;
+ $this->outputFormat = $outputFormat;
$this->outputReproducible = $outputReproducible;
$this->validate = $validate;
$this->outputFile = $outputFile;
diff --git a/tests/Integration/CommandMakeSbomAsExpectedTest.php b/tests/Integration/CommandMakeSbomAsExpectedTest.php
index 5ed96c97..64c42a7a 100644
--- a/tests/Integration/CommandMakeSbomAsExpectedTest.php
+++ b/tests/Integration/CommandMakeSbomAsExpectedTest.php
@@ -27,6 +27,7 @@
use CycloneDX\Composer\_internal\MakeBom\Command;
use CycloneDX\Composer\_internal\MakeBom\Options;
use CycloneDX\Composer\Plugin;
+use CycloneDX\Core\Spec\Version as SpecVersion;
use Generator;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\DataProvider;
@@ -55,14 +56,14 @@ protected function tearDown(): void
}
#[DataProvider('dp')]
- public function test(string $outputFormat, string $specV, string $composeFile, array $omit,
+ public function test(string $outputFormat, SpecVersion $specV, string $composeFile, array $omit,
string $expectedSbomFile): void
{
$outFile = tempnam(sys_get_temp_dir(), 'CommandMakeSbomAsExpectedTest');
$in = new ArrayInput([
'command' => 'CycloneDX:make-sbom',
'--output-format' => $outputFormat,
- '--spec-version' => $specV,
+ '--spec-version' => $specV->value,
'--output-reproducible' => true,
'--validate' => true,
'--output-file' => $outFile,
@@ -86,14 +87,15 @@ public static function dp(): Generator
{
foreach (['devReq', 'laravel-7.12.0', 'local'] as $purpose) {
foreach (['json', 'xml'] as $outputFormat) {
- $specVs = ['1.6', '1.5', '1.4', '1.3', '1.2'];
- if ('xml' === $outputFormat) {
- $specVs[] = '1.1';
+ $specVs = SpecVersion::cases();
+ if ('json' === $outputFormat) {
+ // remove unsupported versions
+ $specVs = array_filter($specVs, fn ($sv) => SpecVersion::v1dot1 !== $sv);
}
foreach ($specVs as $specV) {
$composeFile = self::DEMO_ROOT."/$purpose/project/composer.json";
- $snapshotFile = self::DEMO_ROOT."/$purpose/results/bom.$specV.$outputFormat";
- yield "demo: $purpose $outputFormat $specV" => [
+ $snapshotFile = self::DEMO_ROOT."/$purpose/results/bom.{$specV->value}.$outputFormat";
+ yield "demo: $purpose $outputFormat {$specV->value}" => [
$outputFormat,
$specV,
$composeFile,
diff --git a/tests/Unit/MakeBom/OptionsTest.php b/tests/Unit/MakeBom/OptionsTest.php
index ae21189b..8b3f8cf9 100644
--- a/tests/Unit/MakeBom/OptionsTest.php
+++ b/tests/Unit/MakeBom/OptionsTest.php
@@ -91,16 +91,9 @@ public static function dpProducesOption(): Generator
'--omit=dev --omit plugin --omit invalid-value',
['omit' => ['dev', 'plugin']],
];
- foreach ([
- '1.6' => Version::v1dot6,
- '1.5' => Version::v1dot5,
- '1.4' => Version::v1dot4,
- '1.3' => Version::v1dot3,
- '1.2' => Version::v1dot2,
- '1.1' => Version::v1dot1,
- ] as $specVersionIn => $specVersion) {
- yield "specVersion '$specVersionIn'" => [
- '--spec-version '.escapeshellarg($specVersionIn),
+ foreach (Version::cases() as $specVersion) {
+ yield "specVersion '{$specVersion->value}'" => [
+ '--spec-version '.escapeshellarg($specVersion->value),
['specVersion' => $specVersion],
];
}