protected function execute(InputInterface $input, OutputInterface $output) { $paths = ['source' => $input->getArgument('source') ? $this->cliBasePath . '/../' . $input->getArgument('source') : $this->cliBasePath . '/../' . self::DEFAULT_SOURCE_DIR, 'output' => $input->getArgument('output') ? $this->cliBasePath . '/../' . $input->getArgument('output') : $this->cliBasePath . '/../' . self::DEFAULT_OUTPUT_DIR]; $types = new TypeGenerator($paths['output']); $sourceFiles = $this->getFilesList($paths['source']); $docs = new DocGenerator($types, $sourceFiles, $paths['output'], $this->cliBasePath); $docs->generate(); $types->write(); }