function build($argv) { $input = new lmbCliInput(); $input->setMinimumArguments(2); $input->read($argv, false); $arguments = $input->getArguments(); if (!($dest_file = array_pop($arguments))) { echo "Error: You must specify output file.\n"; return 1; } $src_files = array(); foreach ($arguments as $src_file) { $src_files[] = realpath($src_file); } if (empty($src_files)) { echo "Error: You must specify at least one input file.\n"; return 1; } $builder = new lmbJsPreprocessor(); try { $contents = $builder->processFiles($src_files); } catch (lmbException $e) { echo 'Build error: ' . $e->getMessage(); return 1; } lmbFs::safeWrite($dest_file, $contents); return 0; }
function create($argv) { $input = new lmbCliInput(); $input->setMinimumArguments(1); if (!$input->read($argv, false)) { $this->help($argv); return 1; } $dst_dir = $input->getArgument(0); if (file_exists($dst_dir)) { echo "Directory or file '{$dst_dir}' already exists\n"; return 1; } echo "Copying skeleton Limb3 WEB_APP application to '{$dst_dir}'...\n"; lmbFs::cp(dirname(__FILE__) . '/../skel', $dst_dir, '~^\\.svn~'); echo "Generating code from templates...\n"; $this->_resolveTemplate("{$dst_dir}/setup.override.php.tpl", array('%LIMB_PARENT_DIR%' => realpath(dirname(__FILE__) . '/../../../'))); echo "done!"; }
function testMinimumArgumentsError() { $cli = new lmbCliInput(); $cli->setMinimumArguments(2); $this->assertFalse($cli->read(array('foo.php', 'wow'))); }