diff --git a/src/SPC/command/dev/AllExtCommand.php b/src/SPC/command/dev/AllExtCommand.php new file mode 100644 index 00000000..253e1d79 --- /dev/null +++ b/src/SPC/command/dev/AllExtCommand.php @@ -0,0 +1,24 @@ +output->writeln(implode(',', array_keys(Config::getExts()))); + + return 0; + } +} diff --git a/src/SPC/command/dev/ExtInfoCommand.php b/src/SPC/command/dev/ExtInfoCommand.php new file mode 100644 index 00000000..d45478c8 --- /dev/null +++ b/src/SPC/command/dev/ExtInfoCommand.php @@ -0,0 +1,43 @@ +addArgument('extensions', InputArgument::REQUIRED, 'The extension name you need to get info'); + } + + public function handle(): int + { + $extensions = array_map('trim', array_filter(explode(',', $this->getArgument('extensions')))); + + // 根据提供的扩展列表获取依赖库列表并编译 + foreach ($extensions as $extension) { + $this->output->writeln('[ ' . $extension . ' ]'); + [, $libraries, $not_included] = DependencyUtil::getExtLibsByDeps([$extension]); + $lib_suggests = Config::getExt($extension, 'lib-suggests', []); + $ext_suggests = Config::getExt($extension, 'ext-suggests', []); + $this->output->writeln("lib-depends:\t" . implode(', ', $libraries) . ''); + $this->output->writeln("lib-suggests:\t" . implode(', ', $lib_suggests) . ''); + $this->output->writeln("ext-depends:\t" . implode(',', $not_included) . ''); + $this->output->writeln("ext-suggests:\t" . implode(', ', $ext_suggests) . ''); + if (Config::getExt($extension, 'unix-only', false)) { + $this->output->writeln("Unix only:\ttrue"); + } + $this->output->writeln(''); + } + + return 0; + } +}