add extract command, add -U option (custom download source

This commit is contained in:
crazywhalecc
2023-07-28 00:02:49 +08:00
committed by Jerry Ma
parent f7730735c0
commit ea322c0d3b
7 changed files with 132 additions and 59 deletions

View File

@@ -0,0 +1,35 @@
<?php
declare(strict_types=1);
namespace SPC\command;
use SPC\builder\traits\UnixSystemUtilTrait;
use SPC\store\SourceExtractor;
use Symfony\Component\Console\Attribute\AsCommand;
use Symfony\Component\Console\Input\InputArgument;
#[AsCommand('extract', 'Extract required sources')]
class ExtractCommand extends BaseCommand
{
use UnixSystemUtilTrait;
protected string $php_major_ver;
public function configure()
{
$this->addArgument('sources', InputArgument::REQUIRED, 'The sources will be compiled, comma separated');
}
public function handle(): int
{
$sources = array_map('trim', array_filter(explode(',', $this->getArgument('sources'))));
if (empty($sources)) {
$this->output->writeln('<erorr>sources cannot be empty, at least contain one !</erorr>');
return 1;
}
SourceExtractor::initSource(sources: $sources);
logger()->info('Extract done !');
return 0;
}
}