コード例 #1
0
 /**
  * {@inheritdoc}
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $configFile = $input->getArgument(self::ARGUMENT_CONFIG);
     $output->writeln($this->getDescription() . PHP_EOL);
     // read config
     $output->writeln(CliMessage::READ_CONFIG_FROM . $configFile);
     $config = AIConfig::fromYamlFile($configFile);
     if ($input->getOption(self::OPTION_REPORT_UNDEFINED)) {
         $config->setReportUndefined(true);
     }
     if (!$this->isValidArchitectureFile($config, $input, $output)) {
         return self::EXIT_FAILED;
     }
     $output->writeln(CliMessage::READ_ARCHITECTURE_FILE_FROM . $config->getArchitecture());
     $output->writeln(CliMessage::STARTING_ANALYSIS);
     $output->writeln("");
     $archInspec = new ArchInspec($config);
     if ($archInspec->analyze(new ConsoleWriter($output))) {
         return self::EXIT_SUCCESS;
     } else {
         return self::EXIT_VIOLATION;
     }
 }