addArgument('library', InputArgument::REQUIRED, 'The library name'); } public function initialize(InputInterface $input, OutputInterface $output): void { $this->no_motd = true; parent::initialize($input, $output); } public function handle(): int { // Get lib object $builder = BuilderProvider::makeBuilderByInput($this->input); $builder->setLibsOnly(); // check lib name exist in lib.json try { Config::getLib($this->getArgument('library')); } catch (WrongUsageException $e) { $this->output->writeln("Library {$this->getArgument('library')} is not supported yet"); return static::FAILURE; } $builder->proveLibs([$this->getArgument('library')]); // Check whether lib is extracted if (!is_dir(SOURCE_PATH . '/' . $this->getArgument('library'))) { $this->output->writeln("Library {$this->getArgument('library')} is not extracted"); return static::FAILURE; } $version = $builder->getLib($this->getArgument('library'))->getLibVersion(); if ($version === null) { $this->output->writeln("Failed to get version of library {$this->getArgument('library')}"); return static::FAILURE; } $this->output->writeln("{$version}"); return static::SUCCESS; } }