Esempio n. 1
0
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $ide = $input->getArgument('ide');
     $config = $this->getConfig();
     if (!array_key_exists($ide, $this->generators)) {
         throw new InvalidArgumentException(sprintf('The "%s" generator is not supported.', $ide));
     }
     $output->writeln('Generating project files for ' . $this->generators[$ide]['name']);
     $variableParser = new Parser();
     $variableParser->push('config', $config);
     $variableParser->set('ide.type', $ide);
     $outputDirectory = $variableParser->parse('projects/$(ide.type)/');
     FileSystem::createDirectory($outputDirectory, 0777);
     $generatorFqcn = $this->generators[$ide]['fqcn'];
     $generator = new $generatorFqcn($config);
     $generator->setVariableParser($variableParser);
     $generator->generate($outputDirectory);
 }