mirror of
https://github.com/zhamao-robot/zhamao-framework.git
synced 2026-03-17 20:54:52 +08:00
simplify duplicated composer executable getter
This commit is contained in:
parent
44097f9935
commit
eeb3481c5a
@ -9,6 +9,7 @@ use Symfony\Component\Console\Input\InputOption;
|
||||
use Symfony\Component\Console\Output\ConsoleSectionOutput;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
use ZM\Exception\InitException;
|
||||
use ZM\Utils\ZMUtil;
|
||||
|
||||
#[AsCommand(name: 'init', description: '初始化框架运行的基础文件')]
|
||||
class InitCommand extends Command
|
||||
@ -75,10 +76,7 @@ class InitCommand extends Command
|
||||
$section->write('<fg=gray>执行 composer dump-autoload ... </>');
|
||||
|
||||
// 兼容内建 Composer
|
||||
$env = getenv('COMPOSER_EXECUTABLE');
|
||||
if ($env === false) {
|
||||
$env = 'composer';
|
||||
}
|
||||
$env = ZMUtil::getComposerExecutable();
|
||||
passthru(PHP_BINARY . ' ' . escapeshellcmd($env) . ' dump-autoload');
|
||||
|
||||
$section->writeln('<info>完成</info>');
|
||||
|
||||
@ -6,6 +6,7 @@ namespace ZM\Utils\CodeGenerator;
|
||||
|
||||
use ZM\Exception\FileSystemException;
|
||||
use ZM\Store\FileSystem;
|
||||
use ZM\Utils\ZMUtil;
|
||||
|
||||
/**
|
||||
* Class PluginGenerator
|
||||
@ -81,10 +82,7 @@ class PluginGenerator
|
||||
file_put_contents(zm_dir($plugin_base_dir . '/composer.json'), json_encode($composer, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE));
|
||||
// TODO: 寻找 PHP 运行环境和 Composer 是否在当前目录的情况
|
||||
chdir($plugin_base_dir);
|
||||
$env = getenv('COMPOSER_EXECUTABLE');
|
||||
if ($env === false) {
|
||||
$env = 'composer';
|
||||
}
|
||||
$env = ZMUtil::getComposerExecutable();
|
||||
passthru(PHP_BINARY . ' ' . escapeshellcmd($env) . ' dump-autoload');
|
||||
chdir(WORKING_DIR);
|
||||
return $plugin_base_dir;
|
||||
|
||||
@ -27,4 +27,16 @@ class ZMUtil
|
||||
{
|
||||
return file_put_contents(($path ?? SOURCE_ROOT_DIR) . '/composer.json', json_encode($content, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前 Composer 二进制执行命令的初始位置
|
||||
*/
|
||||
public static function getComposerExecutable(): string
|
||||
{
|
||||
$env = getenv('COMPOSER_EXECUTABLE');
|
||||
if ($env === false) {
|
||||
$env = 'composer';
|
||||
}
|
||||
return $env;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user