From 903ae8a581fac1e6917fc3e31d2ad8fb91df80c3 Mon Sep 17 00:00:00 2001 From: ctrlaltca <> Date: Thu, 12 Jul 2012 11:21:01 +0000 Subject: standardize the use of unix eol; use svn properties to enforce native eol --- .../phing/tasks/ext/ioncube/IoncubeComment.php | 86 ++--- .../simpletest/SimpleTestCountResultFormatter.php | 102 +++--- .../ext/simpletest/SimpleTestFormatterElement.php | 250 +++++++------- .../simpletest/SimpleTestPlainResultFormatter.php | 188 +++++------ .../ext/simpletest/SimpleTestResultFormatter.php | 322 +++++++++--------- .../SimpleTestSummaryResultFormatter.php | 106 +++--- .../classes/phing/tasks/ext/svn/SvnBaseTask.php | 358 ++++++++++----------- .../system/condition/ReferenceExistsCondition.php | 104 +++--- 8 files changed, 758 insertions(+), 758 deletions(-) (limited to 'buildscripts/phing/classes') diff --git a/buildscripts/phing/classes/phing/tasks/ext/ioncube/IoncubeComment.php b/buildscripts/phing/classes/phing/tasks/ext/ioncube/IoncubeComment.php index 99434aaa..76780fa6 100644 --- a/buildscripts/phing/classes/phing/tasks/ext/ioncube/IoncubeComment.php +++ b/buildscripts/phing/classes/phing/tasks/ext/ioncube/IoncubeComment.php @@ -1,44 +1,44 @@ -. - */ - -/** - * Wrapper for comments for ionCube tasks - * - * @author Michiel Rook - * @version $Id: IoncubeComment.php 59 2006-04-28 14:49:47Z mrook $ - * @package phing.tasks.ext.ioncube - * @since 2.2.0 - */ -class IoncubeComment -{ - private $value = ""; - - public function getValue() - { - return $this->value; - } - - public function addText($txt) - { - $this->value = trim($txt); - } -} +. + */ + +/** + * Wrapper for comments for ionCube tasks + * + * @author Michiel Rook + * @version $Id: IoncubeComment.php 59 2006-04-28 14:49:47Z mrook $ + * @package phing.tasks.ext.ioncube + * @since 2.2.0 + */ +class IoncubeComment +{ + private $value = ""; + + public function getValue() + { + return $this->value; + } + + public function addText($txt) + { + $this->value = trim($txt); + } +} ?> \ No newline at end of file diff --git a/buildscripts/phing/classes/phing/tasks/ext/simpletest/SimpleTestCountResultFormatter.php b/buildscripts/phing/classes/phing/tasks/ext/simpletest/SimpleTestCountResultFormatter.php index 11e360e0..654d65dd 100644 --- a/buildscripts/phing/classes/phing/tasks/ext/simpletest/SimpleTestCountResultFormatter.php +++ b/buildscripts/phing/classes/phing/tasks/ext/simpletest/SimpleTestCountResultFormatter.php @@ -1,52 +1,52 @@ -. - */ - -require_once 'phing/tasks/ext/simpletest/SimpleTestResultFormatter.php'; - -/** - * Dummy result formatter used to count SimpleTest results - * - * @author Michiel Rook - * @version $Id: SimpleTestCountResultFormatter.php 58 2006-04-28 14:41:04Z mrook $ - * @package phing.tasks.ext.simpletest - * @since 2.2.0 - */ -class SimpleTestCountResultFormatter extends SimpleTestResultFormatter -{ - const SUCCESS = 0; - const FAILURES = 1; - const ERRORS = 2; - - function getRetCode() - { - if ($this->getExceptionCount() != 0) - { - return self::ERRORS; - } - else if ($this->getFailCount() != 0) - { - return self::FAILURES; - } - - return self::SUCCESS; - } -} +. + */ + +require_once 'phing/tasks/ext/simpletest/SimpleTestResultFormatter.php'; + +/** + * Dummy result formatter used to count SimpleTest results + * + * @author Michiel Rook + * @version $Id: SimpleTestCountResultFormatter.php 58 2006-04-28 14:41:04Z mrook $ + * @package phing.tasks.ext.simpletest + * @since 2.2.0 + */ +class SimpleTestCountResultFormatter extends SimpleTestResultFormatter +{ + const SUCCESS = 0; + const FAILURES = 1; + const ERRORS = 2; + + function getRetCode() + { + if ($this->getExceptionCount() != 0) + { + return self::ERRORS; + } + else if ($this->getFailCount() != 0) + { + return self::FAILURES; + } + + return self::SUCCESS; + } +} ?> \ No newline at end of file diff --git a/buildscripts/phing/classes/phing/tasks/ext/simpletest/SimpleTestFormatterElement.php b/buildscripts/phing/classes/phing/tasks/ext/simpletest/SimpleTestFormatterElement.php index 82bf5776..768a041f 100644 --- a/buildscripts/phing/classes/phing/tasks/ext/simpletest/SimpleTestFormatterElement.php +++ b/buildscripts/phing/classes/phing/tasks/ext/simpletest/SimpleTestFormatterElement.php @@ -1,126 +1,126 @@ -. - */ - -require_once 'phing/tasks/ext/simpletest/SimpleTestPlainResultFormatter.php'; -require_once 'phing/tasks/ext/simpletest/SimpleTestSummaryResultFormatter.php'; -require_once 'phing/tasks/ext/simpletest/SimpleTestXmlResultFormatter.php'; - -/** - * Child class of "FormatterElement", overrides setType to provide other - * formatter classes for SimpleTest - * - * @author Michiel Rook - * @version $Id: SimpleTestFormatterElement.php 58 2006-04-28 14:41:04Z mrook $ - * @package phing.tasks.ext.simpletest - * @since 2.2.0 - */ -class SimpleTestFormatterElement -{ - protected $formatter = NULL; - - protected $type = ""; - - protected $useFile = true; - - protected $toDir = "."; - - protected $outfile = ""; - - function setType($type) - { - $this->type = $type; - - if ($this->type == "xml") - { - //$destFile = new PhingFile($this->toDir, 'testsuites.xml'); - $this->formatter = new SimpleTestXmlResultFormatter(); - } - else - if ($this->type == "plain") - { - $this->formatter = new SimpleTestPlainResultFormatter(); - } - else - if ($this->type == "summary") - { - $this->formatter = new SimpleTestSummaryResultFormatter(); - } - else - { - throw new BuildException("Formatter '" . $this->type . "' not implemented"); - } - } - - function setClassName($className) - { - $classNameNoDot = Phing::import($className); - - $this->formatter = new $classNameNoDot(); - } - - function setUseFile($useFile) - { - $this->useFile = $useFile; - } - - function getUseFile() - { - return $this->useFile; - } - - function setToDir($toDir) - { - $this->toDir = $toDir; - } - - function getToDir() - { - return $this->toDir; - } - - function setOutfile($outfile) - { - $this->outfile = $outfile; - } - - function getOutfile() - { - if ($this->outfile) - { - return $this->outfile; - } - else - { - return $this->formatter->getPreferredOutfile() . $this->getExtension(); - } - } - - function getExtension() - { - return $this->formatter->getExtension(); - } - - function getFormatter() - { - return $this->formatter; - } -} +. + */ + +require_once 'phing/tasks/ext/simpletest/SimpleTestPlainResultFormatter.php'; +require_once 'phing/tasks/ext/simpletest/SimpleTestSummaryResultFormatter.php'; +require_once 'phing/tasks/ext/simpletest/SimpleTestXmlResultFormatter.php'; + +/** + * Child class of "FormatterElement", overrides setType to provide other + * formatter classes for SimpleTest + * + * @author Michiel Rook + * @version $Id: SimpleTestFormatterElement.php 58 2006-04-28 14:41:04Z mrook $ + * @package phing.tasks.ext.simpletest + * @since 2.2.0 + */ +class SimpleTestFormatterElement +{ + protected $formatter = NULL; + + protected $type = ""; + + protected $useFile = true; + + protected $toDir = "."; + + protected $outfile = ""; + + function setType($type) + { + $this->type = $type; + + if ($this->type == "xml") + { + //$destFile = new PhingFile($this->toDir, 'testsuites.xml'); + $this->formatter = new SimpleTestXmlResultFormatter(); + } + else + if ($this->type == "plain") + { + $this->formatter = new SimpleTestPlainResultFormatter(); + } + else + if ($this->type == "summary") + { + $this->formatter = new SimpleTestSummaryResultFormatter(); + } + else + { + throw new BuildException("Formatter '" . $this->type . "' not implemented"); + } + } + + function setClassName($className) + { + $classNameNoDot = Phing::import($className); + + $this->formatter = new $classNameNoDot(); + } + + function setUseFile($useFile) + { + $this->useFile = $useFile; + } + + function getUseFile() + { + return $this->useFile; + } + + function setToDir($toDir) + { + $this->toDir = $toDir; + } + + function getToDir() + { + return $this->toDir; + } + + function setOutfile($outfile) + { + $this->outfile = $outfile; + } + + function getOutfile() + { + if ($this->outfile) + { + return $this->outfile; + } + else + { + return $this->formatter->getPreferredOutfile() . $this->getExtension(); + } + } + + function getExtension() + { + return $this->formatter->getExtension(); + } + + function getFormatter() + { + return $this->formatter; + } +} ?> \ No newline at end of file diff --git a/buildscripts/phing/classes/phing/tasks/ext/simpletest/SimpleTestPlainResultFormatter.php b/buildscripts/phing/classes/phing/tasks/ext/simpletest/SimpleTestPlainResultFormatter.php index 688e2fe6..9d570486 100644 --- a/buildscripts/phing/classes/phing/tasks/ext/simpletest/SimpleTestPlainResultFormatter.php +++ b/buildscripts/phing/classes/phing/tasks/ext/simpletest/SimpleTestPlainResultFormatter.php @@ -1,95 +1,95 @@ -. - */ - -require_once 'phing/tasks/ext/simpletest/SimpleTestResultFormatter.php'; - -/** - * Prints plain text output of the test to a specified Writer. - * - * @author Michiel Rook - * @version $Id: SimpleTestPlainResultFormatter.php 59 2006-04-28 14:49:47Z mrook $ - * @package phing.tasks.ext.simpletest - * @since 2.2.0 - */ -class SimpleTestPlainResultFormatter extends SimpleTestResultFormatter -{ - private $inner = ""; - - function getExtension() - { - return ".txt"; - } - - function getPreferredOutfile() - { - return "testresults"; - } - - function paintCaseStart($test_name) - { - parent::paintCaseStart($test_name); - - $this->inner = ""; - } - - function paintCaseEnd($test_name) - { - parent::paintCaseEnd($test_name); - - /* Only count suites where more than one test was run */ - if ($this->getRunCount()) - { - $sb = "Testsuite: $test_name\n"; - $sb.= "Tests run: " . $this->getRunCount(); - $sb.= ", Failures: " . $this->getFailureCount(); - $sb.= ", Errors: " . $this->getErrorCount(); - $sb.= ", Time elapsed: " . $this->getElapsedTime(); - $sb.= " sec\n"; - - if ($this->out != NULL) - { - $this->out->write($sb); - $this->out->write($this->inner); - } - } - } - - function paintError($message) - { - parent::paintError($message); - - $this->formatError("ERROR", $message); - } - - function paintFail($message) - { - parent::paintFail($message); - - $this->formatError("FAILED", $message); - } - - private function formatError($type, $message) - { - $this->inner.= $this->getTestName() . " " . $type . "\n"; - $this->inner.= $message . "\n"; - } -} +. + */ + +require_once 'phing/tasks/ext/simpletest/SimpleTestResultFormatter.php'; + +/** + * Prints plain text output of the test to a specified Writer. + * + * @author Michiel Rook + * @version $Id: SimpleTestPlainResultFormatter.php 59 2006-04-28 14:49:47Z mrook $ + * @package phing.tasks.ext.simpletest + * @since 2.2.0 + */ +class SimpleTestPlainResultFormatter extends SimpleTestResultFormatter +{ + private $inner = ""; + + function getExtension() + { + return ".txt"; + } + + function getPreferredOutfile() + { + return "testresults"; + } + + function paintCaseStart($test_name) + { + parent::paintCaseStart($test_name); + + $this->inner = ""; + } + + function paintCaseEnd($test_name) + { + parent::paintCaseEnd($test_name); + + /* Only count suites where more than one test was run */ + if ($this->getRunCount()) + { + $sb = "Testsuite: $test_name\n"; + $sb.= "Tests run: " . $this->getRunCount(); + $sb.= ", Failures: " . $this->getFailureCount(); + $sb.= ", Errors: " . $this->getErrorCount(); + $sb.= ", Time elapsed: " . $this->getElapsedTime(); + $sb.= " sec\n"; + + if ($this->out != NULL) + { + $this->out->write($sb); + $this->out->write($this->inner); + } + } + } + + function paintError($message) + { + parent::paintError($message); + + $this->formatError("ERROR", $message); + } + + function paintFail($message) + { + parent::paintFail($message); + + $this->formatError("FAILED", $message); + } + + private function formatError($type, $message) + { + $this->inner.= $this->getTestName() . " " . $type . "\n"; + $this->inner.= $message . "\n"; + } +} ?> \ No newline at end of file diff --git a/buildscripts/phing/classes/phing/tasks/ext/simpletest/SimpleTestResultFormatter.php b/buildscripts/phing/classes/phing/tasks/ext/simpletest/SimpleTestResultFormatter.php index 4583cf27..35077210 100644 --- a/buildscripts/phing/classes/phing/tasks/ext/simpletest/SimpleTestResultFormatter.php +++ b/buildscripts/phing/classes/phing/tasks/ext/simpletest/SimpleTestResultFormatter.php @@ -1,162 +1,162 @@ -. - */ - -//require_once 'simpletest/scorer.php'; - -require_once 'phing/system/io/Writer.php'; - -/** - * This abstract class describes classes that format the results of a SimpleTest testrun. - * - * @author Michiel Rook - * @version $Id: SimpleTestResultFormatter.php 58 2006-04-28 14:41:04Z mrook $ - * @package phing.tasks.ext.phpunit2 - * @since 2.2.0 - */ -abstract class SimpleTestResultFormatter extends SimpleReporter -{ - protected $out = NULL; - - protected $project = NULL; - - private $timer = NULL; - - private $runCount = 0; - - private $failureCount = 0; - - private $errorCount = 0; - - private $currentTest = ""; - - /** - * Sets the writer the formatter is supposed to write its results to. - */ - function setOutput(Writer $out) - { - $this->out = $out; - } - - /** - * Returns the extension used for this formatter - * - * @return string the extension - */ - function getExtension() - { - return ""; - } - - /** - * Sets the project - * - * @param Project the project - */ - function setProject(Project $project) - { - $this->project = $project; - } - - function getPreferredOutfile() - { - return ""; - } - - function paintMethodStart($test_name) - { - parent::paintMethodStart($test_name); - - $this->currentTest = $test_name; - } - - function paintMethodEnd($test_name) - { - parent::paintMethodEnd($test_name); - - $this->runCount++; - } - - function paintCaseStart($test_name) - { - parent::paintCaseStart($test_name); - - $this->runCount = 0; - $this->failureCount = 0; - $this->errorCount = 0; - - $this->timer = new Timer(); - $this->timer->start(); - } - - function paintCaseEnd($test_name) - { - parent::paintCaseEnd($test_name); - - $this->timer->stop(); - } - - function paintError($message) - { - parent::paintError($message); - - $this->errorCount++; - } - - function paintFail($message) - { - parent::paintFail($message); - - $this->failureCount++; - } - - function getRunCount() - { - return $this->runCount; - } - - function getFailureCount() - { - return $this->failureCount; - } - - function getErrorCount() - { - return $this->errorCount; - } - - function getTestName() - { - return $this->currentTest; - } - - function getElapsedTime() - { - if ($this->timer) - { - return $this->timer->getElapsedTime(); - } - else - { - return 0; - } - } -} +. + */ + +//require_once 'simpletest/scorer.php'; + +require_once 'phing/system/io/Writer.php'; + +/** + * This abstract class describes classes that format the results of a SimpleTest testrun. + * + * @author Michiel Rook + * @version $Id: SimpleTestResultFormatter.php 58 2006-04-28 14:41:04Z mrook $ + * @package phing.tasks.ext.phpunit2 + * @since 2.2.0 + */ +abstract class SimpleTestResultFormatter extends SimpleReporter +{ + protected $out = NULL; + + protected $project = NULL; + + private $timer = NULL; + + private $runCount = 0; + + private $failureCount = 0; + + private $errorCount = 0; + + private $currentTest = ""; + + /** + * Sets the writer the formatter is supposed to write its results to. + */ + function setOutput(Writer $out) + { + $this->out = $out; + } + + /** + * Returns the extension used for this formatter + * + * @return string the extension + */ + function getExtension() + { + return ""; + } + + /** + * Sets the project + * + * @param Project the project + */ + function setProject(Project $project) + { + $this->project = $project; + } + + function getPreferredOutfile() + { + return ""; + } + + function paintMethodStart($test_name) + { + parent::paintMethodStart($test_name); + + $this->currentTest = $test_name; + } + + function paintMethodEnd($test_name) + { + parent::paintMethodEnd($test_name); + + $this->runCount++; + } + + function paintCaseStart($test_name) + { + parent::paintCaseStart($test_name); + + $this->runCount = 0; + $this->failureCount = 0; + $this->errorCount = 0; + + $this->timer = new Timer(); + $this->timer->start(); + } + + function paintCaseEnd($test_name) + { + parent::paintCaseEnd($test_name); + + $this->timer->stop(); + } + + function paintError($message) + { + parent::paintError($message); + + $this->errorCount++; + } + + function paintFail($message) + { + parent::paintFail($message); + + $this->failureCount++; + } + + function getRunCount() + { + return $this->runCount; + } + + function getFailureCount() + { + return $this->failureCount; + } + + function getErrorCount() + { + return $this->errorCount; + } + + function getTestName() + { + return $this->currentTest; + } + + function getElapsedTime() + { + if ($this->timer) + { + return $this->timer->getElapsedTime(); + } + else + { + return 0; + } + } +} ?> \ No newline at end of file diff --git a/buildscripts/phing/classes/phing/tasks/ext/simpletest/SimpleTestSummaryResultFormatter.php b/buildscripts/phing/classes/phing/tasks/ext/simpletest/SimpleTestSummaryResultFormatter.php index bd691374..a2fafb0a 100644 --- a/buildscripts/phing/classes/phing/tasks/ext/simpletest/SimpleTestSummaryResultFormatter.php +++ b/buildscripts/phing/classes/phing/tasks/ext/simpletest/SimpleTestSummaryResultFormatter.php @@ -1,54 +1,54 @@ -. - */ - -require_once 'phing/tasks/ext/simpletest/SimpleTestResultFormatter.php'; - -/** - * Prints short summary output of the test to Phing's logging system. - * - * @author Michiel Rook - * @version $Id: SimpleTestSummaryResultFormatter.php 59 2006-04-28 14:49:47Z mrook $ - * @package phing.tasks.ext.simpletest - * @since 2.2.0 - */ -class SimpleTestSummaryResultFormatter extends SimpleTestResultFormatter -{ - function paintCaseEnd($test_name) - { - parent::paintCaseEnd($test_name); - - /* Only count suites where more than one test was run */ - if ($this->getRunCount()) - { - $sb= "Tests run: " . $this->getRunCount(); - $sb.= ", Failures: " . $this->getFailureCount(); - $sb.= ", Errors: " . $this->getErrorCount(); - $sb.= ", Time elapsed: " . $this->getElapsedTime(); - $sb.= " sec\n"; - - if ($this->out != NULL) - { - $this->out->write($sb); - } - } - } -} +. + */ + +require_once 'phing/tasks/ext/simpletest/SimpleTestResultFormatter.php'; + +/** + * Prints short summary output of the test to Phing's logging system. + * + * @author Michiel Rook + * @version $Id: SimpleTestSummaryResultFormatter.php 59 2006-04-28 14:49:47Z mrook $ + * @package phing.tasks.ext.simpletest + * @since 2.2.0 + */ +class SimpleTestSummaryResultFormatter extends SimpleTestResultFormatter +{ + function paintCaseEnd($test_name) + { + parent::paintCaseEnd($test_name); + + /* Only count suites where more than one test was run */ + if ($this->getRunCount()) + { + $sb= "Tests run: " . $this->getRunCount(); + $sb.= ", Failures: " . $this->getFailureCount(); + $sb.= ", Errors: " . $this->getErrorCount(); + $sb.= ", Time elapsed: " . $this->getElapsedTime(); + $sb.= " sec\n"; + + if ($this->out != NULL) + { + $this->out->write($sb); + } + } + } +} ?> \ No newline at end of file diff --git a/buildscripts/phing/classes/phing/tasks/ext/svn/SvnBaseTask.php b/buildscripts/phing/classes/phing/tasks/ext/svn/SvnBaseTask.php index 71e3ba2e..55c695cf 100644 --- a/buildscripts/phing/classes/phing/tasks/ext/svn/SvnBaseTask.php +++ b/buildscripts/phing/classes/phing/tasks/ext/svn/SvnBaseTask.php @@ -1,180 +1,180 @@ -. - */ - -include_once 'phing/Task.php'; - -/** - * Send a message by mail() - * - * The build process is a success... - * - * @author Francois Harvey at SecuriWeb (http://www.securiweb.net) - * @version $Id: SvnBaseTask.php 38 2006-03-09 14:05:11Z mrook $ - * @package phing.tasks.ext - */ -abstract class SvnBaseTask extends Task -{ - private $workingCopy = ""; - - private $repositoryUrl = ""; - - private $svnPath = "/usr/bin/svn"; - - private $svn = NULL; - - private $mode = ""; - - private $svnArgs = array(); - - /** - * Initialize Task. - * This method includes any necessary SVN libraries and triggers - * appropriate error if they cannot be found. This is not done in header - * because we may want this class to be loaded w/o triggering an error. - */ - function init() { - include_once 'VersionControl/SVN.php'; - if (!class_exists('VersionControl_SVN')) { - throw new Exception("SvnLastRevisionTask depends on PEAR VersionControl_SVN package being installed."); - } - } - - /** - * Sets the path to the workingcopy - */ - function setWorkingCopy($workingCopy) - { - $this->workingCopy = $workingCopy; - } - - /** - * Returns the path to the workingcopy - */ - function getWorkingCopy() - { - return $this->workingCopy; - } - - /** - * Sets the path/URI to the repository - */ - function setRepositoryUrl($repositoryUrl) - { - $this->repositoryUrl = $repositoryUrl; - } - - /** - * Returns the path/URI to the repository - */ - function getRepositoryUrl() - { - return $this->repositoryUrl; - } - - /** - * Sets the path to the SVN executable - */ - function setSvnPath($svnPath) - { - $this->svnPath = $svnPath; - } - - /** - * Returns the path to the SVN executable - */ - function getSvnPath() - { - return $this->svnPath; - } - - /** - * Creates a VersionControl_SVN class based on $mode - * - * @param string The SVN mode to use (info, export, checkout, ...) - * @throws BuildException - */ - protected function setup($mode) - { - $this->mode = $mode; - - // Set up runtime options. Will be passed to all - // subclasses. - $options = array('fetchmode' => VERSIONCONTROL_SVN_FETCHMODE_ASSOC, 'svn_path' => $this->getSvnPath()); - - // Pass array of subcommands we need to factory - $this->svn = VersionControl_SVN::factory($mode, $options); - - if (!empty($this->repositoryUrl)) - { - $this->svnArgs = array($this->repositoryUrl); - } - else - if (!empty($this->workingCopy)) - { - if (is_dir($this->workingCopy)) - { - if (in_array(".svn", scandir($this->workingCopy))) - { - $this->svnArgs = array($this->workingCopy); - } - else - { - throw new BuildException("'".$this->workingCopy."' doesn't seem to be a working copy"); - } - } - else - { - throw new BuildException("'".$this->workingCopy."' is not a directory"); - } - } - } - - /** - * Executes the constructed VersionControl_SVN instance - * - * @param array Additional arguments to pass to SVN. - * @param array Switches to pass to SVN. - * @return string Output generated by SVN. - */ - protected function run($args = array(), $switches = array()) - { - $svnstack = PEAR_ErrorStack::singleton('VersionControl_SVN'); - - $tempArgs = $this->svnArgs; - - $tempArgs = array_merge($tempArgs, $args); - - if ($output = $this->svn->run($tempArgs, $switches)) - { - return $output; - } - else - { - if (count($errs = $svnstack->getErrors())) - { - $err = current($errs); - - throw new BuildException("Failed to run the 'svn " . $this->mode . "' command: " . $err['message']); - } - } - } -} +. + */ + +include_once 'phing/Task.php'; + +/** + * Send a message by mail() + * + * The build process is a success... + * + * @author Francois Harvey at SecuriWeb (http://www.securiweb.net) + * @version $Id: SvnBaseTask.php 38 2006-03-09 14:05:11Z mrook $ + * @package phing.tasks.ext + */ +abstract class SvnBaseTask extends Task +{ + private $workingCopy = ""; + + private $repositoryUrl = ""; + + private $svnPath = "/usr/bin/svn"; + + private $svn = NULL; + + private $mode = ""; + + private $svnArgs = array(); + + /** + * Initialize Task. + * This method includes any necessary SVN libraries and triggers + * appropriate error if they cannot be found. This is not done in header + * because we may want this class to be loaded w/o triggering an error. + */ + function init() { + include_once 'VersionControl/SVN.php'; + if (!class_exists('VersionControl_SVN')) { + throw new Exception("SvnLastRevisionTask depends on PEAR VersionControl_SVN package being installed."); + } + } + + /** + * Sets the path to the workingcopy + */ + function setWorkingCopy($workingCopy) + { + $this->workingCopy = $workingCopy; + } + + /** + * Returns the path to the workingcopy + */ + function getWorkingCopy() + { + return $this->workingCopy; + } + + /** + * Sets the path/URI to the repository + */ + function setRepositoryUrl($repositoryUrl) + { + $this->repositoryUrl = $repositoryUrl; + } + + /** + * Returns the path/URI to the repository + */ + function getRepositoryUrl() + { + return $this->repositoryUrl; + } + + /** + * Sets the path to the SVN executable + */ + function setSvnPath($svnPath) + { + $this->svnPath = $svnPath; + } + + /** + * Returns the path to the SVN executable + */ + function getSvnPath() + { + return $this->svnPath; + } + + /** + * Creates a VersionControl_SVN class based on $mode + * + * @param string The SVN mode to use (info, export, checkout, ...) + * @throws BuildException + */ + protected function setup($mode) + { + $this->mode = $mode; + + // Set up runtime options. Will be passed to all + // subclasses. + $options = array('fetchmode' => VERSIONCONTROL_SVN_FETCHMODE_ASSOC, 'svn_path' => $this->getSvnPath()); + + // Pass array of subcommands we need to factory + $this->svn = VersionControl_SVN::factory($mode, $options); + + if (!empty($this->repositoryUrl)) + { + $this->svnArgs = array($this->repositoryUrl); + } + else + if (!empty($this->workingCopy)) + { + if (is_dir($this->workingCopy)) + { + if (in_array(".svn", scandir($this->workingCopy))) + { + $this->svnArgs = array($this->workingCopy); + } + else + { + throw new BuildException("'".$this->workingCopy."' doesn't seem to be a working copy"); + } + } + else + { + throw new BuildException("'".$this->workingCopy."' is not a directory"); + } + } + } + + /** + * Executes the constructed VersionControl_SVN instance + * + * @param array Additional arguments to pass to SVN. + * @param array Switches to pass to SVN. + * @return string Output generated by SVN. + */ + protected function run($args = array(), $switches = array()) + { + $svnstack = PEAR_ErrorStack::singleton('VersionControl_SVN'); + + $tempArgs = $this->svnArgs; + + $tempArgs = array_merge($tempArgs, $args); + + if ($output = $this->svn->run($tempArgs, $switches)) + { + return $output; + } + else + { + if (count($errs = $svnstack->getErrors())) + { + $err = current($errs); + + throw new BuildException("Failed to run the 'svn " . $this->mode . "' command: " . $err['message']); + } + } + } +} ?> \ No newline at end of file diff --git a/buildscripts/phing/classes/phing/tasks/system/condition/ReferenceExistsCondition.php b/buildscripts/phing/classes/phing/tasks/system/condition/ReferenceExistsCondition.php index 04c1cbbd..09324fb8 100644 --- a/buildscripts/phing/classes/phing/tasks/system/condition/ReferenceExistsCondition.php +++ b/buildscripts/phing/classes/phing/tasks/system/condition/ReferenceExistsCondition.php @@ -1,52 +1,52 @@ -. - */ - -require_once 'phing/ProjectComponent.php'; require_once 'phing/tasks/system/condition/Condition.php'; - -/** - * Condition that tests whether a given reference exists. - * - * @author Matthias Pigulla (Phing) - * @version $Revision: 1.1 $ - * @package phing.tasks.system.condition */ -class ReferenceExistsCondition extends ProjectComponent implements Condition { - - private $refid; - - public function setRef($id) { - $this->refid = (string) $id; - } - - /** - * Check whether the reference exists. - * @throws BuildException - */ - public function evaluate() { - if ($this->refid === null) { - throw new BuildException("No ref attribute specified for reference-exists " - . "condition"); - } - $refs = $this->project->getReferences(); - return isset($refs[$this->refid]); - } - -} - +. + */ + +require_once 'phing/ProjectComponent.php'; require_once 'phing/tasks/system/condition/Condition.php'; + +/** + * Condition that tests whether a given reference exists. + * + * @author Matthias Pigulla (Phing) + * @version $Revision: 1.1 $ + * @package phing.tasks.system.condition */ +class ReferenceExistsCondition extends ProjectComponent implements Condition { + + private $refid; + + public function setRef($id) { + $this->refid = (string) $id; + } + + /** + * Check whether the reference exists. + * @throws BuildException + */ + public function evaluate() { + if ($this->refid === null) { + throw new BuildException("No ref attribute specified for reference-exists " + . "condition"); + } + $refs = $this->project->getReferences(); + return isset($refs[$this->refid]); + } + +} + -- cgit v1.2.3