diff -ru phing-orig/filters/util/IniFileTokenReader.php phing/filters/util/IniFileTokenReader.php
--- phing-orig/filters/util/IniFileTokenReader.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/filters/util/IniFileTokenReader.php	2007-04-16 16:31:31.000000000 -0400
@@ -48,7 +48,7 @@
     /**
      * Reads the next token from the INI file
      *
-     * @throws  IOException     On error
+     * @throws  IOException     On error
      * @return Token
      */
     function readToken() {
diff -ru phing-orig/listener/AnsiColorLogger.php phing/listener/AnsiColorLogger.php
--- phing-orig/listener/AnsiColorLogger.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/listener/AnsiColorLogger.php	2007-04-16 16:31:31.000000000 -0400
@@ -197,9 +197,9 @@
     }
 
     /**
-     * @see DefaultLogger#printMessage
-     * @param string $message
-     * @param OutputStream $stream
+     * @see DefaultLogger#printMessage
+     * @param string $message
+     * @param OutputStream $stream
      * @param int $priority
      */
     protected final function printMessage($message, OutputStream $stream, $priority) {
@@ -226,8 +226,8 @@
                 case Project::MSG_DEBUG:
                     $message = $this->debugColor . $message . self::END_COLOR;
                     break;
-            }
-            
+            }
+            
             $stream->write($message . $this->lSep);
         }
     }
diff -ru phing-orig/listener/DefaultLogger.php phing/listener/DefaultLogger.php
--- phing-orig/listener/DefaultLogger.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/listener/DefaultLogger.php	2007-04-16 16:31:31.000000000 -0400
@@ -60,16 +60,16 @@
      *  property <em>line.seperator</em>.
      *  @var string
      */
-    protected $lSep;
-    
-    /**
-     * @var OutputStream Stream to use for standard output.
-     */
-    protected $out;
-    
-    /**
-     * @var OutputStream Stream to use for error output.
-     */
+    protected $lSep;
+    
+    /**
+     * @var OutputStream Stream to use for standard output.
+     */
+    protected $out;
+    
+    /**
+     * @var OutputStream Stream to use for error output.
+     */
     protected $err;
 
     /**
@@ -98,30 +98,30 @@
      *
      *  The default message level for DefaultLogger is Project::MSG_ERR.
      *
-     * @param int $level The logging level for the logger.
+     * @param int $level The logging level for the logger.
      * @see BuildLogger#setMessageOutputLevel()
      */
     public function setMessageOutputLevel($level) {
         $this->msgOutputLevel = (int) $level;
-    }
-    
-    /**
-     * Sets the output stream.
-     * @param OutputStream $output
-     * @see BuildLogger#setOutputStream()
-     */
-    public function setOutputStream(OutputStream $output) {
-    	$this->out = $output;
-    }
-	
-    /**
-     * Sets the error stream.
-     * @param OutputStream $err
-     * @see BuildLogger#setErrorStream()
-     */
-    public function setErrorStream(OutputStream $err) {
-    	$this->err = $err;
-    }
+    }
+    
+    /**
+     * Sets the output stream.
+     * @param OutputStream $output
+     * @see BuildLogger#setOutputStream()
+     */
+    public function setOutputStream(OutputStream $output) {
+    	$this->out = $output;
+    }
+	
+    /**
+     * Sets the error stream.
+     * @param OutputStream $err
+     * @see BuildLogger#setErrorStream()
+     */
+    public function setErrorStream(OutputStream $err) {
+    	$this->err = $err;
+    }
     
     /**
     *  Sets the start-time when the build started. Used for calculating
@@ -156,30 +156,30 @@
                 $msg .= $error->getMessage();
             }
         }
-        $msg .= $this->lSep . "Total time: " .self::formatTime(Phing::currentTimeMillis() - $this->startTime) . $this->lSep;
-        
-    	if ($error === null) {
-            $this->printMessage($msg, $this->out, Project::MSG_VERBOSE);
-        } else {
-            $this->printMessage($msg, $this->err, Project::MSG_ERR);
-        }
-    }
-
-	/**
-     * Get the message to return when a build failed.
-     * @return string The classic "BUILD FAILED"
-     */
-    protected function getBuildFailedMessage() {
-        return "BUILD FAILED";
-    }
-
-    /**
-     * Get the message to return when a build succeeded.
-     * @return string The classic "BUILD FINISHED"
-     */
-    protected function getBuildSuccessfulMessage() {
-        return "BUILD FINISHED";
-    }
+        $msg .= $this->lSep . "Total time: " .self::formatTime(Phing::currentTimeMillis() - $this->startTime) . $this->lSep;
+        
+    	if ($error === null) {
+            $this->printMessage($msg, $this->out, Project::MSG_VERBOSE);
+        } else {
+            $this->printMessage($msg, $this->err, Project::MSG_ERR);
+        }
+    }
+
+	/**
+     * Get the message to return when a build failed.
+     * @return string The classic "BUILD FAILED"
+     */
+    protected function getBuildFailedMessage() {
+        return "BUILD FAILED";
+    }
+
+    /**
+     * Get the message to return when a build succeeded.
+     * @return string The classic "BUILD FINISHED"
+     */
+    protected function getBuildSuccessfulMessage() {
+        return "BUILD FINISHED";
+    }
     
     /**
      *  Prints the current target name
@@ -189,8 +189,8 @@
      *  @see    BuildEvent::getTarget()
      */
     public function targetStarted(BuildEvent $event) {
-        if (Project::MSG_INFO <= $this->msgOutputLevel) {
-        	$msg = $this->lSep . $event->getProject()->getName() . ' > ' . $event->getTarget()->getName() . ':' . $this->lSep;
+        if (Project::MSG_INFO <= $this->msgOutputLevel) {
+        	$msg = $this->lSep . $event->getProject()->getName() . ' > ' . $event->getTarget()->getName() . ':' . $this->lSep;
         	$this->printMessage($msg, $this->out, $event->getPriority());
         }
     }
@@ -231,7 +231,7 @@
      *  @access public
      *  @see    BuildEvent::getMessage()
      */
-    public function messageLogged(BuildEvent $event) {
+    public function messageLogged(BuildEvent $event) {
     	$priority = $event->getPriority();
         if ($priority <= $this->msgOutputLevel) {
             $msg = "";
@@ -239,14 +239,14 @@
                 $name = $event->getTask();
                 $name = $name->getTaskName();
                 $msg = str_pad("[$name] ", self::LEFT_COLUMN_SIZE, " ", STR_PAD_LEFT);
-            }
+            }
+            
+            $msg .= $event->getMessage();
             
-            $msg .= $event->getMessage();
-            
-            if ($priority != Project::MSG_ERR) {
-                $this->printMessage($msg, $this->out, $priority);
-            } else {
-            	$this->printMessage($msg, $this->err, $priority);
+            if ($priority != Project::MSG_ERR) {
+                $this->printMessage($msg, $this->out, $priority);
+            } else {
+            	$this->printMessage($msg, $this->err, $priority);
             }
         }
     }
@@ -273,13 +273,13 @@
      * Prints a message to console.
      * 
      * @param string $message  The message to print. 
-     *                 Should not be <code>null</code>.
+     *                 Should not be <code>null</code>.
      * @param resource $stream The stream to use for message printing.
      * @param int $priority The priority of the message. 
      *                 (Ignored in this implementation.)
      * @return void
      */
-    protected function printMessage($message, OutputStream $stream, $priority) {
+    protected function printMessage($message, OutputStream $stream, $priority) {
     	$stream->write($message . $this->lSep);
     }    
 }
diff -ru phing-orig/listener/NoBannerLogger.php phing/listener/NoBannerLogger.php
--- phing-orig/listener/NoBannerLogger.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/listener/NoBannerLogger.php	2007-04-16 16:31:31.000000000 -0400
@@ -42,14 +42,14 @@
 		$this->targetName = null;
 	}
 
