コード例 #1
0
ファイル: console.php プロジェクト: Cotya/SignatureChainer
        $csvFileHandle = fopen($outputFile, 'w');
    } else {
        $csvFileHandle = fopen(__DIR__ . '/packages.csv', 'w');
    }
    foreach ($packages['packages'] as $packageName => $versionList) {
        foreach ($versionList as $version => $package) {
            if (!isset($package['dist']['url'])) {
                continue;
            }
            if (!is_numeric(mb_substr($package['version'], 0, 1, 'utf-8')) || mb_stripos($package['version'], '-dev') !== false) {
                continue;
            }
            $url = $package['dist']['url'];
            $entry = [$packageName, $package['version'], $url];
            fputcsv($csvFileHandle, $entry);
        }
    }
    $output->writeln('command finished');
});
$console->register('validate-package')->setDefinition(array(new InputArgument('dir', InputArgument::REQUIRED, 'Directory name'), new InputArgument('name', InputArgument::REQUIRED, 'package name'), new InputArgument('version', InputArgument::REQUIRED, 'package version')))->setDescription('Displays the files in the given directory')->setCode(function (InputInterface $input, OutputInterface $output) use($config) {
    $dir = $input->getArgument('dir');
    $name = $input->getArgument('name');
    $version = $input->getArgument('version');
    $client = new \Cotya\SignatureChainer\Client($config['userAgent'], $config['githubApiToken']);
    $storage = new \Cotya\SignatureChainer\Storage($dir . '/signatures');
    $signatures = $storage->getSignaturesForPackageByNameAndVersion($name, $version);
    $client->downloadPackageWithValidation($signatures[0]);
    $output->writeln('command finished');
});
require __DIR__ . '/console/packagist.php';
$console->run();