diff --git a/src/Application/Processor/Listener/Version/VersionCreatedListener.php b/src/Application/Processor/Listener/Version/VersionCreatedListener.php index 69811635..3d0d9eb0 100644 --- a/src/Application/Processor/Listener/Version/VersionCreatedListener.php +++ b/src/Application/Processor/Listener/Version/VersionCreatedListener.php @@ -6,7 +6,6 @@ use App\Application\Message\Event\Package\PackageUpdatedEvent; use App\Domain\Package\PackageRepositoryInterface; use Composer\Semver\Comparator; -use Composer\Semver\Semver; use Composer\Semver\VersionParser; use Courier\Client\Producer; use Courier\Message\EventInterface; @@ -41,8 +40,8 @@ public function __invoke(EventInterface $event): void { $version = $event->getVersion(); // $this->logger->debug('Version created', [$version]); - // ignore non-release versions - if ($version->isRelease() === false) { + // ignore non-release or non-stable versions + if ($version->isRelease() === false || $version->isStable() === false) { return; } @@ -51,13 +50,11 @@ public function __invoke(EventInterface $event): void { ); $latestVersionNormalized = '0.0.0.0'; - $latestVersionIsStable = false; if ($package->getLatestVersion() !== '') { $latestVersionNormalized = $this->versionParser->normalize($package->getLatestVersion()); - $latestVersionIsStable = VersionParser::parseStability($latestVersionNormalized) === 'stable'; } - if ($latestVersionIsStable && Comparator::greaterThan($version->getNormalized(), $latestVersionNormalized)) { + if (Comparator::greaterThan($version->getNormalized(), $latestVersionNormalized)) { $package = $package->withLatestVersion($version->getNumber()); $package = $this->packageRepository->update($package); diff --git a/src/Domain/Version/Version.php b/src/Domain/Version/Version.php index ddb07ee6..5a582f98 100644 --- a/src/Domain/Version/Version.php +++ b/src/Domain/Version/Version.php @@ -3,6 +3,7 @@ namespace App\Domain\Version; +use Composer\Semver\VersionParser; use DateTimeImmutable; use JsonSerializable; use ReturnTypeWillChange; @@ -135,6 +136,10 @@ public function getUpdatedAt(): ?DateTimeImmutable { return $this->updatedAt; } + public function isStable(): bool { + return VersionParser::parseStability($this->normalized) === 'stable'; + } + public function isDirty(): bool { return $this->dirty; }