. */ require_once 'phing/TaskPhing.php'; require_once 'phing/tasks/ext/svn/SvnBaseTask.php'; /** * Stores the number of the last revision of a workingcopy in a property * * @author Michiel Rook * @version $Id: SvnLastRevisionTask.php 3076 2006-12-18 08:52:12Z fabien $ * @package phing.tasks.ext.svn * @see VersionControl_SVN * @since 2.1.0 */ class SvnLastRevisionTask extends SvnBaseTask { private $propertyName = "svn.lastrevision"; /** * Sets the name of the property to use */ function setPropertyName($propertyName) { $this->propertyName = $propertyName; } /** * Returns the name of the property to use */ function getPropertyName() { return $this->propertyName; } /** * The main entry point * * @throws BuildException */ function main() { $this->setup('info'); $output = $this->run(); if (preg_match('/Rev:[\s]+([\d]+)/', $output, $matches)) { $this->project->setProperty($this->getPropertyName(), $matches[1]); } else { throw new BuildException("Failed to parse the output of 'svn info'."); } } } ?>