public function arguments($args) { $args->add('version')->suggestions(array('5.3', '5.4', '5.5')); $args->add('variants')->multiple()->suggestions(function () { $variants = new VariantBuilder(); $list = $variants->getVariantNames(); sort($list); return array_map(function ($n) { return '+' . $n; }, $list); }); }
public function execute($version = null) { $variants = new VariantBuilder(); $list = $variants->getVariantNames(); sort($list); echo "Variants: \n"; echo $this->wrapLine(join(', ', $list)), "\n"; echo "\n\n"; echo "Virtual variants: \n"; foreach ($variants->virtualVariants as $name => $subvars) { echo $this->wrapLine("{$name}: " . join(', ', $subvars)), "\n"; } echo "\n\n"; echo "Using variants to build PHP:\n"; echo "\n"; echo " phpbrew install php-5.3.10 +default\n"; echo " phpbrew install php-5.3.10 +mysql +pdo\n"; echo " phpbrew install php-5.3.10 +mysql +pdo +apxs2\n"; echo " phpbrew install php-5.3.10 +mysql +pdo +apxs2=/usr/bin/apxs2\n"; echo "\n\n"; }
public function arguments($args) { $args->add('version')->suggestions(function () { $releaseList = ReleaseList::getReadyInstance(); $releases = $releaseList->getReleases(); $collection = new ValueCollection(); foreach ($releases as $major => $versions) { $collection->group($major, "PHP {$major}", array_keys($versions)); } $collection->group('pseudo', 'pseudo', array('latest', 'next')); return $collection; }); $args->add('variants')->multiple()->suggestions(function () { $variants = new VariantBuilder(); $list = $variants->getVariantNames(); sort($list); return array_map(function ($n) { return '+' . $n; }, $list); }); }