コード例 #1
0
ファイル: packagist.php プロジェクト: Cotya/SignatureChainer
 $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;
         }