/** * @param string $buf * @param int $off * @param int $len */ private function write($buf, $off = null, $len = null) { $this->textOut->write($buf, $off, $len); if ($this->autoFlush || ($buff = '\\n' && $this->autoFlush)) { $this->textOut->flush(); } }
/** * Does the work. * * @throws BuildException if someting goes wrong with the build */ public final function main() { if ($this->cvsRoot === null) { throw new BuildException("cvsroot is required"); } if ($this->password === null) { throw new BuildException("password is required"); } $this->log("cvsRoot: " . $this->cvsRoot, Project::MSG_DEBUG); $this->log("password: "******"passFile: " . $this->passFile->__toString(), Project::MSG_DEBUG); $reader = null; $writer = null; try { $buf = ""; if ($this->passFile->exists()) { $reader = new BufferedReader(new FileReader($this->passFile)); $line = null; while (($line = $reader->readLine()) !== null) { if (!StringHelper::startsWith($this->cvsRoot, $line)) { $buf .= $line . PHP_EOL; } } } $pwdfile = $buf . $this->cvsRoot . " A" . $this->mangle($this->password); $this->log("Writing -> " . $pwdfile, Project::MSG_DEBUG); $writer = new BufferedWriter(new FileWriter($this->passFile)); $writer->write($pwdfile); $writer->newLine(); $writer->close(); if ($reader) { $reader->close(); } } catch (IOException $e) { if ($reader) { try { $reader->close(); } catch (Exception $e) { } } if ($writer) { try { $writer->close(); } catch (Exception $e) { } } throw new BuildException($e); } }
/** * Copies a file using filter chains. * * @param PhingFile $sourceFile * @param PhingFile $destFile * @param boolean $overwrite * @param boolean $preserveLastModified * @param array $filterChains * @param Project $project * @param integer $mode * @param bool $preservePermissions * * @throws Exception * @throws IOException * @return void */ public function copyFile(PhingFile $sourceFile, PhingFile $destFile, $overwrite = false, $preserveLastModified = true, &$filterChains = null, Project $project, $mode = 0755, $preservePermissions = true) { if ($overwrite || !$destFile->exists() || $destFile->lastModified() < $sourceFile->lastModified()) { if ($destFile->exists() && $destFile->isFile()) { $destFile->delete(); } // ensure that parent dir of dest file exists! $parent = $destFile->getParentFile(); if ($parent !== null && !$parent->exists()) { // Setting source directory permissions to target // (On permissions preservation, the target directory permissions // will be inherited from the source directory, otherwise the 'mode' // will be used) $dirMode = $preservePermissions ? $sourceFile->getParentFile()->getMode() : $mode; $parent->mkdirs($dirMode); } if (is_array($filterChains) && !empty($filterChains)) { $in = self::getChainedReader(new BufferedReader(new FileReader($sourceFile)), $filterChains, $project); $out = new BufferedWriter(new FileWriter($destFile)); // New read() methods returns a big buffer. while (-1 !== ($buffer = $in->read())) { // -1 indicates EOF $out->write($buffer); } if ($in !== null) { $in->close(); } if ($out !== null) { $out->close(); } // Set/Copy the permissions on the target if ($preservePermissions === true) { $destFile->setMode($sourceFile->getMode()); } } else { // simple copy (no filtering) $sourceFile->copyTo($destFile); // By default, PHP::Copy also copies the file permissions. Therefore, // re-setting the mode with the "user file-creation mask" information. if ($preservePermissions === false) { $destFile->setMode(FileUtils::getDefaultFileCreationMask(false, true)); } } if ($preserveLastModified && !$destFile->isLink()) { $destFile->setLastModified($sourceFile->lastModified()); } } }
/** * Copies a file using filter chains. * * @param PhingFile $sourceFile * @param PhingFile $destFile * @param boolean $overwrite * @param boolean $preserveLastModified * @param array $filterChains * @param Project $project * @return void */ function copyFile(PhingFile $sourceFile, PhingFile $destFile, $overwrite = false, $preserveLastModified = true, &$filterChains = null, Project $project) { if ($overwrite || !$destFile->exists() || $destFile->lastModified() < $sourceFile->lastModified()) { if ($destFile->exists() && $destFile->isFile()) { $destFile->delete(); } // ensure that parent dir of dest file exists! $parent = $destFile->getParentFile(); if ($parent !== null && !$parent->exists()) { $parent->mkdirs(); } if (is_array($filterChains) && !empty($filterChains)) { $in = self::getChainedReader(new BufferedReader(new FileReader($sourceFile)), $filterChains, $project); $out = new BufferedWriter(new FileWriter($destFile)); // New read() methods returns a big buffer. while (-1 !== ($buffer = $in->read())) { // -1 indicates EOF $out->write($buffer); } if ($in !== null) { $in->close(); } if ($out !== null) { $out->close(); } } else { // simple copy (no filtering) $sourceFile->copyTo($destFile); } if ($preserveLastModified) { $destFile->setLastModified($sourceFile->lastModified()); } } }
private static function writeComments(BufferedWriter $bw, $comments) { $rows = explode("\n", $comments); $bw->write("#" . PHP_EOL); foreach ($rows as $row) { $bw->write(sprintf("#%s%s", trim($row), PHP_EOL)); } $bw->write("#"); $bw->newLine(); }