提交 e7111a7e 编写于 作者: weixin_47267244's avatar weixin_47267244

修复问题

上级 723ed991
......@@ -14,5 +14,16 @@
"Imi\\Hprose\\": "src/",
"Imi\\Server\\Hprose\\": "src/Imi-Server-Hprose/"
}
},
"autoload-dev": {
"psr-4": {
"Imi\\Hprose\\Dev\\": "dev/"
}
},
"scripts": {
"pre-install-cmd": "Imi\\Hprose\\Dev\\Dev::preUpdate",
"pre-update-cmd": "Imi\\Hprose\\Dev\\Dev::preUpdate",
"post-install-cmd": "Imi\\Hprose\\Dev\\Dev::postUpdate",
"post-update-cmd": "Imi\\Hprose\\Dev\\Dev::postUpdate"
}
}
\ No newline at end of file
<?php
namespace Imi\Hprose\Dev;
use Composer\Package\Link;
use Composer\Script\Event;
use Composer\Semver\Constraint\Constraint;
class Dev
{
// @phpstan-ignore-next-line
public static function preUpdate(Event $event): void
{
// @phpstan-ignore-next-line
$package = $event->getComposer()->getPackage();
$requires = $package->getRequires();
foreach ($requires as $name => &$require)
{
if ('imiphp/' !== substr($name, 0, 7))
{
continue;
}
// @phpstan-ignore-next-line
$require = new Link($require->getSource(), $require->getTarget(), new Constraint('>', '0'), $require->getDescription());
}
$package->setRequires($requires);
}
// @phpstan-ignore-next-line
public static function postUpdate(Event $event): void
{
$dir = \dirname(__DIR__);
// @phpstan-ignore-next-line
$package = $event->getComposer()->getPackage();
$requires = $package->getRequires();
foreach ($requires as $name => $require)
{
if ('imiphp/' !== substr($name, 0, 7))
{
continue;
}
$componentDir = \dirname($dir) . '/' . substr($name, 11);
$path = "{$dir}/vendor/{$name}";
$cmd = "rm -rf {$path} && ln -s -f {$componentDir} {$path}";
echo '[cmd] ', $cmd, \PHP_EOL;
echo `$cmd`, \PHP_EOL;
}
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册