mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-03-17 20:34:51 +08:00
Refactor patching logic for Alpine Linux and macOS in attr.php
This commit is contained in:
parent
c72a2b6228
commit
d8d9f389ba
@ -7,6 +7,7 @@ namespace Package\Artifact;
|
||||
use StaticPHP\Artifact\Artifact;
|
||||
use StaticPHP\Attribute\Artifact\AfterSourceExtract;
|
||||
use StaticPHP\Attribute\PatchDescription;
|
||||
use StaticPHP\Runtime\SystemTarget;
|
||||
use StaticPHP\Util\SourcePatcher;
|
||||
use StaticPHP\Util\System\LinuxUtil;
|
||||
|
||||
@ -16,8 +17,7 @@ class attr
|
||||
#[PatchDescription('Patch attr for Alpine Linux (musl) and macOS - gethostname declaration')]
|
||||
public function patchAttrForAlpine(Artifact $artifact): void
|
||||
{
|
||||
if (PHP_OS_FAMILY === 'Darwin' || PHP_OS_FAMILY === 'Linux' && LinuxUtil::isMuslDist()) {
|
||||
SourcePatcher::patchFile('attr_alpine_gethostname.patch', $artifact->getSourceDir());
|
||||
}
|
||||
spc_skip_unless(SystemTarget::getTargetOS() === 'Darwin' || SystemTarget::getTargetOS() === 'Linux' && !LinuxUtil::isMuslDist(), 'Only for Alpine Linux (musl) and macOS');
|
||||
SourcePatcher::patchFile('attr_alpine_gethostname.patch', $artifact->getSourceDir());
|
||||
}
|
||||
}
|
||||
|
||||
@ -320,17 +320,6 @@ function get_display_path(string $path): string
|
||||
throw new WrongUsageException("Cannot convert path: {$path}");
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the global DI container instance.
|
||||
*
|
||||
* @deprecated Use ApplicationContext::getContainer() or dependency injection instead.
|
||||
* This function is kept for backward compatibility during the migration period.
|
||||
*/
|
||||
function spc_container(): DI\Container
|
||||
{
|
||||
return \StaticPHP\DI\ApplicationContext::getContainer();
|
||||
}
|
||||
|
||||
/**
|
||||
* Skip the current operation if the condition is true.
|
||||
* You should ALWAYS use this function inside an attribute callback.
|
||||
@ -345,6 +334,18 @@ function spc_skip_if(bool $condition, string $message = ''): void
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Skip the current operation unless the condition is true.
|
||||
* You should ALWAYS use this function inside an attribute callback.
|
||||
*
|
||||
* @param bool $condition Condition to evaluate
|
||||
* @param string $message Optional message for the skip exception
|
||||
*/
|
||||
function spc_skip_unless(bool $condition, string $message = ''): void
|
||||
{
|
||||
spc_skip_if(!$condition, $message);
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse extension list from string, replace alias and filter internal extensions.
|
||||
*
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user