Example #1
0
File: Git.php Project: iamluc/buse
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $groups = $this->getRepositories();
     $continue = $input->getOption('continue');
     $args = $input->getRawArgs();
     if (!is_array($args) || 0 === count($args)) {
         throw new \Exception('You must write the command after --. i.e. "buse git -- log -1"');
     }
     $cmd = array_shift($args);
     foreach ($groups as $group => $repos) {
         foreach ($repos as $name => $repo) {
             $name = count($groups) > 1 ? $group . '/' . $name : $name;
             $output->writeln(sprintf('<comment>%s</comment>: ', $name));
             try {
                 $res = $repo->run($cmd, $args);
                 $output->writeln($res);
             } catch (ProcessException $e) {
                 if (!$continue) {
                     throw $e;
                 }
                 $output->writeln($e->getErrorOutput());
             }
         }
     }
 }
Example #2
0
File: Exec.php Project: iamluc/buse
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $groups = $this->getRepositories();
     $args = $input->getRawArgs();
     if (!is_array($args) || 0 === count($args)) {
         throw new \Exception('You must write the command after --. i.e. "buse exec -- log -1"');
     }
     $cmd = array_shift($args);
     $repositories = [];
     $formatters = [];
     $processes = [];
     foreach ($groups as $group => $repos) {
         foreach ($repos as $name => $repo) {
             $key = count($groups) > 1 ? $group . '/' . $name : $name;
             $formatters[$key] = new Spinner(sprintf('Waiting to execute "%s"...', $cmd), 'Done');
             $processes[$key] = $this->createProcess($repo, $cmd, $args);
             $repositories[$key] = $repo;
         }
     }
     $this->runProcesses($repositories, $processes, $formatters);
 }