-	function messageLogged(BuildEvent $event) {
+	function messageLogged(BuildEvent $event) {
 		
 		if ($event->getPriority() > $this->msgOutputLevel || null === $event->getMessage() || trim($event->getMessage() === "")) {
 			return;
-		}
+		}
 		
-		if ($this->targetName !== null) {
-			$msg = $this->lSep . $event->getProject()->getName() . ' > ' . $this->targetName . ':' . $this->lSep;
+		if ($this->targetName !== null) {
+			$msg = $this->lSep . $event->getProject()->getName() . ' > ' . $this->targetName . ':' . $this->lSep;
 			$this->printMessage($msg, $this->out, $event->getPriority());
 			$this->targetName = null;
 		}
diff -ru phing-orig/listener/PearLogListener.php phing/listener/PearLogListener.php
--- phing-orig/listener/PearLogListener.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/listener/PearLogListener.php	2007-04-16 16:31:31.000000000 -0400
@@ -19,7 +19,7 @@
  * <http://phing.info>.
  */
  
-require_once 'phing/BuildListener.php';
+require_once 'phing/BuildListener.php';
 
 /**
  * Writes build messages to PEAR Log.
@@ -68,12 +68,12 @@
      * Whether logging has been configured.
      * @var boolean
      */
-    protected $logConfigured = false;
-    
-    /**
-     * @var Log PEAR Log object.
-     */
-   	protected $logger;
+    protected $logConfigured = false;
+    
+    /**
+     * @var Log PEAR Log object.
+     */
+   	protected $logger;
    	
     /**
      * Configure the logger.
@@ -89,11 +89,11 @@
         if ($name === null) $name = 'phing.log';
         if ($ident === null) $ident = 'phing';
         if ($conf === null) $conf = array();
-        
-        include_once 'Log.php';
-        if (!class_exists('Log')) {
-        	throw new BuildException("Cannot find PEAR Log class for use by PearLogger.");
-        }
+        
+        include_once 'Log.php';
+        if (!class_exists('Log')) {
+        	throw new BuildException("Cannot find PEAR Log class for use by PearLogger.");
+        }
         
         $this->logger = Log::singleton($type, $name, $ident, $conf, self::$levelMap[$this->msgOutputLevel]);
     }        
diff -ru phing-orig/listener/XmlLogger.php phing/listener/XmlLogger.php
--- phing-orig/listener/XmlLogger.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/listener/XmlLogger.php	2007-04-16 16:31:31.000000000 -0400
@@ -21,7 +21,7 @@
 
 require_once 'phing/BuildLogger.php';
 require_once 'phing/listener/DefaultLogger.php';
-require_once 'phing/system/util/Timer.php';
+require_once 'phing/system/util/Timer.php';
 
 /**
  * Generates a file in the current directory with
@@ -33,7 +33,7 @@
  * @version $Id: XmlLogger.php 147 2007-02-06 20:32:22Z hans $
  * @package phing.listener
  */	
-class XmlLogger implements BuildLogger {
+class XmlLogger implements BuildLogger {
 	
 	/** XML element name for a build. */
 	const BUILD_TAG = "build";
@@ -55,9 +55,9 @@
 	const ERROR_ATTR = "error";
 	/** XML element name for a stack trace. */
 	const STACKTRACE_TAG = "stacktrace";
-	
-	/**
-	 * @var DOMDocument The XML document created by this logger. 
+	
+	/**
+	 * @var DOMDocument The XML document created by this logger. 
 	 */
 	private $doc;
 	
@@ -66,21 +66,21 @@
 	private $taskStartTime = 0;
 	
 	private $buildElement;
-	
-	/**
-	 * @var int
+	
+	/**
+	 * @var int
 	 */
 	private $msgOutputLevel = Project::MSG_DEBUG;
-	
-	/**
-     * @var OutputStream Stream to use for standard output.
-     */
-	private $out;
-   
-	/**
-	 * @var OutputStream Stream to use for error output.
-	 */
-	private $err;
+	
+	/**
+     * @var OutputStream Stream to use for standard output.
+     */
+	private $out;
+   
+	/**
+	 * @var OutputStream Stream to use for error output.
+	 */
+	private $err;
 	
 	/**
 	 * @var string Name of filename to create.
@@ -117,7 +117,7 @@
 	 * @param BuildEvent $event An event with any relevant extra information.
 	 *              Will not be <code>null</code>.
 	 */
-	public function buildFinished(BuildEvent $event) {
+	public function buildFinished(BuildEvent $event) {
 		
 		$this->buildTimer->stop();
 		
@@ -134,33 +134,33 @@
 			$stacktrace->appendChild($errText);
 			$this->buildElement->appendChild($stacktrace);
 		}
-		
-		$this->doc->appendChild($this->buildElement);
-		
-		$outFilename = $event->getProject()->getProperty("XmlLogger.file");
-        if ($outFilename == null) {
-            $outFilename = "log.xml";
-        }
-        
-        try {
-	        $stream = $this->out;
-	        if ($stream === null) {
-	        	$stream = new FileOutputStream($outFilename); 
-	        }
-	        
-	        // Yes, we could just stream->write() but this will eventually be the better
-			// way to do this (when we need to worry about charset conversions. 
-	        $writer = new OutputStreamWriter($stream);
-	        $writer->write($this->doc->saveXML());
-	        $writer->close();
-        } catch (IOException $exc) {
-        	try {
-        		$stream->close(); // in case there is a stream open still ...
-        	} catch (Exception $x) {}
-        	throw new BuildException("Unable to write log file.", $exc);
-        }
-	}
-        
+		
+		$this->doc->appendChild($this->buildElement);
+		
+		$outFilename = $event->getProject()->getProperty("XmlLogger.file");
+        if ($outFilename == null) {
+            $outFilename = "log.xml";
+        }
+        
+        try {
+	        $stream = $this->out;
+	        if ($stream === null) {
+	        	$stream = new FileOutputStream($outFilename); 
+	        }
+	        
+	        // Yes, we could just stream->write() but this will eventually be the better
+			// way to do this (when we need to worry about charset conversions. 
+	        $writer = new OutputStreamWriter($stream);
+	        $writer->write($this->doc->saveXML());
+	        $writer->close();
+        } catch (IOException $exc) {
+        	try {
+        		$stream->close(); // in case there is a stream open still ...
+        	} catch (Exception $x) {}
+        	throw new BuildException("Unable to write log file.", $exc);
+        }
+	}
+        
 	
 	/**
 	 * Fired when a target starts building, remembers the current time and the name of the target.
@@ -188,7 +188,7 @@
 		$target = $event->getTarget();
 		$elapsedTime = Phing::currentTimeMillis() - $this->targetTimerStart;
 		$this->targetElement->setAttribute(XmlLogger::TIME_ATTR, DefaultLogger::formatTime($elapsedTime));
-		$this->buildElement->appendChild($this->targetElement);
+		$this->buildElement->appendChild($this->targetElement);
 		$this->targetElement = null;
 	}
 	
@@ -204,7 +204,7 @@
 		$this->taskElement = $this->doc->createElement(XmlLogger::TASK_TAG);
 		$this->taskElement->setAttribute(XmlLogger::NAME_ATTR, $task->getTaskName());
 		$this->taskElement->setAttribute(XmlLogger::LOCATION_ATTR, $task->getLocation()->toString());
-	}
+	}
 	
 	/**
 	 * Fired when a task finishes building, this adds the time taken
@@ -217,11 +217,11 @@
 		$task = $event->getTask();
 		$elapsedTime = Phing::currentTimeMillis() - $this->taskTimerStart;
 		$this->taskElement->setAttribute(XmlLogger::TIME_ATTR, DefaultLogger::formatTime($elapsedTime));
-		if ($this->targetElement) { // not all tasks are in targets
-			$this->targetElement->appendChild($this->taskElement);
-		} else {
-			$this->buildElement->appendChild($this->taskElement);
-		}
+		if ($this->targetElement) { // not all tasks are in targets
+			$this->targetElement->appendChild($this->taskElement);
+		} else {
+			$this->buildElement->appendChild($this->taskElement);
+		}
 		$this->taskElement = null;
 	}
 	
@@ -272,49 +272,49 @@
 			$this->buildElement->appendChild($messageElement);
 		}
 	}
-
-    /**
-     *  Set the msgOutputLevel this logger is to respond to.
-     *
-     *  Only messages with a message level lower than or equal to the given
-     *  level are output to the log.
-     *
-     *  <p> Constants for the message levels are in Project.php. The order of
-     *  the levels, from least to most verbose, is:
-     *
-     *  <ul>
-     *    <li>Project::MSG_ERR</li>
-     *    <li>Project::MSG_WARN</li>
-     *    <li>Project::MSG_INFO</li>
-     *    <li>Project::MSG_VERBOSE</li>
-     *    <li>Project::MSG_DEBUG</li>
-     *  </ul>
-     *
-     *  The default message level for DefaultLogger is Project::MSG_ERR.
-     *
-     * @param int $level The logging level for the logger.
-     * @see BuildLogger#setMessageOutputLevel()
-     */
-    public function setMessageOutputLevel($level) {
-        $this->msgOutputLevel = (int) $level;
-    }
-    
-    /**
-     * Sets the output stream.
-     * @param OutputStream $output
-     * @see BuildLogger#setOutputStream()
-     */
-    public function setOutputStream(OutputStream $output) {
-    	$this->out = $output;
-    }
-	
-    /**
-     * Sets the error stream.
-     * @param OutputStream $err
-     * @see BuildLogger#setErrorStream()
-     */
-    public function setErrorStream(OutputStream $err) {
-    	$this->err = $err;
-    }
+
+    /**
+     *  Set the msgOutputLevel this logger is to respond to.
+     *
+     *  Only messages with a message level lower than or equal to the given
+     *  level are output to the log.
+     *
+     *  <p> Constants for the message levels are in Project.php. The order of
+     *  the levels, from least to most verbose, is:
+     *
+     *  <ul>
+     *    <li>Project::MSG_ERR</li>
+     *    <li>Project::MSG_WARN</li>
+     *    <li>Project::MSG_INFO</li>
+     *    <li>Project::MSG_VERBOSE</li>
+     *    <li>Project::MSG_DEBUG</li>
+     *  </ul>
+     *
+     *  The default message level for DefaultLogger is Project::MSG_ERR.
+     *
+     * @param int $level The logging level for the logger.
+     * @see BuildLogger#setMessageOutputLevel()
+     */
+    public function setMessageOutputLevel($level) {
+        $this->msgOutputLevel = (int) $level;
+    }
+    
+    /**
+     * Sets the output stream.
+     * @param OutputStream $output
+     * @see BuildLogger#setOutputStream()
+     */
+    public function setOutputStream(OutputStream $output) {
+    	$this->out = $output;
+    }
+	
+    /**
+     * Sets the error stream.
+     * @param OutputStream $err
+     * @see BuildLogger#setErrorStream()
+     */
+    public function setErrorStream(OutputStream $err) {
+    	$this->err = $err;
+    }
 	
 }
diff -ru phing-orig/system/io/BufferedReader.php phing/system/io/BufferedReader.php
--- phing-orig/system/io/BufferedReader.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/system/io/BufferedReader.php	2007-04-16 16:31:31.000000000 -0400
@@ -53,13 +53,13 @@
     }
 
     /**
-     * Reads and returns a chunk of data.
+     * Reads and returns a chunk of data.
      * @param int $len Number of bytes to read.  Default is to read configured buffer size number of bytes.
      * @return mixed buffer or -1 if EOF.
      */
     function read($len = null) {
-        
-    	// if $len is specified, we'll use that; otherwise, use the configured buffer size.
+        
+    	// if $len is specified, we'll use that; otherwise, use the configured buffer size.
     	if ($len === null) $len = $this->bufferSize; 
         
         if ( ($data = $this->in->read($len)) !== -1 ) {
diff -ru phing-orig/system/io/BufferedWriter.php phing/system/io/BufferedWriter.php
--- phing-orig/system/io/BufferedWriter.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/system/io/BufferedWriter.php	2007-04-16 16:31:32.000000000 -0400
@@ -55,14 +55,14 @@
     
     public function getResource() {
         return $this->out->getResource();
-    }
-    
-    public function flush() {
-    	$this->out->flush();
     }
-	
-    /**
-     * Close attached stream.
+    
+    public function flush() {
+    	$this->out->flush();
+    }
+	
+    /**
+     * Close attached stream.
      */
     public function close() {
         return $this->out->close();
diff -ru phing-orig/system/io/FileInputStream.php phing/system/io/FileInputStream.php
--- phing-orig/system/io/FileInputStream.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/system/io/FileInputStream.php	2007-04-16 16:31:32.000000000 -0400
@@ -18,59 +18,59 @@
  * and is licensed under the LGPL. For more information please see
  * <http://phing.info>.
  */
-
-require_once 'phing/system/io/InputStream.php';
-require_once 'phing/system/io/PhingFile.php';
+
+require_once 'phing/system/io/InputStream.php';
+require_once 'phing/system/io/PhingFile.php';
 
 /**
- * Input stream subclass for file streams.
+ * Input stream subclass for file streams.
  * 
  * @package   phing.system.io
  */
 class FileInputStream extends InputStream {
-	
-	/**
-	 * @var PhingFile The associated file.
-	 */
-	protected $file;
+	
+	/**
+	 * @var PhingFile The associated file.
+	 */
+	protected $file;
 	
     /**
      * Construct a new FileInputStream.
-     * @param mixed $file
-     * @throws Exception - if invalid argument specified.
+     * @param mixed $file
+     * @throws Exception - if invalid argument specified.
      * @throws IOException - if unable to open file.
      */
-    public function __construct($file, $append = false) {
-    	if ($file instanceof PhingFile) {
-            $this->file = $file;
-        } elseif (is_string($file)) {
-            $this->file = new PhingFile($file);
-        } else {
-            throw new Exception("Invalid argument type for \$file.");
-        }
-        
-        $stream = @fopen($this->file->getAbsolutePath(), "rb");
-        if ($stream === false) {
-        	throw new IOException("Unable to open " . $this->file->__toString() . " for reading: " . $php_errormsg);
-        }
-        
+    public function __construct($file, $append = false) {
+    	if ($file instanceof PhingFile) {
+            $this->file = $file;
+        } elseif (is_string($file)) {
+            $this->file = new PhingFile($file);
+        } else {
+            throw new Exception("Invalid argument type for \$file.");
+        }
+        
+        $stream = @fopen($this->file->getAbsolutePath(), "rb");
+        if ($stream === false) {
+        	throw new IOException("Unable to open " . $this->file->__toString() . " for reading: " . $php_errormsg);
+        }
+        
         parent::__construct($stream);
     }
-    
-    /**
-     * Returns a string representation of the attached file.
-     * @return string
+    
+    /**
+     * Returns a string representation of the attached file.
+     * @return string
      */
     public function __toString() {
         return $this->file->getPath();
-    }
-    
-    /**
-     * Mark is supported by FileInputStream.
-     * @return boolean TRUE
-     */
-	public function markSupported() {
-        return true;
+    }
+    
+    /**
+     * Mark is supported by FileInputStream.
+     * @return boolean TRUE
+     */
+	public function markSupported() {
+        return true;
     }
 }
 
diff -ru phing-orig/system/io/FileOutputStream.php phing/system/io/FileOutputStream.php
--- phing-orig/system/io/FileOutputStream.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/system/io/FileOutputStream.php	2007-04-16 16:31:31.000000000 -0400
@@ -18,51 +18,51 @@
  * and is licensed under the LGPL. For more information please see
  * <http://phing.info>.
  */
-
-require_once 'phing/system/io/OutputStream.php';
-require_once 'phing/system/io/PhingFile.php';
+
+require_once 'phing/system/io/OutputStream.php';
+require_once 'phing/system/io/PhingFile.php';
 
 /**
- * Output stream subclass for file streams.
+ * Output stream subclass for file streams.
  * 
  * @package   phing.system.io
  */
 class FileOutputStream extends OutputStream {
-	
-	/**
-	 * @var PhingFile The associated file.
-	 */
-	protected $file;
+	
+	/**
+	 * @var PhingFile The associated file.
+	 */
+	protected $file;
 	
     /**
      * Construct a new FileOutputStream.
-     * @param mixed $file
-     * @param boolean $append Whether to append bytes to end of file rather than beginning.
-     * @throws Exception - if invalid argument specified.
+     * @param mixed $file
+     * @param boolean $append Whether to append bytes to end of file rather than beginning.
+     * @throws Exception - if invalid argument specified.
      * @throws IOException - if unable to open file.
      */
-    public function __construct($file, $append = false) {
-    	if ($file instanceof PhingFile) {
-            $this->file = $file;
-        } elseif (is_string($file)) {
-            $this->file = new PhingFile($file);
-        } else {
-            throw new Exception("Invalid argument type for \$file.");
-        }
-        if ($append) {
-        	$stream = @fopen($this->file->getAbsolutePath(), "ab");
-        } else {
-        	$stream = @fopen($this->file->getAbsolutePath(), "wb");
-        }
-        if ($stream === false) {
-        	throw new IOException("Unable to open " . $this->file->__toString() . " for writing: " . $php_errormsg);
-        }
+    public function __construct($file, $append = false) {
+    	if ($file instanceof PhingFile) {
+            $this->file = $file;
+        } elseif (is_string($file)) {
+            $this->file = new PhingFile($file);
+        } else {
+            throw new Exception("Invalid argument type for \$file.");
+        }
+        if ($append) {
+        	$stream = @fopen($this->file->getAbsolutePath(), "ab");
+        } else {
+        	$stream = @fopen($this->file->getAbsolutePath(), "wb");
+        }
+        if ($stream === false) {
+        	throw new IOException("Unable to open " . $this->file->__toString() . " for writing: " . $php_errormsg);
+        }
         parent::__construct($stream);
     }
-    
-    /**
-     * Returns a string representation of the attached file.
-     * @return string
+    
+    /**
+     * Returns a string representation of the attached file.
+     * @return string
      */
     public function __toString() {
         return $this->file->getPath();
diff -ru phing-orig/system/io/FileReader.php phing/system/io/FileReader.php
--- phing-orig/system/io/FileReader.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/system/io/FileReader.php	2007-04-16 16:31:32.000000000 -0400
@@ -20,7 +20,7 @@
  */
 
 require_once 'phing/system/io/InputStreamReader.php';
-require_once 'phing/system/io/FileInputStream.php';
+require_once 'phing/system/io/FileInputStream.php';
 
 /**
  * Convenience class for reading files.
@@ -28,14 +28,14 @@
  */
 class FileReader extends InputStreamReader {
 
-	/**
-     * Construct a new FileReader.
-     * @param mixed $file PhingFile or string pathname.
-     */
-    public function __construct($file) {
-    	$in = new FileInputStream($file);
-    	parent::__construct($in);
-    }
-        
+	/**
+     * Construct a new FileReader.
+     * @param mixed $file PhingFile or string pathname.
+     */
+    public function __construct($file) {
+    	$in = new FileInputStream($file);
+    	parent::__construct($in);
+    }
+        
 }
 
diff -ru phing-orig/system/io/FileSystem.php phing/system/io/FileSystem.php
--- phing-orig/system/io/FileSystem.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/system/io/FileSystem.php	2007-04-16 16:31:31.000000000 -0400
@@ -51,7 +51,7 @@
     
     /**
      * Static method to return the FileSystem singelton representing
-     * this platform's local filesystem driver.
+     * this platform's local filesystem driver.
      * @return FileSystem
      */
     public static function getFileSystem() {
diff -ru phing-orig/system/io/FileWriter.php phing/system/io/FileWriter.php
--- phing-orig/system/io/FileWriter.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/system/io/FileWriter.php	2007-04-16 16:31:32.000000000 -0400
@@ -20,7 +20,7 @@
  */
 
 require_once 'phing/system/io/OutputStreamWriter.php';
-require_once 'phing/system/io/FileOutputStream.php';
+require_once 'phing/system/io/FileOutputStream.php';
 
 /**
  * Convenience class for performing file write operations.
@@ -34,8 +34,8 @@
      * @param mixed $file PhingFile or string pathname.
      * @param boolean $append Append to existing file?
      */
-    function __construct($file, $append = false) {
-    	$out = new FileOutputStream($file, $append);
+    function __construct($file, $append = false) {
+    	$out = new FileOutputStream($file, $append);
     	parent::__construct($out);
     }
 }
diff -ru phing-orig/system/io/FilterReader.php phing/system/io/FilterReader.php
--- phing-orig/system/io/FilterReader.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/system/io/FilterReader.php	2007-04-16 16:31:31.000000000 -0400
@@ -26,9 +26,9 @@
  * @package phing.system.io
  */
 class FilterReader extends Reader {
-    
-	/** 
-	 * @var Reader
+    
+	/** 
+	 * @var Reader
 	 */
     protected $in;
     
@@ -59,7 +59,7 @@
     
     public function close() {
         return $this->in->close();
-    }
+    }
     
     function getResource() {
         return $this->in->getResource();
diff -ru phing-orig/system/io/InputStream.php phing/system/io/InputStream.php
--- phing-orig/system/io/InputStream.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/system/io/InputStream.php	2007-04-16 16:31:31.000000000 -0400
@@ -20,41 +20,41 @@
  */
 
 /**
- * Wrapper class for PHP stream that supports read operations.
+ * Wrapper class for PHP stream that supports read operations.
  * 
  * @package   phing.system.io
  */
 class InputStream {
-	
-	/**
-	 * @var resource The attached PHP stream.
-	 */
-	protected $stream;
-	
-	/**
-	 * @var int Position of stream cursor.
+	
+	/**
+	 * @var resource The attached PHP stream.
 	 */
-    protected $currentPosition = 0;
-    
-    /**
-     * @var int Marked position of stream cursor.
+	protected $stream;
+	
+	/**
+	 * @var int Position of stream cursor.
+	 */
+    protected $currentPosition = 0;
+    
+    /**
+     * @var int Marked position of stream cursor.
      */
     protected $mark = 0;
-	
-	/**
-     * Construct a new InputStream.
-     * @param resource $stream Configured PHP stream for writing.
-     */
-    public function __construct($stream) {
-    	if (!is_resource($stream)) {
-    		throw new IOException("Passed argument is not a valid stream.");
-    	}
-    	$this->stream = $stream;
-    }
-
-    /**
-     * Skip over $n bytes.
-     * @param int $n
+	
+	/**
+     * Construct a new InputStream.
+     * @param resource $stream Configured PHP stream for writing.
+     */
+    public function __construct($stream) {
+    	if (!is_resource($stream)) {
+    		throw new IOException("Passed argument is not a valid stream.");
+    	}
+    	$this->stream = $stream;
+    }
+
+    /**
+     * Skip over $n bytes.
+     * @param int $n
      */
     public function skip($n) {
         $start = $this->currentPosition;
@@ -78,61 +78,61 @@
      * @param int $len Num chars to read.  If not specified this stream will read until EOF.
      * @return string chars read or -1 if eof.
      */
-    public function read($len = null) {
+    public function read($len = null) {
     	
         if ($this->eof()) {
             return -1;
-        }
-        
-        if ($len === null) { // we want to keep reading until we get an eof
-			$out = "";
-        	while(!$this->eof()) {
-        		$out .= fread($this->stream, 8192);
-        		$this->currentPosition = ftell($this->stream);
-        	}
-        } else {
-			$out = fread($this->stream, $len); // adding 1 seems to ensure that next call to read() will return EOF (-1)
-        	$this->currentPosition = ftell($this->stream);
+        }
+        
+        if ($len === null) { // we want to keep reading until we get an eof
+			$out = "";
+        	while(!$this->eof()) {
+        		$out .= fread($this->stream, 8192);
+        		$this->currentPosition = ftell($this->stream);
+        	}
+        } else {
+			$out = fread($this->stream, $len); // adding 1 seems to ensure that next call to read() will return EOF (-1)
+        	$this->currentPosition = ftell($this->stream);
         }
 
         return $out;
     }    
-    
-    /**
-     * Marks the current position in this input stream.
-     * @throws IOException - if the underlying stream doesn't support this method.
-     */
-    public function mark() {
-    	if (!$this->markSupported()) {
-    		throw new IOException(get_class($this) . " does not support mark() and reset() methods.");
+    
+    /**
+     * Marks the current position in this input stream.
+     * @throws IOException - if the underlying stream doesn't support this method.
+     */
+    public function mark() {
+    	if (!$this->markSupported()) {
+    		throw new IOException(get_class($this) . " does not support mark() and reset() methods.");
     	}
         $this->mark = $this->currentPosition;
-    }
-    
-    /**
-     * Whether the input stream supports mark and reset methods.
-     * @return boolean
-     */
-    public function markSupported() {
-    	return false;
-    }
-    
-    /**
-     * Repositions this stream to the position at the time the mark method was last called on this input stream.
-     * @throws IOException - if the underlying stream doesn't support this method.
-     */
-    function reset() {
-    	if (!$this->markSupported()) {
-    		throw new IOException(get_class($this) . " does not support mark() and reset() methods.");
+    }
+    
+    /**
+     * Whether the input stream supports mark and reset methods.
+     * @return boolean
+     */
+    public function markSupported() {
+    	return false;
+    }
+    
+    /**
+     * Repositions this stream to the position at the time the mark method was last called on this input stream.
+     * @throws IOException - if the underlying stream doesn't support this method.
+     */
+    function reset() {
+    	if (!$this->markSupported()) {
+    		throw new IOException(get_class($this) . " does not support mark() and reset() methods.");
     	}
         // goes back to last mark, by default this would be 0 (i.e. rewind file).
         fseek($this->stream, SEEK_SET, $this->mark);
         $this->mark = 0;
     }
-	
-    /**
-     * Closes stream.
-     * @throws IOException if stream cannot be closed (note that calling close() on an already-closed stream will not raise an exception)
+	
+    /**
+     * Closes stream.
+     * @throws IOException if stream cannot be closed (note that calling close() on an already-closed stream will not raise an exception)
      */
     public function close() {
         if ($this->stream === null) {
@@ -144,7 +144,7 @@
             throw new IOException($msg);
         }
         $this->stream = null;
-    }
+    }
     
     /**
      * Whether eof has been reached with stream.
@@ -159,12 +159,12 @@
      *
      * @param string &$rBuffer String variable where read contents will be put.
      * @return TRUE on success.
-     * @author  Charlie Killian, charlie@tizac.com
-     * @throws IOException - if there is an error reading from stream.
+     * @author  Charlie Killian, charlie@tizac.com
+     * @throws IOException - if there is an error reading from stream.
      * @deprecated - Instead, use the read() method or a BufferedReader.
      */
     public function readInto(&$rBuffer) {
-		$rBuffer = $this->read();
+		$rBuffer = $this->read();
 		$this->close();
     }
     
diff -ru phing-orig/system/io/InputStreamReader.php phing/system/io/InputStreamReader.php
--- phing-orig/system/io/InputStreamReader.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/system/io/InputStreamReader.php	2007-04-16 16:31:32.000000000 -0400
@@ -23,40 +23,40 @@
 include_once 'phing/system/io/Reader.php';
 
 /**
- * Writer class for OutputStream objects.
- * 
- * Unlike the Java counterpart, this class does not (yet) handle
- * character set transformations.  This will be an important function
- * of this class with move to supporting PHP6.
+ * Writer class for OutputStream objects.
+ * 
+ * Unlike the Java counterpart, this class does not (yet) handle
+ * character set transformations.  This will be an important function
+ * of this class with move to supporting PHP6.
  *  * @package   phing.system.io
  */
 class InputStreamReader extends Reader {
-	
-	/**
-	 * @var InputStream
-	 */
-	protected $inStream;
 	
-	/**
-     * Construct a new InputStreamReader.
-     * @param InputStream $$inStream InputStream to read from
-     */
-    public function __construct(InputStream $inStream) {
-        $this->inStream = $inStream;
-    }
-	
-    /**
-     * Close the stream.
-     */
-    public function close() {
-    	return $this->inStream->close();
-    }
-	
-    /**
-     * Skip over $n bytes.
-     * @param int $n
+	/**
+	 * @var InputStream
+	 */
+	protected $inStream;
+	
+	/**
+     * Construct a new InputStreamReader.
+     * @param InputStream $$inStream InputStream to read from
+     */
+    public function __construct(InputStream $inStream) {
+        $this->inStream = $inStream;
+    }
+	
+    /**
+     * Close the stream.
+     */
+    public function close() {
+    	return $this->inStream->close();
+    }
+	
+    /**
+     * Skip over $n bytes.
+     * @param int $n
      */
-    public function skip($n) {
+    public function skip($n) {
     	return $this->inStream->skip($n);
     }
     
@@ -65,29 +65,29 @@
      * @param int $len Num chars to read.
      * @return string chars read or -1 if eof.
      */
-    public function read($len = null) {
+    public function read($len = null) {
     	return $this->inStream->read($len);
     }
-    
-    /**
-     * Marks the current position in this input stream.
-     * @throws IOException - if the underlying stream doesn't support this method.
+    
+    /**
+     * Marks the current position in this input stream.
+     * @throws IOException - if the underlying stream doesn't support this method.
      */
     public function mark() {
         $this->inStream->mark();
-    }
-    
-    /**
-     * Whether the attached stream supports mark/reset.
-     * @return boolean
-     */
-    public function markSupported() {
-    	return $this->inStream->markSupported();
-    }
+    }
     
-    /**
-     * Repositions this stream to the position at the time the mark method was last called on this input stream.
-     * @throws IOException - if the underlying stream doesn't support this method.
+    /**
+     * Whether the attached stream supports mark/reset.
+     * @return boolean
+     */
+    public function markSupported() {
+    	return $this->inStream->markSupported();
+    }
+    
+    /**
+     * Repositions this stream to the position at the time the mark method was last called on this input stream.
+     * @throws IOException - if the underlying stream doesn't support this method.
      */
     public function reset() {
         $this->inStream->reset();
@@ -109,7 +109,7 @@
      * @param    object &$rBuffer    Reference. Variable of where to put contents.
      *
      * @return    TRUE on success. Err object on failure.
-     * @author  Charlie Killian, charlie@tizac.com
+     * @author  Charlie Killian, charlie@tizac.com
      * @deprecated Use read() or BufferedReader instead.
      */
     public function readInto(&$rBuffer) {
diff -ru phing-orig/system/io/OutputStream.php phing/system/io/OutputStream.php
--- phing-orig/system/io/OutputStream.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/system/io/OutputStream.php	2007-04-16 16:31:32.000000000 -0400
@@ -20,14 +20,14 @@
  */
 
 /**
- * Wrapper class for PHP stream that supports write operations.
+ * Wrapper class for PHP stream that supports write operations.
  * 
  * @package   phing.system.io
  */
 class OutputStream {
-	
-	/**
-	 * @var resource The configured PHP stream.
+	
+	/**
+	 * @var resource The configured PHP stream.
 	 */
     protected $stream;
 
@@ -35,60 +35,60 @@
      * Construct a new OutputStream.
      * @param resource $stream Configured PHP stream for writing.
      */
-    public function __construct($stream) {
-    	if (!is_resource($stream)) {
-    		throw new IOException("Passed argument is not a valid stream.");
-    	}
+    public function __construct($stream) {
+    	if (!is_resource($stream)) {
+    		throw new IOException("Passed argument is not a valid stream.");
+    	}
     	$this->stream = $stream;
     }
-	
-    /**
-     * Closes attached stream, flushing output first.
-     * @throws IOException if cannot close stream (note that attempting to close an already closed stream will not raise an IOException)
-     * @return void
+	
+    /**
+     * Closes attached stream, flushing output first.
+     * @throws IOException if cannot close stream (note that attempting to close an already closed stream will not raise an IOException)
+     * @return void
      */
-    public function close() {
-    	if ($this->stream === null) {
-            return;
-        }
-        $this->flush();
-        if (false === @fclose($this->stream)) {
-            $msg = "Cannot close " . $this->getResource() . ": $php_errormsg";
-            throw new IOException($msg);
-        }
+    public function close() {
+    	if ($this->stream === null) {
+            return;
+        }
+        $this->flush();
+        if (false === @fclose($this->stream)) {
+            $msg = "Cannot close " . $this->getResource() . ": $php_errormsg";
+            throw new IOException($msg);
+        }
 		$this->stream = null;
 	}
-    
-	/**
-     * Flushes stream.
-     * 
-     * @throws IOException if unable to flush data (e.g. stream is not open).
-     */
-    public function flush() {
-    	if (false === @fflush($this->stream)) {
-    		throw new IOException("Could not flush stream: " . $php_errormsg);
-    	}
+    
+	/**
+     * Flushes stream.
+     * 
+     * @throws IOException if unable to flush data (e.g. stream is not open).
+     */
+    public function flush() {
+    	if (false === @fflush($this->stream)) {
+    		throw new IOException("Could not flush stream: " . $php_errormsg);
+    	}
 	}
-	
-    /**
-     * Writes data to stream.
-     *
-     * @param string $buf Binary/character data to write.
-     * @param int $off (Optional) offset.
-     * @param int $len (Optional) number of bytes/chars to write. 
-     * @return void
-     * @throws IOException - if there is an error writing to stream
+	
+    /**
+     * Writes data to stream.
+     *
+     * @param string $buf Binary/character data to write.
+     * @param int $off (Optional) offset.
+     * @param int $len (Optional) number of bytes/chars to write. 
+     * @return void
+     * @throws IOException - if there is an error writing to stream
      */
     public function write($buf, $off = null, $len = null) {
         if ( $off === null && $len === null ) {
-            $to_write = $buf;
-        } elseif ($off !== null && $len === null) {
+            $to_write = $buf;
+        } elseif ($off !== null && $len === null) {
         	$to_write = substr($buf, $off);
         } elseif ($off === null && $len !== null) {
-            $to_write = substr($buf, 0, $len);
-        } else {
-        	$to_write = substr($buf, $off, $len);
-        }
+            $to_write = substr($buf, 0, $len);
+        } else {
+        	$to_write = substr($buf, $off, $len);
+        }
         
         $result = @fwrite($this->stream, $to_write);
 
@@ -96,10 +96,10 @@
             throw new IOException("Error writing to stream.");
         }
     }
-    
-    /**
-     * Returns a string representation of the attached PHP stream.
-     * @return string
+    
+    /**
+     * Returns a string representation of the attached PHP stream.
+     * @return string
      */
     public function __toString() {
         return (string) $this->stream;
diff -ru phing-orig/system/io/OutputStreamWriter.php phing/system/io/OutputStreamWriter.php
--- phing-orig/system/io/OutputStreamWriter.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/system/io/OutputStreamWriter.php	2007-04-16 16:31:32.000000000 -0400
@@ -23,18 +23,18 @@
 require_once 'phing/system/io/Writer.php';
 
 /**
- * Writer class for OutputStream objects.
- * 
- * Unlike the Java counterpart, this class does not (yet) handle
- * character set transformations.  This will be an important function
+ * Writer class for OutputStream objects.
+ * 
+ * Unlike the Java counterpart, this class does not (yet) handle
+ * character set transformations.  This will be an important function
  * of this class with move to supporting PHP6.
  *
  * @package   phing.system.io
  */
 class OutputStreamWriter extends Writer {
-
-	/**
-	 * @var OutputStream
+
+	/**
+	 * @var OutputStream
 	 */
     protected $outStream;
     
@@ -45,39 +45,39 @@
     public function __construct(OutputStream $outStream) {
         $this->outStream = $outStream;
     }
-	
-    /**
-     * Close the stream.
+	
+    /**
+     * Close the stream.
      */
-    public function close() {
+    public function close() {
     	return $this->outStream->close();
     }
-	
-    /**
-     * Write char data to stream.
-     *
-     * @param unknown_type $buf
-     * @param unknown_type $off
-     * @param unknown_type $len
-     * @return unknown
+	
+    /**
+     * Write char data to stream.
+     *
+     * @param unknown_type $buf
+     * @param unknown_type $off
+     * @param unknown_type $len
+     * @return unknown
      */
-    public function write($buf, $off = null, $len = null) {
+    public function write($buf, $off = null, $len = null) {
     	return $this->outStream->write($buf, $off, $len);
-    }
-    
-    /**
-     * Flush output to the stream.
-     */
-	public function flush() {
-    	$this->outStream->flush();
     }
-    
-    /**
-     * Gets a string representation of attached stream resource.
-     *
-     * @return string String representation of output stream
+    
+    /**
+     * Flush output to the stream.
+     */
+	public function flush() {
+    	$this->outStream->flush();
+    }
+    
+    /**
+     * Gets a string representation of attached stream resource.
+     *
+     * @return string String representation of output stream
      */
-    public function getResource() {
+    public function getResource() {
     	return $this->outStream->__toString();
     }
 }
diff -ru phing-orig/system/io/Reader.php phing/system/io/Reader.php
--- phing-orig/system/io/Reader.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/system/io/Reader.php	2007-04-16 16:31:32.000000000 -0400
@@ -20,7 +20,7 @@
 */
 
 /**
- * Abstract class for reading character streams.
+ * Abstract class for reading character streams.
  * 
  * @author Hans Lellelid <hans@xmpl.org>
  * @author Yannick Lecaillez <yl@seasonfive.com>
@@ -30,17 +30,17 @@
 abstract class Reader {
 
     /**
-     * Read data from source.
+     * Read data from source.
      * 
      * If length is specified, then only that number of chars is read,
-     * otherwise stream is read until EOF.
+     * otherwise stream is read until EOF.
      * 
      * @param int $len
      */
     abstract public function read($len = null);
             
     /**
-     * Close stream.
+     * Close stream.
      * @throws IOException if there is an error closing stream
      */
     abstract public function close();
@@ -75,16 +75,16 @@
      * Whether marking is supported.
      * @return boolean
      */
-    public function markSupported() {
-    	return false;
+    public function markSupported() {
+    	return false;
     }
     
     /**
      * Is stream ready for reading.
      * @return boolean
      */
-    public function ready() {
-    	return true;
+    public function ready() {
+    	return true;
     }
 
 }
diff -ru phing-orig/system/io/StringReader.php phing/system/io/StringReader.php
--- phing-orig/system/io/StringReader.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/system/io/StringReader.php	2007-04-16 16:31:32.000000000 -0400
@@ -24,19 +24,19 @@
  * @package phing.system.io
  */
 class StringReader extends Reader {
-    
-	/**
-	 * @var string
+    
+	/**
+	 * @var string
 	 */
-    private $_string;
-    
-    /**
-     * @var int
+    private $_string;
+    
+    /**
+     * @var int
      */
-    private $mark = 0;
-    
-    /**
-     * @var int
+    private $mark = 0;
+    
+    /**
+     * @var int
      */
     private $currPos = 0;
     
diff -ru phing-orig/system/io/Writer.php phing/system/io/Writer.php
--- phing-orig/system/io/Writer.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/system/io/Writer.php	2007-04-16 16:31:31.000000000 -0400
@@ -20,29 +20,29 @@
  */
 
 /**
- * Abstract class for writing character streams.
+ * Abstract class for writing character streams.
  * 
  * @package   phing.system.io
  */
 abstract class Writer {
-	
-	/**
-	 * Writes data to output stream.
-	 * @param string $buf
-	 * @param int $off
-	 * @param int $len
+	
+	/**
+	 * Writes data to output stream.
+	 * @param string $buf
+	 * @param int $off
+	 * @param int $len
 	 */
     abstract public function write($buf, $off = null, $len = null);
-    
-    /**
-     * Close the stream.
-     * @throws IOException - if there is an error closing stream.
+    
+    /**
+     * Close the stream.
+     * @throws IOException - if there is an error closing stream.
      */
     abstract public function close();
-	
-    /**
-     * Flush the stream, if supported by the stream.
-     */
+	
+    /**
+     * Flush the stream, if supported by the stream.
+     */
     public function flush() {}
     
     /**
diff -ru phing-orig/tasks/ext/ioncube/IoncubeComment.php phing/tasks/ext/ioncube/IoncubeComment.php
--- phing-orig/tasks/ext/ioncube/IoncubeComment.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/tasks/ext/ioncube/IoncubeComment.php	2007-04-16 16:31:32.000000000 -0400
@@ -1,44 +1,44 @@
-<?php
-/**
- * $Id: IoncubeComment.php 81 2006-07-06 13:07:29Z mrook $
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the LGPL. For more information please see
- * <http://phing.info>.
- */
-
-/**
- * Wrapper for comments for ionCube tasks
- *
- * @author Michiel Rook <michiel.rook@gmail.com>
- * @version $Id: IoncubeComment.php 81 2006-07-06 13:07:29Z 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);
-	}
-}
+<?php
+/**
+ * $Id: IoncubeComment.php 81 2006-07-06 13:07:29Z mrook $
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This software consists of voluntary contributions made by many individuals
+ * and is licensed under the LGPL. For more information please see
+ * <http://phing.info>.
+ */
+
+/**
+ * Wrapper for comments for ionCube tasks
+ *
+ * @author Michiel Rook <michiel.rook@gmail.com>
+ * @version $Id: IoncubeComment.php 81 2006-07-06 13:07:29Z 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 -ru phing-orig/tasks/ext/ScpSendTask.php phing/tasks/ext/ScpSendTask.php
--- phing-orig/tasks/ext/ScpSendTask.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/tasks/ext/ScpSendTask.php	2007-04-16 16:31:32.000000000 -0400
@@ -1,192 +1,192 @@
-<?php
-/**
- * $Id: ScpSendTask.php 123 2006-09-14 20:19:08Z mrook $
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the LGPL. For more information please see
- * <http://phing.info>.
- */
-
-require_once 'phing/Task.php';
-
-/**
- * SCPs a File to a remote server 
- *
- * @author Andrew Eddie <andrew.eddie@jamboworks.com> 
- * @version $Id: ScpSendTask.php 123 2006-09-14 20:19:08Z mrook $
- * @package phing.tasks.ext
- * @since 2.3.0
- */
-class ScpSendTask extends Task
-{
-	private $localFile = "";
-
-	private $remoteFile = "";
-
-	private $username = "";
-
-	private $password = "";
-
-	private $host = "";
-
-	private $port = 22;
-
-	private $mode = null;
-
-	private $_connection = null;
-
-	/**
-	 * Sets the remote host
-	 */
-	function setHost($h)
-	{
-		$this->host = $h;
-	}
-
-	/**
-	 * Returns the remote host
-	 */
-	function getHost()
-	{
-		return $this->host;
-	}
-
-	/**
-	 * Sets the remote host port
-	 */
-	function setPort($p)
-	{
-		$this->port = $p;
-	}
-
-	/**
-	 * Returns the remote host port
-	 */
-	function getPort()
-	{
-		return $this->port;
-	}
-
-	/**
-	 * Sets the mode value
-	 */
-	function setMode($value)
-	{
-		$this->mode = $value;
-	}
-
-	/**
-	 * Returns the mode value
-	 */
-	function getMode()
-	{
-		return $this->mode;
-	}
-
-	/**
-	 * Sets the username of the user to scp
-	 */
-	function setUsername($username)
-	{
-		$this->username = $username;
-	}
-
-	/**
-	 * Returns the username
-	 */
-	function getUsername()
-	{
-		return $this->username;
-	}
-
-	/**
-	 * Sets the password of the user to scp
-	 */
-	function setPassword($password)
-	{
-		$this->password = $password;
-	}
-
-	/**
-	 * Returns the password
-	 */
-	function getPassword()
-	{
-		return $this->password;
-	}
-
-	/**
-	 * Sets the local path to scp from
-	 */
-	function setLocalFile($lFile)
-	{
-		$this->localFile = $lFile;
-	}
-
-	/**
-	 * Returns the local path to scp from
-	 */
-	function getLocalFile($lFile)
-	{
-		return $this->localFile;
-	}
-
-	/**
-	 * Sets the remote path to scp to
-	 */
-	function setRemoteFile($rFile)
-	{
-		$this->remoteFile = $rFile;
-	}
-
-	/**
-	 * Returns the remote path to scp to
-	 */
-	function getRemoteFile($rFile)
-	{
-		return $this->remoteFile;
-	}
-
-	/**
-	* The init method: Do init steps.
-	*/
-	public function init()
-	{
-		if (function_exists('ssh2_connect')) {
-			$this->_connection = ssh2_connect($this->host, $this->port);
-			ssh2_auth_password($this->_connection, $this->username, $this->password);
-		} else {
-			print ("ERROR: SSH Extension is not installed");
-		}
-	}
-
-	/**
-	 * The main entry point method.
-	 */
-	public function main()
-	{
-		if (function_exists('ssh2_scp_send') && !is_null($this->_connection))
-		{
-			if (!is_null($this->mode)) {
-				ssh2_scp_send($this->_connection, $this->localFile, $this->remoteFile, $this->mode);
-			} else {
-				ssh2_scp_send($this->_connection, $this->localFile, $this->remoteFile);
-			}
-		} else {
-			print ("ERROR: No SSH Connection Available");
-		}
-	}
-}
-?>
+<?php
+/**
+ * $Id: ScpSendTask.php 123 2006-09-14 20:19:08Z mrook $
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This software consists of voluntary contributions made by many individuals
+ * and is licensed under the LGPL. For more information please see
+ * <http://phing.info>.
+ */
+
+require_once 'phing/Task.php';
+
+/**
+ * SCPs a File to a remote server 
+ *
+ * @author Andrew Eddie <andrew.eddie@jamboworks.com> 
+ * @version $Id: ScpSendTask.php 123 2006-09-14 20:19:08Z mrook $
+ * @package phing.tasks.ext
+ * @since 2.3.0
+ */
+class ScpSendTask extends Task
+{
+	private $localFile = "";
+
+	private $remoteFile = "";
+
+	private $username = "";
+
+	private $password = "";
+
+	private $host = "";
+
+	private $port = 22;
+
+	private $mode = null;
+
+	private $_connection = null;
+
+	/**
+	 * Sets the remote host
+	 */
+	function setHost($h)
+	{
+		$this->host = $h;
+	}
+
+	/**
+	 * Returns the remote host
+	 */
+	function getHost()
+	{
+		return $this->host;
+	}
+
+	/**
+	 * Sets the remote host port
+	 */
+	function setPort($p)
+	{
+		$this->port = $p;
+	}
+
+	/**
+	 * Returns the remote host port
+	 */
+	function getPort()
+	{
+		return $this->port;
+	}
+
+	/**
+	 * Sets the mode value
+	 */
+	function setMode($value)
+	{
+		$this->mode = $value;
+	}
+
+	/**
+	 * Returns the mode value
+	 */
+	function getMode()
+	{
+		return $this->mode;
+	}
+
+	/**
+	 * Sets the username of the user to scp
+	 */
+	function setUsername($username)
+	{
+		$this->username = $username;
+	}
+
+	/**
+	 * Returns the username
+	 */
+	function getUsername()
+	{
+		return $this->username;
+	}
+
+	/**
+	 * Sets the password of the user to scp
+	 */
+	function setPassword($password)
+	{
+		$this->password = $password;
+	}
+
+	/**
+	 * Returns the password
+	 */
+	function getPassword()
+	{
+		return $this->password;
+	}
+
+	/**
+	 * Sets the local path to scp from
+	 */
+	function setLocalFile($lFile)
+	{
+		$this->localFile = $lFile;
+	}
+
+	/**
+	 * Returns the local path to scp from
+	 */
+	function getLocalFile($lFile)
+	{
+		return $this->localFile;
+	}
+
+	/**
+	 * Sets the remote path to scp to
+	 */
+	function setRemoteFile($rFile)
+	{
+		$this->remoteFile = $rFile;
+	}
+
+	/**
+	 * Returns the remote path to scp to
+	 */
+	function getRemoteFile($rFile)
+	{
+		return $this->remoteFile;
+	}
+
+	/**
+	* The init method: Do init steps.
+	*/
+	public function init()
+	{
+		if (function_exists('ssh2_connect')) {
+			$this->_connection = ssh2_connect($this->host, $this->port);
+			ssh2_auth_password($this->_connection, $this->username, $this->password);
+		} else {
+			print ("ERROR: SSH Extension is not installed");
+		}
+	}
+
+	/**
+	 * The main entry point method.
+	 */
+	public function main()
+	{
+		if (function_exists('ssh2_scp_send') && !is_null($this->_connection))
+		{
+			if (!is_null($this->mode)) {
+				ssh2_scp_send($this->_connection, $this->localFile, $this->remoteFile, $this->mode);
+			} else {
+				ssh2_scp_send($this->_connection, $this->localFile, $this->remoteFile);
+			}
+		} else {
+			print ("ERROR: No SSH Connection Available");
+		}
+	}
+}
+?>
diff -ru phing-orig/tasks/ext/simpletest/SimpleTestCountResultFormatter.php phing/tasks/ext/simpletest/SimpleTestCountResultFormatter.php
--- phing-orig/tasks/ext/simpletest/SimpleTestCountResultFormatter.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/tasks/ext/simpletest/SimpleTestCountResultFormatter.php	2007-04-16 16:31:32.000000000 -0400
@@ -1,52 +1,52 @@
-<?php
-/**
- * $Id: SimpleTestCountResultFormatter.php 81 2006-07-06 13:07:29Z mrook $
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the LGPL. For more information please see
- * <http://phing.info>.
- */
-
-require_once 'phing/tasks/ext/simpletest/SimpleTestResultFormatter.php';
-
-/**
- * Dummy result formatter used to count SimpleTest results
- *
- * @author Michiel Rook <michiel.rook@gmail.com>
- * @version $Id: SimpleTestCountResultFormatter.php 81 2006-07-06 13:07:29Z 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;
-	}	
-}
+<?php
+/**
+ * $Id: SimpleTestCountResultFormatter.php 81 2006-07-06 13:07:29Z mrook $
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This software consists of voluntary contributions made by many individuals
+ * and is licensed under the LGPL. For more information please see
+ * <http://phing.info>.
+ */
+
+require_once 'phing/tasks/ext/simpletest/SimpleTestResultFormatter.php';
+
+/**
+ * Dummy result formatter used to count SimpleTest results
+ *
+ * @author Michiel Rook <michiel.rook@gmail.com>
+ * @version $Id: SimpleTestCountResultFormatter.php 81 2006-07-06 13:07:29Z 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 -ru phing-orig/tasks/ext/simpletest/SimpleTestFormatterElement.php phing/tasks/ext/simpletest/SimpleTestFormatterElement.php
--- phing-orig/tasks/ext/simpletest/SimpleTestFormatterElement.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/tasks/ext/simpletest/SimpleTestFormatterElement.php	2007-04-16 16:31:32.000000000 -0400
@@ -1,62 +1,62 @@
-<?php
-/**
- * $Id: SimpleTestFormatterElement.php 81 2006-07-06 13:07:29Z mrook $
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the LGPL. For more information please see
- * <http://phing.info>.
- */
-
-require_once 'phing/tasks/ext/simpletest/SimpleTestPlainResultFormatter.php';
-require_once 'phing/tasks/ext/simpletest/SimpleTestSummaryResultFormatter.php';
-require_once 'phing/tasks/ext/phpunit2/FormatterElement.php';
-
-/**
- * Child class of "FormatterElement", overrides setType to provide other
- * formatter classes for SimpleTest
- *
- * @author Michiel Rook <michiel.rook@gmail.com>
- * @version $Id: SimpleTestFormatterElement.php 81 2006-07-06 13:07:29Z mrook $
- * @package phing.tasks.ext.simpletest
- * @since 2.2.0
- */
-class SimpleTestFormatterElement extends FormatterElement
-{
-	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");
-		}
-	}
-}
+<?php
+/**
+ * $Id: SimpleTestFormatterElement.php 81 2006-07-06 13:07:29Z mrook $
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This software consists of voluntary contributions made by many individuals
+ * and is licensed under the LGPL. For more information please see
+ * <http://phing.info>.
+ */
+
+require_once 'phing/tasks/ext/simpletest/SimpleTestPlainResultFormatter.php';
+require_once 'phing/tasks/ext/simpletest/SimpleTestSummaryResultFormatter.php';
+require_once 'phing/tasks/ext/phpunit2/FormatterElement.php';
+
+/**
+ * Child class of "FormatterElement", overrides setType to provide other
+ * formatter classes for SimpleTest
+ *
+ * @author Michiel Rook <michiel.rook@gmail.com>
+ * @version $Id: SimpleTestFormatterElement.php 81 2006-07-06 13:07:29Z mrook $
+ * @package phing.tasks.ext.simpletest
+ * @since 2.2.0
+ */
+class SimpleTestFormatterElement extends FormatterElement
+{
+	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");
+		}
+	}
+}
 ?>
\ No newline at end of file
diff -ru phing-orig/tasks/ext/simpletest/SimpleTestPlainResultFormatter.php phing/tasks/ext/simpletest/SimpleTestPlainResultFormatter.php
--- phing-orig/tasks/ext/simpletest/SimpleTestPlainResultFormatter.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/tasks/ext/simpletest/SimpleTestPlainResultFormatter.php	2007-04-16 16:31:32.000000000 -0400
@@ -1,95 +1,95 @@
-<?php
-/**
- * $Id: SimpleTestPlainResultFormatter.php 81 2006-07-06 13:07:29Z mrook $
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the LGPL. For more information please see
- * <http://phing.info>.
- */
-
-require_once 'phing/tasks/ext/simpletest/SimpleTestResultFormatter.php';
-
-/**
- * Prints plain text output of the test to a specified Writer.
- *
- * @author Michiel Rook <michiel.rook@gmail.com>
- * @version $Id: SimpleTestPlainResultFormatter.php 81 2006-07-06 13:07:29Z 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";	
-	}
-}
+<?php
+/**
+ * $Id: SimpleTestPlainResultFormatter.php 81 2006-07-06 13:07:29Z mrook $
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This software consists of voluntary contributions made by many individuals
+ * and is licensed under the LGPL. For more information please see
+ * <http://phing.info>.
+ */
+
+require_once 'phing/tasks/ext/simpletest/SimpleTestResultFormatter.php';
+
+/**
+ * Prints plain text output of the test to a specified Writer.
+ *
+ * @author Michiel Rook <michiel.rook@gmail.com>
+ * @version $Id: SimpleTestPlainResultFormatter.php 81 2006-07-06 13:07:29Z 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 -ru phing-orig/tasks/ext/simpletest/SimpleTestResultFormatter.php phing/tasks/ext/simpletest/SimpleTestResultFormatter.php
--- phing-orig/tasks/ext/simpletest/SimpleTestResultFormatter.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/tasks/ext/simpletest/SimpleTestResultFormatter.php	2007-04-16 16:31:32.000000000 -0400
@@ -1,162 +1,162 @@
-<?php
-/**
- * $Id: SimpleTestResultFormatter.php 81 2006-07-06 13:07:29Z mrook $
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the LGPL. For more information please see
- * <http://phing.info>.
- */
-
-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 <michiel.rook@gmail.com>
- * @version $Id: SimpleTestResultFormatter.php 81 2006-07-06 13:07:29Z 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;
-		}
-	}
-}
+<?php
+/**
+ * $Id: SimpleTestResultFormatter.php 81 2006-07-06 13:07:29Z mrook $
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This software consists of voluntary contributions made by many individuals
+ * and is licensed under the LGPL. For more information please see
+ * <http://phing.info>.
+ */
+
+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 <michiel.rook@gmail.com>
+ * @version $Id: SimpleTestResultFormatter.php 81 2006-07-06 13:07:29Z 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 -ru phing-orig/tasks/ext/simpletest/SimpleTestSummaryResultFormatter.php phing/tasks/ext/simpletest/SimpleTestSummaryResultFormatter.php
--- phing-orig/tasks/ext/simpletest/SimpleTestSummaryResultFormatter.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/tasks/ext/simpletest/SimpleTestSummaryResultFormatter.php	2007-04-16 16:31:32.000000000 -0400
@@ -1,54 +1,54 @@
-<?php
-/**
- * $Id: SimpleTestSummaryResultFormatter.php 81 2006-07-06 13:07:29Z mrook $
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the LGPL. For more information please see
- * <http://phing.info>.
- */
-
-require_once 'phing/tasks/ext/simpletest/SimpleTestResultFormatter.php';
-
-/**
- * Prints short summary output of the test to Phing's logging system.
- *
- * @author Michiel Rook <michiel.rook@gmail.com>
- * @version $Id: SimpleTestSummaryResultFormatter.php 81 2006-07-06 13:07:29Z 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);
-			}
-		}
-	}
-}
+<?php
+/**
+ * $Id: SimpleTestSummaryResultFormatter.php 81 2006-07-06 13:07:29Z mrook $
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This software consists of voluntary contributions made by many individuals
+ * and is licensed under the LGPL. For more information please see
+ * <http://phing.info>.
+ */
+
+require_once 'phing/tasks/ext/simpletest/SimpleTestResultFormatter.php';
+
+/**
+ * Prints short summary output of the test to Phing's logging system.
+ *
+ * @author Michiel Rook <michiel.rook@gmail.com>
+ * @version $Id: SimpleTestSummaryResultFormatter.php 81 2006-07-06 13:07:29Z 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 -ru phing-orig/tasks/ext/svn/SvnBaseTask.php phing/tasks/ext/svn/SvnBaseTask.php
--- phing-orig/tasks/ext/svn/SvnBaseTask.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/tasks/ext/svn/SvnBaseTask.php	2007-04-16 16:31:32.000000000 -0400
@@ -1,277 +1,277 @@
-<?php
-/*
- *  $Id: SvnBaseTask.php 119 2006-09-14 20:02:22Z mrook $
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the LGPL. For more information please see
- * <http://phing.info>.
- */
- 
-include_once 'phing/Task.php';
-
-/**
- * Base class for Subversion tasks
- *
- * @author Michiel Rook <michiel.rook@gmail.com>
- * @author Andrew Eddie <andrew.eddie@jamboworks.com> 
- * @version $Id: SvnBaseTask.php 119 2006-09-14 20:02:22Z mrook $
- * @package phing.tasks.ext.svn
- * @see VersionControl_SVN
- * @since 2.2.0
- */
-abstract class SvnBaseTask extends Task
-{
-	private $workingCopy = "";
-	
-	private $repositoryUrl = "";
-	
-	private $svnPath = "/usr/bin/svn";
-	
-	private $svn = NULL;
-	
-	private $mode = "";
-	
-	private $svnArgs = array();
-	
-	private $svnSwitches = array();
-
-	private $toDir = "";
-
-	/**
-	 * 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;
-	}
-
-	//
-	// Args
-	//
-
-	/**
-	 * Sets the path to export/checkout to
-	 */
-	function setToDir($toDir)
-	{
-		$this->toDir = $toDir;
-	}
-
-	/**
-	 * Returns the path to export/checkout to
-	 */
-	function getToDir()
-	{
-		return $this->toDir;
-	}
-
-	//
-	// Switches
-	//
-
-	/**
-	 * Sets the force switch
-	 */
-	function setForce($value)
-	{
-		$this->svnSwitches['force'] = $value;
-	}
-
-	/**
-	 * Returns the forec switch
-	 */
-	function getForce()
-	{
-		return isset( $this->svnSwitches['force'] ) ? $this->svnSwitches['force'] : '';
-	}
-
-	/**
-	 * Sets the username of the user to export
-	 */
-	function setUsername($value)
-	{
-		$this->svnSwitches['username'] = $value;
-	}
-
-	/**
-	 * Returns the username
-	 */
-	function getUsername()
-	{
-		return isset( $this->svnSwitches['username'] ) ? $this->svnSwitches['username'] : '';
-	}
-
-	/**
-	 * Sets the password of the user to export
-	 */
-	function setPassword($value)
-	{
-		$this->svnSwitches['password'] = $value;
-	}
-
-	/**
-	 * Returns the password
-	 */
-	function getPassword()
-	{
-		return isset( $this->svnSwitches['password'] ) ? $this->svnSwitches['password'] : '';
-	}
-
-	/**
-	 * Sets the password of the user to export
-	 */
-	function setNoCache($value)
-	{
-		$this->svnSwitches['no-auth-cache'] = $value;
-	}
-
-	/**
-	 * Returns the password
-	 */
-	function getNoCache()
-	{
-		return isset( $this->svnSwitches['no-auth-cache'] ) ? $this->svnSwitches['no-auth-cache'] : '';
-	}
-
-	/**
-	 * 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);
-
-		$tempSwitches = $this->svnSwitches;
-		
-		$tempSwitches = array_merge($tempSwitches, $switches);
-
-		if ($output = $this->svn->run($tempArgs, $tempSwitches))
-		{
-			return $output;
-		}
-		else
-		{
-			if (count($errs = $svnstack->getErrors()))
-			{
-				$err = current($errs);
-
-				throw new BuildException("Failed to run the 'svn " . $this->mode . "' command: " . $err['message']);
-			}
-		}
-	}
-}
+<?php
+/*
+ *  $Id: SvnBaseTask.php 119 2006-09-14 20:02:22Z mrook $
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This software consists of voluntary contributions made by many individuals
+ * and is licensed under the LGPL. For more information please see
+ * <http://phing.info>.
+ */
+ 
+include_once 'phing/Task.php';
+
+/**
+ * Base class for Subversion tasks
+ *
+ * @author Michiel Rook <michiel.rook@gmail.com>
+ * @author Andrew Eddie <andrew.eddie@jamboworks.com> 
+ * @version $Id: SvnBaseTask.php 119 2006-09-14 20:02:22Z mrook $
+ * @package phing.tasks.ext.svn
+ * @see VersionControl_SVN
+ * @since 2.2.0
+ */
+abstract class SvnBaseTask extends Task
+{
+	private $workingCopy = "";
+	
+	private $repositoryUrl = "";
+	
+	private $svnPath = "/usr/bin/svn";
+	
+	private $svn = NULL;
+	
+	private $mode = "";
+	
+	private $svnArgs = array();
+	
+	private $svnSwitches = array();
+
+	private $toDir = "";
+
+	/**
+	 * 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;
+	}
+
+	//
+	// Args
+	//
+
+	/**
+	 * Sets the path to export/checkout to
+	 */
+	function setToDir($toDir)
+	{
+		$this->toDir = $toDir;
+	}
+
+	/**
+	 * Returns the path to export/checkout to
+	 */
+	function getToDir()
+	{
+		return $this->toDir;
+	}
+
+	//
+	// Switches
+	//
+
+	/**
+	 * Sets the force switch
+	 */
+	function setForce($value)
+	{
+		$this->svnSwitches['force'] = $value;
+	}
+
+	/**
+	 * Returns the forec switch
+	 */
+	function getForce()
+	{
+		return isset( $this->svnSwitches['force'] ) ? $this->svnSwitches['force'] : '';
+	}
+
+	/**
+	 * Sets the username of the user to export
+	 */
+	function setUsername($value)
+	{
+		$this->svnSwitches['username'] = $value;
+	}
+
+	/**
+	 * Returns the username
+	 */
+	function getUsername()
+	{
+		return isset( $this->svnSwitches['username'] ) ? $this->svnSwitches['username'] : '';
+	}
+
+	/**
+	 * Sets the password of the user to export
+	 */
+	function setPassword($value)
+	{
+		$this->svnSwitches['password'] = $value;
+	}
+
+	/**
+	 * Returns the password
+	 */
+	function getPassword()
+	{
+		return isset( $this->svnSwitches['password'] ) ? $this->svnSwitches['password'] : '';
+	}
+
+	/**
+	 * Sets the password of the user to export
+	 */
+	function setNoCache($value)
+	{
+		$this->svnSwitches['no-auth-cache'] = $value;
+	}
+
+	/**
+	 * Returns the password
+	 */
+	function getNoCache()
+	{
+		return isset( $this->svnSwitches['no-auth-cache'] ) ? $this->svnSwitches['no-auth-cache'] : '';
+	}
+
+	/**
+	 * 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);
+
+		$tempSwitches = $this->svnSwitches;
+		
+		$tempSwitches = array_merge($tempSwitches, $switches);
+
+		if ($output = $this->svn->run($tempArgs, $tempSwitches))
+		{
+			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 -ru phing-orig/tasks/ext/svn/SvnCheckoutTask.php phing/tasks/ext/svn/SvnCheckoutTask.php
--- phing-orig/tasks/ext/svn/SvnCheckoutTask.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/tasks/ext/svn/SvnCheckoutTask.php	2007-04-16 16:31:32.000000000 -0400
@@ -1,49 +1,49 @@
-<?php
-/**
- * $Id: SvnCheckoutTask.php 123 2006-09-14 20:19:08Z mrook $
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the LGPL. For more information please see
- * <http://phing.info>.
- */
-
-require_once 'phing/Task.php';
-require_once 'phing/tasks/ext/svn/SvnBaseTask.php';
-
-/**
- * Checks out a repository to a local directory
- *
- * @author Andrew Eddie <andrew.eddie@jamboworks.com>
- * @version $Id: SvnCheckoutTask.php 123 2006-09-14 20:19:08Z mrook $
- * @package phing.tasks.ext.svn
- * @since 2.3.0
- */
-class SvnCheckoutTask extends SvnBaseTask
-{
-	/**
-	 * The main entry point
-	 *
-	 * @throws BuildException
-	 */
-	function main()
-	{
-		$this->setup('checkout');
-
-		$this->log("Checking out SVN repository to '" . $this->getToDir() . "'");
-
-		$this->run(array($this->getToDir()));
-	}
-}
-?>
+<?php
+/**
+ * $Id: SvnCheckoutTask.php 123 2006-09-14 20:19:08Z mrook $
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This software consists of voluntary contributions made by many individuals
+ * and is licensed under the LGPL. For more information please see
+ * <http://phing.info>.
+ */
+
+require_once 'phing/Task.php';
+require_once 'phing/tasks/ext/svn/SvnBaseTask.php';
+
+/**
+ * Checks out a repository to a local directory
+ *
+ * @author Andrew Eddie <andrew.eddie@jamboworks.com>
+ * @version $Id: SvnCheckoutTask.php 123 2006-09-14 20:19:08Z mrook $
+ * @package phing.tasks.ext.svn
+ * @since 2.3.0
+ */
+class SvnCheckoutTask extends SvnBaseTask
+{
+	/**
+	 * The main entry point
+	 *
+	 * @throws BuildException
+	 */
+	function main()
+	{
+		$this->setup('checkout');
+
+		$this->log("Checking out SVN repository to '" . $this->getToDir() . "'");
+
+		$this->run(array($this->getToDir()));
+	}
+}
+?>
diff -ru phing-orig/tasks/ext/svn/SvnExportTask.php phing/tasks/ext/svn/SvnExportTask.php
--- phing-orig/tasks/ext/svn/SvnExportTask.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/tasks/ext/svn/SvnExportTask.php	2007-04-16 16:31:32.000000000 -0400
@@ -1,51 +1,51 @@
-<?php
-/**
- * $Id: SvnExportTask.php 119 2006-09-14 20:02:22Z mrook $
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the LGPL. For more information please see
- * <http://phing.info>.
- */
-
-require_once 'phing/Task.php';
-require_once 'phing/tasks/ext/svn/SvnBaseTask.php';
-
-/**
- * Exports/checks out a repository to a local directory
- * with authentication 
- *
- * @author Michiel Rook <michiel.rook@gmail.com>
- * @author Andrew Eddie <andrew.eddie@jamboworks.com> 
- * @version $Id: SvnExportTask.php 119 2006-09-14 20:02:22Z mrook $
- * @package phing.tasks.ext.svn
- * @since 2.2.0
- */
-class SvnExportTask extends SvnBaseTask
-{
-	/**
-	 * The main entry point
-	 *
-	 * @throws BuildException
-	 */
-	function main()
-	{
-		$this->setup('export');
-		
-		$this->log("Exporting SVN repository to '" . $this->getToDir() . "'");
-
-		$this->run(array($this->getToDir()));
-	}
-}
+<?php
+/**
+ * $Id: SvnExportTask.php 119 2006-09-14 20:02:22Z mrook $
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This software consists of voluntary contributions made by many individuals
+ * and is licensed under the LGPL. For more information please see
+ * <http://phing.info>.
+ */
+
+require_once 'phing/Task.php';
+require_once 'phing/tasks/ext/svn/SvnBaseTask.php';
+
+/**
+ * Exports/checks out a repository to a local directory
+ * with authentication 
+ *
+ * @author Michiel Rook <michiel.rook@gmail.com>
+ * @author Andrew Eddie <andrew.eddie@jamboworks.com> 
+ * @version $Id: SvnExportTask.php 119 2006-09-14 20:02:22Z mrook $
+ * @package phing.tasks.ext.svn
+ * @since 2.2.0
+ */
+class SvnExportTask extends SvnBaseTask
+{
+	/**
+	 * The main entry point
+	 *
+	 * @throws BuildException
+	 */
+	function main()
+	{
+		$this->setup('export');
+		
+		$this->log("Exporting SVN repository to '" . $this->getToDir() . "'");
+
+		$this->run(array($this->getToDir()));
+	}
+}
 ?>
\ No newline at end of file
diff -ru phing-orig/tasks/ext/svn/SvnUpdateTask.php phing/tasks/ext/svn/SvnUpdateTask.php
--- phing-orig/tasks/ext/svn/SvnUpdateTask.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/tasks/ext/svn/SvnUpdateTask.php	2007-04-16 16:31:32.000000000 -0400
@@ -1,49 +1,49 @@
-<?php
-/**
- * $Id: SvnUpdateTask.php 123 2006-09-14 20:19:08Z mrook $
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the LGPL. For more information please see
- * <http://phing.info>.
- */
-
-require_once 'phing/Task.php';
-require_once 'phing/tasks/ext/svn/SvnBaseTask.php';
-
-/**
- * Updates a repository in local directory
- *
- * @author Andrew Eddie <andrew.eddie@jamboworks.com>
- * @version $Id: SvnUpdateTask.php 123 2006-09-14 20:19:08Z mrook $
- * @package phing.tasks.ext.svn
- * @since 2.3.0
- */
-class SvnUpdateTask extends SvnBaseTask
-{
-	/**
-	 * The main entry point
-	 *
-	 * @throws BuildException
-	 */
-	function main()
-	{
-		$this->setup('update');
-
-		$this->log("Updating SVN repository at '" . $this->getToDir() . "'");
-
-		$this->run(array($this->getToDir()));
-	}
-}
-?>
+<?php
+/**
+ * $Id: SvnUpdateTask.php 123 2006-09-14 20:19:08Z mrook $
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This software consists of voluntary contributions made by many individuals
+ * and is licensed under the LGPL. For more information please see
+ * <http://phing.info>.
+ */
+
+require_once 'phing/Task.php';
+require_once 'phing/tasks/ext/svn/SvnBaseTask.php';
+
+/**
+ * Updates a repository in local directory
+ *
+ * @author Andrew Eddie <andrew.eddie@jamboworks.com>
+ * @version $Id: SvnUpdateTask.php 123 2006-09-14 20:19:08Z mrook $
+ * @package phing.tasks.ext.svn
+ * @since 2.3.0
+ */
+class SvnUpdateTask extends SvnBaseTask
+{
+	/**
+	 * The main entry point
+	 *
+	 * @throws BuildException
+	 */
+	function main()
+	{
+		$this->setup('update');
+
+		$this->log("Updating SVN repository at '" . $this->getToDir() . "'");
+
+		$this->run(array($this->getToDir()));
+	}
+}
+?>
diff -ru phing-orig/tasks/system/condition/ReferenceExistsCondition.php phing/tasks/system/condition/ReferenceExistsCondition.php
--- phing-orig/tasks/system/condition/ReferenceExistsCondition.php	2007-04-16 16:25:20.000000000 -0400
+++ phing/tasks/system/condition/ReferenceExistsCondition.php	2007-04-16 16:31:32.000000000 -0400
@@ -1,52 +1,52 @@
-<?php
-/*
- *  $Id: ReferenceExistsCondition.php 43 2006-03-10 14:31:51Z mrook $
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the LGPL. For more information please see
- * <http://phing.info>.
- */
-
-require_once 'phing/ProjectComponent.php'; require_once 'phing/tasks/system/condition/Condition.php';
-
-/**
- * Condition that tests whether a given reference exists.
- *
- * @author Matthias Pigulla <mp@webfactory.de> (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]);
-    }
-
-}
-
+<?php
+/*
+ *  $Id: ReferenceExistsCondition.php 43 2006-03-10 14:31:51Z mrook $
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This software consists of voluntary contributions made by many individuals
+ * and is licensed under the LGPL. For more information please see
+ * <http://phing.info>.
+ */
+
+require_once 'phing/ProjectComponent.php'; require_once 'phing/tasks/system/condition/Condition.php';
+
+/**
+ * Condition that tests whether a given reference exists.
+ *
+ * @author Matthias Pigulla <mp@webfactory.de> (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]);
+    }
+
+}
+

