/** * Generates JS package files given in the manifests, including extensions. */ public function main() { $ds = DIRECTORY_SEPARATOR; $this->_msg('Generating JSB2 packages'); $abslen = strlen($this->_projectPath); foreach ($this->_arcavias->getCustomPaths('client/extjs') as $base => $paths) { foreach ($paths as $path) { $jsbPath = $base . $ds . $path; $message = sprintf('Package: %1$s ', $jsbPath); $this->_msg(sprintf('Package: %1$s ', $jsbPath)); if (!is_file($jsbPath) || !is_readable($jsbPath)) { $this->_msg($message, 'failed'); $this->_msg(sprintf('No manifest file found in %1$s', $jsbPath)); continue; } try { $jsbParser = new MW_Jsb2_Default($jsbPath); $jsbParser->deploy('js'); $this->_msg($message, 'done'); } catch (Exception $e) { $this->_msg($message, 'failed'); $this->_msg(sprintf('Error: %1$s', $e->getMessage())); } } } }