protected function findFiles() { $ds = new DirectoryScanner(); $ds->setBasedir($this->dir); $ds->setIncludes(array('**/composer.json')); $ds->scan(); return $ds->getIncludedFiles(); }
/** * Returns the excluded files * * @return array */ public function getExcludedFiles() { $includes = array(); foreach ($this->files as $file) { $includes[] = $file->getName(); } $this->directoryScanner->setIncludes($includes); $this->directoryScanner->scan(); $files = $this->directoryScanner->getIncludedFiles(); $dir = $this->directoryScanner->getBasedir(); $fileList = array(); foreach ($files as $file) { $fileList[] = $dir . DIRECTORY_SEPARATOR . $file; } return $fileList; }
protected function findSplits() { $this->log("checking heads for subsplits"); $repo = $this->getRepository(); $base = $this->getBase(); $splits = array(); $heads = $this->getHeads(); if (!empty($base)) { $base = '/' . ltrim($base, '/'); } else { $base = '/'; } chdir($repo . '/.subsplit'); foreach ($heads as $head) { $splits[$head] = array(); passthru("git checkout '{$head}'"); $ds = new DirectoryScanner(); $ds->setBasedir($repo . '/.subsplit' . $base); $ds->setIncludes(array('**/' . $this->subIndicatorFile)); $ds->scan(); $files = $ds->getIncludedFiles(); foreach ($files as $file) { $pkg = file_get_contents($repo . '/.subsplit' . $base . '/' . $file); $pkg_json = json_decode($pkg, true); $name = $pkg_json['name']; $component = str_replace('/composer.json', '', $file); $tmpreponame = explode('/', $name); $reponame = $tmpreponame[1]; $splits[$head][$component]['repo'] = $reponame; $nscomponent = str_replace('/', '\\', $component); $splits[$head][$component]['desc'] = "[READ ONLY] Subtree split of {$nscomponent}: " . $pkg_json['description']; } } passthru("git checkout master"); chdir($repo); $this->splits = $splits; }
private function makeEntityNames($dirnames, PhingFile $rootDir) { if (empty($dirnames)) { return; } foreach ($dirnames as $dirname) { $this->output .= "<!-- dir: {$dirname} -->\n"; $ds = new DirectoryScanner(); $ds->setIncludes(array("**/*.xml")); $futil = new FileUtils(); $baseDir = $futil->resolveFile($rootDir, $dirname); $ds->setBasedir($baseDir->getPath()); $ds->scan(); $xmlFiles = $ds->getIncludedFiles(); $allEntities = ''; foreach ($xmlFiles as $xmlFilename) { $xmlFile = $futil->resolveFile($baseDir, $xmlFilename); $entityName = $this->fileToEntity($xmlFile, $rootDir); $this->output .= "<!-- {$dirname}/{$xmlFilename}-->\n"; $this->output .= "<!ENTITY {$entityName} SYSTEM \"{$dirname}/{$xmlFilename}\">\n"; $allEntities .= "&{$entityName};"; } $this->output .= "<!-- {$dirname} -->\n"; $this->output .= "<!ENTITY {$dirname}.all \"{$allEntities}\">\n"; } }
public function findComponents() { $ds = new DirectoryScanner(); $ds->setBasedir((string) $this->basedir . '/.subsplit/src'); $ds->setIncludes(array('**/composer.json')); $ds->scan(); $files = $ds->getIncludedFiles(); $this->subpackages = $files; }
protected function compareFiles(DirectoryScanner $ds, $expectedFiles, $expectedDirectories) { $includedFiles = $ds->getIncludedFiles(); $includedDirectories = $ds->getIncludedDirectories(); if (count($includedFiles)) { $includedFiles = array_map(array($this, 'replaceSeparator'), $includedFiles); natsort($includedFiles); $includedFiles = array_values($includedFiles); } if (count($includedDirectories)) { $includedDirectories = array_map(array($this, 'replaceSeparator'), $includedDirectories); natsort($includedDirectories); $includedDirectories = array_values($includedDirectories); } $this->assertEquals($includedFiles, $expectedFiles); $this->assertEquals($includedDirectories, $expectedDirectories); }