Ejemplo n.º 1
0
 /**
  * {@inheritdoc}
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $paths = $input->getArgument(static::PATHS_ARGUMENT_NAME);
     foreach ($paths as $path) {
         if (!is_file($path) && !is_dir($path)) {
             $output->writeln(sprintf('Path %s must be a file or a directory', $path));
             return;
         }
     }
     $extensionsArgumentValue = $input->getOption(static::EXTENSIONS_OPTION_NAME);
     $extensions = explode(',', $extensionsArgumentValue);
     if (!is_array($extensions)) {
         $output->writeln(sprintf('Something went wrong while parsing file extensions you specified. ' . 'Check that %s is a comma-separated list of extensions', $extensionsArgumentValue));
         return;
     }
     $messageLevelName = $input->getOption(static::MESSAGE_LEVEL_OPTION_NAME);
     if (!isset(static::$messageLevelMap[$messageLevelName])) {
         $output->writeln(sprintf('Unknown message level %s', $messageLevelName));
         return;
     }
     $messageLevel = static::$messageLevelMap[$messageLevelName];
     $intSize = (int) $input->getOption(static::INT_SIZE_OPTION_NAME);
     if ($intSize <= 0) {
         $output->writeln('Integer size must be greater than 0');
         return;
     }
     $containerBuilder = new ContainerBuilder();
     $container = $containerBuilder->buildContainer($output, $intSize);
     $checkSettings = new PathCheckSettings($paths, $extensions);
     $checkSettings->setExcludedPaths($input->getOption(static::EXCEPT_OPTION_NAME));
     $checkSettings->setMessageLevel($messageLevel);
     $checkSettings->setUseRelativePaths($input->getOption(static::RELATIVE_PATHS_OPTION_NAME));
     $container['pathCheckExecutor']->check($checkSettings);
 }
Ejemplo n.º 2
0
 /**
  * @param PathCheckSettings $checkSettings
  */
 public function check(PathCheckSettings $checkSettings)
 {
     $this->visitorResolver->setLevel($checkSettings->getMessageLevel());
     foreach ($this->visitorResolver->resolve() as $visitor) {
         $this->traverser->addVisitor($visitor);
     }
     $this->pathChecker->check($this->pathTraversableFactory->createTraversable($checkSettings->getCheckedPaths(), $checkSettings->getCheckedFileExtensions(), $checkSettings->getExcludedPaths()), $checkSettings->getUseRelativePaths());
 }