mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-03-18 04:44:53 +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\Artifact\Artifact;
|
||||||
use StaticPHP\Attribute\Artifact\AfterSourceExtract;
|
use StaticPHP\Attribute\Artifact\AfterSourceExtract;
|
||||||
use StaticPHP\Attribute\PatchDescription;
|
use StaticPHP\Attribute\PatchDescription;
|
||||||
|
use StaticPHP\Runtime\SystemTarget;
|
||||||
use StaticPHP\Util\SourcePatcher;
|
use StaticPHP\Util\SourcePatcher;
|
||||||
use StaticPHP\Util\System\LinuxUtil;
|
use StaticPHP\Util\System\LinuxUtil;
|
||||||
|
|
||||||
@ -16,8 +17,7 @@ class attr
|
|||||||
#[PatchDescription('Patch attr for Alpine Linux (musl) and macOS - gethostname declaration')]
|
#[PatchDescription('Patch attr for Alpine Linux (musl) and macOS - gethostname declaration')]
|
||||||
public function patchAttrForAlpine(Artifact $artifact): void
|
public function patchAttrForAlpine(Artifact $artifact): void
|
||||||
{
|
{
|
||||||
if (PHP_OS_FAMILY === 'Darwin' || PHP_OS_FAMILY === 'Linux' && LinuxUtil::isMuslDist()) {
|
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());
|
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}");
|
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.
|
* Skip the current operation if the condition is true.
|
||||||
* You should ALWAYS use this function inside an attribute callback.
|
* 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.
|
* Parse extension list from string, replace alias and filter internal extensions.
|
||||||
*
|
*
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user