/**
  * Inspired by http://www.phing.info/trac/ticket/137
  */
 public function testMultipleExcludes()
 {
     $this->executeTarget("multiple-setup");
     $ds = new DirectoryScanner();
     $ds->setBasedir($this->_basedir . "/echo");
     $ds->setIncludes(array("**"));
     $ds->setExcludes(array("**/.gitignore", ".svn/", ".git/", "cache/", "build.xml", "a/a.xml"));
     $ds->scan();
     $this->compareFiles($ds, array("b/b.xml"), array("", "a", "b"));
 }
Esempio n. 2
0
 /** feed dirscanner with infos defined by this fileset */
 protected function setupDirectoryScanner(DirectoryScanner $ds, Project $p)
 {
     if ($ds === null) {
         throw new Exception("DirectoryScanner cannot be null");
     }
     // FIXME - pass dir directly wehn dirscanner supports File
     $ds->setBasedir($this->dir->getPath());
     foreach ($this->additionalPatterns as $addPattern) {
         $this->defaultPatterns->append($addPattern, $p);
     }
     $ds->setIncludes($this->defaultPatterns->getIncludePatterns($p));
     $ds->setExcludes($this->defaultPatterns->getExcludePatterns($p));
     $p->log("FileSet: Setup file scanner in dir " . $this->dir->__toString() . " with " . $this->defaultPatterns->toString(), Project::MSG_DEBUG);
     if ($ds instanceof SelectorScanner) {
         $ds->setSelectors($this->getSelectors($p));
     }
     if ($this->useDefaultExcludes) {
         $ds->addDefaultExcludes();
     }
     $ds->setCaseSensitive($this->isCaseSensitive);
 }
 /**
  * Helper to get instance of DirectoryScanner with cli options applied
  *
  * @param ezcConsoleInput $input  CLI Options pased to app
  *
  * @return Theseer\Tools\IncludeExcludeFilterIterator
  */
 protected function getScanner(\ezcConsoleInput $input)
 {
     $scanner = new DirectoryScanner();
     $include = $input->getOption('include');
     if (is_array($include->value)) {
         $scanner->setIncludes($include->value);
     } else {
         $scanner->addInclude($include->value);
     }
     $exclude = $input->getOption('exclude');
     if ($exclude->value) {
         if (is_array($exclude->value)) {
             $scanner->setExcludes($exclude->value);
         } else {
             $scanner->addExclude($exclude->value);
         }
     }
     $args = $input->getArguments();
     return $scanner($args[0]);
 }