$packages = $client->get($name); $numberOfVersions = count($packages->getVersions()); $output->writeln("found {$numberOfVersions} versions for {$packages->getName()}"); foreach ($packages->getVersions() as $version) { /** @var \Packagist\Api\Result\Package\Version $version */ if (!is_numeric(mb_substr($version->getVersionNormalized(), 0, 1, 'utf-8')) || mb_stripos($version->getVersionNormalized(), '-dev') !== false) { $output->writeln('jump over version: ' . $version->getVersionNormalized()); continue; } $dist = $version->getDist(); if (!$dist || !$dist->getUrl()) { $output->writeln('no Dist url found '); var_dump($dist); continue; } if ($storage->doesSignatureExist($packages->getName(), $version->getVersionNormalized(), $config['storageKey'])) { $output->writeln('Signature already exists for version: ' . $version->getVersionNormalized()); continue; } try { $signatureStruct = $SignatureClient->processUrl($dist->getUrl()); $signatureStruct->setPackageName($packages->getName()); $signatureStruct->setPackageVersion($version->getVersionNormalized()); $storage->addEntry($signatureStruct, $config['storageKey']); } catch (GuzzleHttp\Exception\ClientException $exception) { echo PHP_EOL; echo $exception->getMessage(); echo PHP_EOL; if ($exception->getResponse()->getStatusCode() == 404) { continue; }