mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-07-02 14:25:41 +08:00
Refactor package resolution to filter only available build artifacts
This commit is contained in:
@@ -233,7 +233,7 @@ class UnixCMakeExecutor extends Executor
|
||||
if ($this->package instanceof TargetPackage) {
|
||||
$resolvedNames = array_keys($this->installer->getResolvedPackages());
|
||||
$resolvedNames[] = $this->package->getName();
|
||||
$fwFlags = SPCConfigUtil::getFrameworksString($resolvedNames);
|
||||
$fwFlags = new SPCConfigUtil()->getFrameworksString($resolvedNames);
|
||||
if ($fwFlags !== '') {
|
||||
$exeLinkerFlags .= " {$fwFlags}";
|
||||
}
|
||||
|
||||
@@ -285,6 +285,20 @@ class SPCConfigUtil
|
||||
];
|
||||
}
|
||||
|
||||
public function getFrameworksString(array $extensions): string
|
||||
{
|
||||
$list = [];
|
||||
foreach ($extensions as $extension) {
|
||||
foreach (PackageConfig::get($extension, 'frameworks', []) as $fw) {
|
||||
$ks = '-framework ' . $fw;
|
||||
if (!in_array($ks, $list)) {
|
||||
$list[] = $ks;
|
||||
}
|
||||
}
|
||||
}
|
||||
return implode(' ', $list);
|
||||
}
|
||||
|
||||
private function hasCpp(array $packages): bool
|
||||
{
|
||||
foreach ($packages as $package) {
|
||||
@@ -492,18 +506,4 @@ class SPCConfigUtil
|
||||
}
|
||||
return $lib;
|
||||
}
|
||||
|
||||
private function getFrameworksString(array $extensions): string
|
||||
{
|
||||
$list = [];
|
||||
foreach ($extensions as $extension) {
|
||||
foreach (PackageConfig::get($extension, 'frameworks', []) as $fw) {
|
||||
$ks = '-framework ' . $fw;
|
||||
if (!in_array($ks, $list)) {
|
||||
$list[] = $ks;
|
||||
}
|
||||
}
|
||||
}
|
||||
return implode(' ', $list);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user