/** * Package command callback * @param string $command * @param array $options * @param array $params * @return void|null */ public function doPackage($command, $options, $params) { $this->cleanupParams($params); if (count($params) < 1) { return $this->doError($command, "Parameters count should be >= 1"); } $file = strtolower($params[0]); $file = realpath($file); if (!file_exists($file)) { return $this->doError($command, "File {$params[0]} doesn't exist"); } try { $packager = new \Magento\Framework\Connect\Package($file); $res = $packager->validate(); if (!$res) { $this->doError($command, implode("\n", $packager->getErrors())); return; } $packager->save(dirname($file)); $this->ui()->output('Done building package'); } catch (\Exception $e) { $this->doError($command, $e->getMessage()); } }