From 0b3bb41589d38aff7a1312c90b0dbc9baef5dcd7 Mon Sep 17 00:00:00 2001 From: Jan Kowalleck Date: Thu, 8 Dec 2022 08:57:36 +0100 Subject: [PATCH] Root component's versions unset on undetectable closes #154 Signed-off-by: Jan Kowalleck --- HISTORY.md | 3 +++ src/Builder.php | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/HISTORY.md b/HISTORY.md index 3b010d93..154242fc 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -16,6 +16,8 @@ All notable changes to this project will be documented in this file. * Components' version is no longer artificially normalized ([#102] via [#250]) * Dependencies * Requires `cyclonedx/cyclonedx-library:^2.0`, was `:^1.4.2` ([#128] via [#250]) +* Changed + * Root component's versions is unset, if version detection fails. ([#154] via [#250]) * Added * Support for CycloneDX Spec v1.4 (via [#250]) * CLI @@ -29,6 +31,7 @@ All notable changes to this project will be documented in this file. [#102]: https://github.com/CycloneDX/cyclonedx-php-composer/issues/102 [#128]: https://github.com/CycloneDX/cyclonedx-php-composer/issues/128 [#153]: https://github.com/CycloneDX/cyclonedx-php-composer/issues/153 +[#154]: https://github.com/CycloneDX/cyclonedx-php-composer/issues/154 [#250]: https://github.com/CycloneDX/cyclonedx-php-composer/pull/250 ## 3.10.2 - 2022-09-15 diff --git a/src/Builder.php b/src/Builder.php index e04b6c84..56db572e 100644 --- a/src/Builder.php +++ b/src/Builder.php @@ -26,6 +26,7 @@ use Composer\Composer; use Composer\Package\CompletePackageInterface; use Composer\Package\PackageInterface; +use Composer\Package\RootPackage; use Composer\Package\RootPackageInterface; use CycloneDX\Core\Enums; use CycloneDX\Core\Factories\LicenseFactory; @@ -150,6 +151,10 @@ private function createComponentFromRootPackage(RootPackageInterface $package): { $component = $this->createComponentFromPackage($package, $this->mainComponentVersion); + if (RootPackage::DEFAULT_PRETTY_VERSION === $component->getVersion()) { + $component->setVersion(null); + } + return $component ->setType(Enums\ComponentType::APPLICATION) ->setPackageUrl($this->createPurlFromComponent($component));