add --retry for download command

This commit is contained in:
crazywhalecc
2024-03-10 16:23:30 +08:00
committed by Jerry Ma
parent 94b3afe6bc
commit e21b5676e7
3 changed files with 110 additions and 47 deletions

View File

@@ -39,6 +39,7 @@ class DownloadCommand extends BaseCommand
$this->addOption('for-libs', 'l', InputOption::VALUE_REQUIRED, 'Fetch by libraries, e.g "libcares,openssl,onig"');
$this->addOption('without-suggestions', null, null, 'Do not fetch suggested sources when using --for-extensions');
$this->addOption('ignore-cache-sources', null, InputOption::VALUE_REQUIRED, 'Ignore some source caches, comma separated, e.g "php-src,curl,openssl"', '');
$this->addOption('retry', 'R', InputOption::VALUE_REQUIRED, 'Set retry time when downloading failed (default: 0)', '0');
}
/**
@@ -127,6 +128,10 @@ class DownloadCommand extends BaseCommand
return static::FAILURE;
}
// retry
$retry = intval($this->getOption('retry'));
f_putenv('SPC_RETRY_TIME=' . $retry);
// Use shallow-clone can reduce git resource download
if ($this->getOption('shallow-clone')) {
define('GIT_SHALLOW_CLONE', true);