/** * {@inheritdoc} * * @throws BuildException * @throws IOException */ public function main() { if ($this->dir == null) { throw new BuildException("missing dir"); } if ($this->name == null) { throw new BuildException("missing name"); } if ($this->pathRefId == null) { throw new BuildException("missing pathrefid"); } if (!$this->dir->isDirectory()) { throw new BuildException($this->dir->toString() . " is not a directory"); } $path = $this->getProject()->getReference($this->pathRefId); if ($path == null) { throw new BuildException("Unknown reference " . $this->pathRefId); } if (!$path instanceof Path) { throw new BuildException($this->pathRefId . " is not a path"); } $sources = $path->listPaths(); $fileSet = new FileSet(); $fileSet->setProject($this->getProject()); $fileSet->setDir($this->dir); $fileUtils = new FileUtils(); $dirNormal = $fileUtils->normalize($this->dir->getAbsolutePath()); $dirNormal = rtrim($dirNormal, PhingFile::$separator) . PhingFile::$separator; $atLeastOne = false; for ($i = 0; $i < count($sources); ++$i) { $sourceFile = new PhingFile($sources[$i]); if (!$sourceFile->exists()) { continue; } $includePattern = $this->getIncludePattern($dirNormal, $sourceFile); if ($includePattern === false && !$this->ignoreNonRelative) { throw new BuildException($sources[$i] . " is not relative to " . $this->dir->getAbsolutePath()); } if ($includePattern === false) { continue; } $fileSet->createInclude()->setName($includePattern); $atLeastOne = true; } if (!$atLeastOne) { $fileSet->createInclude()->setName("a:b:c:d//THis si &&& not a file !!! "); } $this->getProject()->addReference($this->name, $fileSet); }
function transform() { $dir = new PhingFile($this->toDir); if (!$dir->exists()) { throw new BuildException("Directory '" . $this->toDir . "' does not exist"); } $xslfile = $this->getStyleSheet(); $xsl = new DOMDocument(); $xsl->load($xslfile->getAbsolutePath()); $proc = new XSLTProcessor(); $proc->importStyleSheet($xsl); ExtendedFileStream::registerStream(); // no output for the framed report // it's all done by extension... $proc->setParameter('', 'output.dir', $dir->toString()); $proc->transformToXML($this->document); ExtendedFileStream::unregisterStream(); }
/** * Transforms the DOM document */ protected function transform(DOMDocument $document) { $dir = new PhingFile($this->toDir); if (!$dir->exists()) { throw new BuildException("Directory '" . $this->toDir . "' does not exist"); } $xslfile = $this->getStyleSheet(); $xsl = new DOMDocument(); $xsl->load($xslfile->getAbsolutePath()); $proc = new XSLTProcessor(); $proc->importStyleSheet($xsl); if ($this->format == "noframes") { $writer = new FileWriter(new PhingFile($this->toDir, "phpunit-noframes.html")); $writer->write($proc->transformToXML($document)); $writer->close(); } else { ExtendedFileStream::registerStream(); // no output for the framed report // it's all done by extension... $dir = new PhingFile($this->toDir); $proc->setParameter('', 'output.dir', $dir->toString()); $proc->transformToXML($document); ExtendedFileStream::unregisterStream(); } }