mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-03-18 21:04:52 +08:00
refactor lock file constant out
This commit is contained in:
parent
4977286936
commit
c2d6b9ad2c
@ -12,6 +12,7 @@ use SPC\exception\RuntimeException;
|
|||||||
use SPC\exception\WrongUsageException;
|
use SPC\exception\WrongUsageException;
|
||||||
use SPC\store\Config;
|
use SPC\store\Config;
|
||||||
use SPC\store\Downloader;
|
use SPC\store\Downloader;
|
||||||
|
use SPC\store\LockFile;
|
||||||
use SPC\util\DependencyUtil;
|
use SPC\util\DependencyUtil;
|
||||||
use Symfony\Component\Console\Attribute\AsCommand;
|
use Symfony\Component\Console\Attribute\AsCommand;
|
||||||
use Symfony\Component\Console\Input\InputArgument;
|
use Symfony\Component\Console\Input\InputArgument;
|
||||||
@ -301,7 +302,7 @@ class DownloadCommand extends BaseCommand
|
|||||||
throw new WrongUsageException('Windows currently does not support --from-zip !');
|
throw new WrongUsageException('Windows currently does not support --from-zip !');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!file_exists(DOWNLOAD_PATH . '/.lock.json')) {
|
if (!file_exists(LockFile::LOCK_FILE)) {
|
||||||
throw new RuntimeException('.lock.json not exist in "downloads/"');
|
throw new RuntimeException('.lock.json not exist in "downloads/"');
|
||||||
}
|
}
|
||||||
} catch (RuntimeException $e) {
|
} catch (RuntimeException $e) {
|
||||||
|
|||||||
@ -10,7 +10,7 @@ use SPC\exception\WrongUsageException;
|
|||||||
|
|
||||||
class LockFile
|
class LockFile
|
||||||
{
|
{
|
||||||
private const string LOCK_FILE = DOWNLOAD_PATH . '/.lock.json';
|
public const string LOCK_FILE = DOWNLOAD_PATH . '/.lock.json';
|
||||||
|
|
||||||
private static ?array $lock_file_content = null;
|
private static ?array $lock_file_content = null;
|
||||||
|
|
||||||
|
|||||||
@ -6,6 +6,7 @@ namespace SPC\store\pkg;
|
|||||||
|
|
||||||
use SPC\store\Downloader;
|
use SPC\store\Downloader;
|
||||||
use SPC\store\FileSystem;
|
use SPC\store\FileSystem;
|
||||||
|
use SPC\store\LockFile;
|
||||||
|
|
||||||
class GoModFrankenphp extends CustomPackage
|
class GoModFrankenphp extends CustomPackage
|
||||||
{
|
{
|
||||||
@ -42,7 +43,7 @@ class GoModFrankenphp extends CustomPackage
|
|||||||
public function extract(string $name): void
|
public function extract(string $name): void
|
||||||
{
|
{
|
||||||
$pkgroot = PKG_ROOT_PATH;
|
$pkgroot = PKG_ROOT_PATH;
|
||||||
$lock = json_decode(FileSystem::readFile(DOWNLOAD_PATH . '/.lock.json'), true);
|
$lock = json_decode(FileSystem::readFile(LockFile::LOCK_FILE), true);
|
||||||
$source_type = $lock[$name]['source_type'];
|
$source_type = $lock[$name]['source_type'];
|
||||||
$filename = DOWNLOAD_PATH . '/' . ($lock[$name]['filename'] ?? $lock[$name]['dirname']);
|
$filename = DOWNLOAD_PATH . '/' . ($lock[$name]['filename'] ?? $lock[$name]['dirname']);
|
||||||
$extract = $lock[$name]['move_path'] === null ? "{$pkgroot}/{$name}" : $lock[$name]['move_path'];
|
$extract = $lock[$name]['move_path'] === null ? "{$pkgroot}/{$name}" : $lock[$name]['move_path'];
|
||||||
|
|||||||
@ -13,6 +13,7 @@ use SPC\builder\LibraryBase;
|
|||||||
use SPC\exception\RuntimeException;
|
use SPC\exception\RuntimeException;
|
||||||
use SPC\exception\WrongUsageException;
|
use SPC\exception\WrongUsageException;
|
||||||
use SPC\store\FileSystem;
|
use SPC\store\FileSystem;
|
||||||
|
use SPC\store\LockFile;
|
||||||
use SPC\util\CustomExt;
|
use SPC\util\CustomExt;
|
||||||
use SPC\util\DependencyUtil;
|
use SPC\util\DependencyUtil;
|
||||||
use Symfony\Component\Console\Input\ArgvInput;
|
use Symfony\Component\Console\Input\ArgvInput;
|
||||||
@ -117,7 +118,7 @@ class BuilderTest extends TestCase
|
|||||||
|
|
||||||
public function testGetPHPVersionFromArchive()
|
public function testGetPHPVersionFromArchive()
|
||||||
{
|
{
|
||||||
$lock = file_exists(DOWNLOAD_PATH . '/.lock.json') ? file_get_contents(DOWNLOAD_PATH . '/.lock.json') : false;
|
$lock = file_exists(LockFile::LOCK_FILE) ? file_get_contents(LockFile::LOCK_FILE) : false;
|
||||||
if ($lock === false) {
|
if ($lock === false) {
|
||||||
$this->assertFalse($this->builder->getPHPVersionFromArchive());
|
$this->assertFalse($this->builder->getPHPVersionFromArchive());
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -59,8 +59,8 @@ class DownloaderTest extends TestCase
|
|||||||
public function testLockSource()
|
public function testLockSource()
|
||||||
{
|
{
|
||||||
LockFile::lockSource('fake-file', ['source_type' => SPC_SOURCE_ARCHIVE, 'filename' => 'fake-file-name', 'move_path' => 'fake-path', 'lock_as' => 'fake-lock-as']);
|
LockFile::lockSource('fake-file', ['source_type' => SPC_SOURCE_ARCHIVE, 'filename' => 'fake-file-name', 'move_path' => 'fake-path', 'lock_as' => 'fake-lock-as']);
|
||||||
$this->assertFileExists(DOWNLOAD_PATH . '/.lock.json');
|
$this->assertFileExists(LockFile::LOCK_FILE);
|
||||||
$json = json_decode(file_get_contents(DOWNLOAD_PATH . '/.lock.json'), true);
|
$json = json_decode(file_get_contents(LockFile::LOCK_FILE), true);
|
||||||
$this->assertIsArray($json);
|
$this->assertIsArray($json);
|
||||||
$this->assertArrayHasKey('fake-file', $json);
|
$this->assertArrayHasKey('fake-file', $json);
|
||||||
$this->assertArrayHasKey('source_type', $json['fake-file']);
|
$this->assertArrayHasKey('source_type', $json['fake-file']);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user