getBackend() public method

public getBackend ( )
Exemplo n.º 1
0
 /**
  * @param CollectorConfig $config
  *
  * @return Collector
  */
 public function getCollector(CollectorConfig $config)
 {
     return new Collector($this->getLogger(), new Project($config->getSourceDirectory(), $config->getWorkDirectory()), $this->getBackendFactory()->getInstanceFor($config->getBackend()), $config->getFileEncoding());
 }
Exemplo n.º 2
0
 /**
  * Run collection process on given directory tree
  *
  * @param CollectorConfig $config Configuration options
  *
  * @throws ApplicationException
  * @return void
  */
 public function runCollector(CollectorConfig $config)
 {
     $this->logger->log("Starting collector");
     $srcDir = $config->getSourceDirectory();
     if (!$srcDir->isDir()) {
         throw new ApplicationException(sprintf('Invalid src directory "%s" specified', $srcDir), ApplicationException::InvalidSrcDirectory);
     }
     $xmlDir = $config->getWorkDirectory();
     /** @var $scanner DirectoryScanner */
     $scanner = $this->factory->getInstanceFor('Scanner', $config->getIncludeMasks(), $config->getExcludeMasks());
     $scanner->setFlag(\FilesystemIterator::UNIX_PATHS);
     $collector = $this->factory->getInstanceFor('Collector', $srcDir, $xmlDir, $config->isPublicOnlyMode());
     $backend = $this->factory->getInstanceFor('BackendFactory')->getInstanceFor($config->getBackend());
     $project = $collector->run($scanner, $backend);
     if ($collector->hasParseErrors()) {
         $this->logger->log('The following file(s) had errors during processing and were excluded:');
         foreach ($collector->getParseErrors() as $file => $message) {
             $this->logger->log(' - ' . $file . ' (' . $message . ')');
         }
     }
     $this->logger->log("Saving results to directory '{$xmlDir}'");
     $vanished = $project->cleanVanishedFiles();
     if (count($vanished) > 0) {
         $this->logger->log(sprintf("Removed %d vanished file(s) from project:", count($vanished)));
         foreach ($vanished as $file) {
             $this->logger->log(' - ' . $file);
         }
     }
     $changed = $project->save();
     if ($config->doResolveInheritance()) {
         /** @var $resolver InheritanceResolver */
         $resolver = $this->factory->getInstanceFor('InheritanceResolver');
         $resolver->resolve($changed, $project, $config->getInheritanceConfig());
         if ($resolver->hasUnresolved()) {
             $this->logger->log('The following unit(s) had missing dependencies during inheritance resolution:');
             foreach ($resolver->getUnresolved() as $class => $missing) {
                 if (is_array($missing)) {
                     $missing = join(', ', $missing);
                 }
                 $this->logger->log(' - ' . $class . ' (missing ' . $missing . ')');
             }
         }
     }
     $this->logger->log("Collector process completed\n");
 }