Changeset 115

Show
Ignore:
Timestamp:
09/12/06 09:18:30 (2 years ago)
Author:
mrook
Message:

Merge 2.2 branch up to & including r84

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/CHANGELOG

    r114 r115  
    3434 
    3535  * Added PhpLintTask (Knut Urdalen) 
     36 
     37  * Added XmlLintTask (Knut Urdalen) 
     38 
     39  * Added ZendCodeAnalyzerTask (Knut Urdalen) 
    3640   
    3741  * Removed CoverageFormatter class (MR) 
  • trunk/bin/pear-phing

    r1 r115  
    77 
    88# Change this to reflect your environment if the default value doesn't work 
    9 export PHP_COMMAND="@PHP-BIN@" 
     9PHP_COMMAND="@PHP-BIN@" 
     10export PHP_COMMAND 
    1011 
    1112# ------------------------------------------------------------------------- 
     
    1516if (test -z "$PHP_COMMAND") ; then 
    1617        echo "WARNING: PHP_COMMAND environment not set. (Assuming php on PATH)" 
    17         export PHP_COMMAND=php 
     18        PHP_COMMAND=php 
     19        export PHP_COMMAND 
    1820fi 
    1921 
  • trunk/bin/phing

    r1 r115  
    6464if (test -z "$PHP_COMMAND") ; then 
    6565        # echo "WARNING: PHP_COMMAND environment not set. (Assuming php on PATH)" 
    66         export PHP_COMMAND=php 
     66        PHP_COMMAND=php 
     67        export PHP_COMMAND 
    6768fi 
    6869 
  • trunk/classes/phing/Phing.php

    r11 r115  
    811811        } 
    812812         
    813         $path = strtr($dotPath, '.', DIRECTORY_SEPARATOR) . ".php";         
     813        $dotClassname = basename($dotPath); 
     814        $dotClassnamePos = strlen($dotPath) - strlen($dotClassname); 
     815        $classFile = strtr($dotClassname, '.', DIRECTORY_SEPARATOR) . ".php"; 
     816        $path = substr_replace($dotPath, $classFile, $dotClassnamePos); 
    814817         
    815818        Phing::__import($path, $classpath); 
  • trunk/classes/phing/tasks/ext/CreoleSQLExecTask.php

    r43 r115  
    391391                        && $line == $this->delimiter) { 
    392392                    $this->log("SQL: " . $sql, PROJECT_MSG_VERBOSE); 
    393                     $this->execSQL(StringHelper::substring($sql, 0, strlen($sql) - strlen($this->delimiter)), $out); 
     393                    $this->execSQL(StringHelper::substring($sql, 0, strlen($sql) - strlen($this->delimiter) - 1), $out); 
    394394                    $sql = ""; 
    395395                } 
  • trunk/classes/phing/tasks/ext/phpdoc/PHPDocumentorTask.php

    r81 r115  
    11<?php 
    22 
     3/** 
     4 * $Id$ 
     5 * 
     6 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
     7 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
     8 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 
     9 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
     10 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
     11 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
     12 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
     13 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
     14 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
     15 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
     16 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
     17 * 
     18 * This software consists of voluntary contributions made by many individuals 
     19 * and is licensed under the LGPL. For more information please see 
     20 * <http://phing.info>. 
     21 */ 
     22 
     23require_once 'phing/Task.php'; 
     24 
     25/** 
     26 * Task to run phpDocumentor. 
     27 * 
     28 * @author Michiel Rook <michiel.rook@gmail.com> 
     29 * @version $Id$ 
     30 * @package phing.tasks.ext.phpdoc 
     31 */      
     32class PHPDocumentorTask extends Task 
     33{ 
    334        /** 
    4          * $Id$ 
    5          * 
    6          * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
    7          * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
    8          * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 
    9          * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
    10          * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
    11          * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
    12          * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
    13          * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
    14          * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
    15          * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
    16          * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
    17          * 
    18          * This software consists of voluntary contributions made by many individuals 
    19          * and is licensed under the LGPL. For more information please see 
    20          * <http://phing.info>. 
     35         * The path to the executable for phpDocumentor 
    2136         */ 
    22           
    23         require_once 'phing/Task.php'; 
     37        private $programPath = 'phpdoc'; 
     38 
     39        private $title = "Default Title"; 
     40 
     41        private $destdir = "."; 
     42 
     43        private $sourcepath = NULL; 
     44 
     45        private $output = ""; 
     46 
     47        private $linksource = false; 
     48 
     49        private $parseprivate = false; 
    2450 
    2551        /** 
    26          * Task to run phpDocumentor. 
    27          * 
    28          * @author Michiel Rook <michiel.rook@gmail.com> 
    29          * @version $Id$ 
    30          * @package phing.tasks.ext.phpdoc 
    31          */      
    32         class PHPDocumentorTask extends Task 
     52         * Sets the path to the phpDocumentor executable 
     53         */ 
     54        function setProgramPath($programPath) 
    3355        { 
    34                 /** 
    35                  * The name of the executable for phpDocumentor 
    36                  */ 
    37                 const PHPDOC = 'phpdoc'; 
    38                  
    39                 private $title = "Default Title"; 
    40                                  
    41                 private $destdir = "."; 
    42                                  
    43                 private $sourcepath = NULL; 
    44                                  
    45                 private $output = ""; 
    46                                  
    47                 private $linksource = false; 
    48                  
    49                 private $parseprivate = false; 
     56                $this->programPath = $programPath; 
     57        } 
    5058 
    51                 /** 
    52                  * Set the title for the generated documentation 
    53                  */ 
    54                 function setTitle($title) 
     59        /** 
     60         * Returns the path to the phpDocumentor executable 
     61         */ 
     62        function getProgramPath() 
     63        { 
     64                return $this->programPath; 
     65        } 
     66 
     67        /** 
     68         * Set the title for the generated documentation 
     69         */ 
     70        function setTitle($title) 
     71        { 
     72                $this->title = $title; 
     73        } 
     74 
     75        /** 
     76         * Set the destination directory for the generated documentation 
     77         */ 
     78        function setDestdir($destdir) 
     79        { 
     80                $this->destdir = $destdir; 
     81        } 
     82 
     83        /** 
     84         * Set the source path 
     85         */ 
     86        function setSourcepath(Path $sourcepath) 
     87        { 
     88                if ($this->sourcepath === NULL) 
    5589                { 
    56                         $this->title = $title; 
     90                        $this->sourcepath = $sourcepath; 
     91                } 
     92                else 
     93                { 
     94                        $this->sourcepath->append($sourcepath); 
     95                } 
     96        } 
     97 
     98        /** 
     99         * Set the output type 
     100         */              
     101        function setOutput($output) 
     102        { 
     103                $this->output = $output; 
     104        } 
     105 
     106        /** 
     107         * Should sources be linked in the generated documentation 
     108         */ 
     109        function setLinksource($linksource) 
     110        { 
     111                $this->linksource = $linksource; 
     112        } 
     113 
     114        /** 
     115         * Should private members/classes be documented 
     116         */ 
     117        function setParseprivate($parseprivate) 
     118        { 
     119                $this->parseprivate = $parseprivate; 
     120        } 
     121 
     122        /** 
     123         * Main entrypoint of the task 
     124         */ 
     125        function main() 
     126        { 
     127                $arguments = $this->constructArguments(); 
     128 
     129                $this->log("Running phpDocumentor..."); 
     130 
     131                exec($this->programPath . " " . $arguments, $output, $return); 
     132 
     133                if ($return != 0) 
     134                { 
     135                        throw new BuildException("Could not execute phpDocumentor: " . implode(' ', $output)); 
    57136                } 
    58137                 
    59                 /** 
    60                  * Set the destination directory for the generated documentation 
    61                  */ 
    62                 function setDestdir($destdir) 
     138                foreach($output as $line) 
    63139                { 
    64                         $this->destdir = $destdir; 
    65                 } 
    66                  
    67                 /** 
    68                  * Set the source path 
    69                  */ 
    70                 function setSourcepath(Path $sourcepath) 
    71                 { 
    72                         if ($this->sourcepath === NULL) 
     140                        if(strpos($line, 'ERROR') !== false) 
    73141                        { 
    74                                 $this->sourcepath = $sourcepath; 
    75                         } 
    76                         else 
    77                         { 
    78                                 $this->sourcepath->append($sourcepath); 
    79                         } 
    80                 } 
    81                  
    82                 /** 
    83                  * Set the output type 
    84                  */              
    85                 function setOutput($output) 
    86                 { 
    87                         $this->output = $output; 
    88                 } 
    89                  
    90                 /** 
    91                  * Should sources be linked in the generated documentation 
    92                  */ 
    93                 function setLinksource($linksource) 
    94                 { 
    95                         $this->linksource = $linksource; 
    96                 } 
    97                  
    98                 /** 
    99                  * Should private members/classes be documented 
    100                  */ 
    101                 function setParseprivate($parseprivate) 
    102                 { 
    103                         $this->parseprivate = $parseprivate; 
    104                 } 
    105                  
    106                 /** 
    107                  * Main entrypoint of the task 
    108                  */ 
    109                 function main() 
    110                 { 
    111                         $arguments = $this->constructArguments(); 
    112                          
    113                         exec(self::PHPDOC . " " . $arguments, $output, $retval); 
    114                 } 
    115                  
    116                 /** 
    117                  * Constructs an argument string for phpDocumentor 
    118                  */ 
    119                 private function constructArguments() 
    120                 { 
    121                         $arguments = "-q "; 
    122                          
    123                         if ($this->title) 
    124                         { 
    125                                 $arguments.= "-ti '" . $this->title . "' "; 
     142                                $this->log($line, PROJECT_MSG_ERR); 
     143                                continue; 
    126144                        } 
    127145                         
    128                         if ($this->destdir) 
    129                         { 
    130                                 $arguments.= "-t " . $this->destdir . " "; 
    131                         } 
    132                          
    133                         if ($this->sourcepath !== NULL) 
    134                         { 
    135                                 $arguments.= "-d " . $this->sourcepath->__toString() . " "; 
    136                         } 
    137                          
    138                         if ($this->output) 
    139                         { 
    140                                 $arguments.= "-o " . $this->output . " "; 
    141                         } 
    142                          
    143                         if ($this->linksource) 
    144                         { 
    145                                 $arguments.= "-s "; 
    146                         } 
    147                          
    148                         if ($this->parseprivate) 
    149                         { 
    150                                 $arguments.= "-pp "; 
    151                         } 
    152                                                  
    153                         return $arguments; 
     146                        $this->log($line, PROJECT_MSG_VERBOSE); 
    154147                } 
    155         }; 
     148        } 
     149 
     150        /** 
     151         * Constructs an argument string for phpDocumentor 
     152         */ 
     153        private function constructArguments() 
     154        { 
     155                $arguments = "-q on "; 
     156 
     157                if ($this->title) 
     158                { 
     159                        $arguments.= "-ti \"" . $this->title . "\" "; 
     160                } 
     161 
     162                if ($this->destdir) 
     163                { 
     164                        $arguments.= "-t \"" . $this->destdir . "\" "; 
     165                } 
     166 
     167                if ($this->sourcepath !== NULL) 
     168                { 
     169                        $arguments.= "-d \"" . $this->sourcepath->__toString() . "\" "; 
     170                } 
     171 
     172                if ($this->output) 
     173                { 
     174                        $arguments.= "-o " . $this->output . " "; 
     175                } 
     176 
     177                if ($this->linksource) 
     178                { 
     179                        $arguments.= "-s on "; 
     180                } 
     181 
     182                if ($this->parseprivate) 
     183                { 
     184                        $arguments.= "-pp on "; 
     185                } 
     186 
     187                return $arguments; 
     188        } 
     189}; 
    156190 
    157191?> 
  • trunk/classes/phing/tasks/ext/phpunit2/PHPUnit2ReportTask.php

    r81 r115  
    7878                $this->toDir = $toDir; 
    7979        } 
    80  
     80         
     81        /** 
     82         * Returns the path to the XSL stylesheet 
     83         */ 
    8184        private function getStyleSheet() 
    8285        { 
     
    111114                return $file; 
    112115        } 
    113  
    114         function transform($document) 
     116         
     117        /** 
     118         * Transforms the DOM document 
     119         */ 
     120        private function transform(DOMDocument $document) 
    115121        { 
    116122                $dir = new PhingFile($this->toDir); 
     
    146152                } 
    147153        } 
     154         
     155        /** 
     156         * Fixes 'testsuite' elements with no package attribute, adds 
     157         * package="default" to those elements. 
     158         */ 
     159        private function fixPackages(DOMDocument $document) 
     160        { 
     161                $testsuites = $document->getElementsByTagName('testsuite'); 
     162                 
     163                foreach ($testsuites as $testsuite) 
     164                { 
     165                        if (!$testsuite->hasAttribute('package')) 
     166                        { 
     167                                $testsuite->setAttribute('package', 'default'); 
     168                        } 
     169                } 
     170        } 
    148171 
    149172        /** 
     
    152175         * @throws BuildException 
    153176         */ 
    154         function main() 
     177        public function main() 
    155178        { 
    156179                $testSuitesDoc = new DOMDocument(); 
    157180                $testSuitesDoc->load($this->inFile); 
     181                 
     182                $this->fixPackages($testSuitesDoc); 
    158183                 
    159184                $this->transform($testSuitesDoc); 
  • trunk/classes/phing/tasks/ext/phpunit2/PHPUnit2ResultFormatter.php

    r81 r115  
    125125        } 
    126126 
     127        function addSkippedTest(PHPUnit2_Framework_Test $test, Exception $e) 
     128        { 
     129        } 
     130         
    127131        function getRunCount() 
    128132        { 
  • trunk/classes/phing/tasks/ext/phpunit2/PHPUnit2Util.php

    r81 r115  
    108108                        } 
    109109                } 
    110                                  
    111                 return self::$definedClasses[$filename]; 
     110                 
     111                if (isset(self::$definedClasses[$filename])) 
     112                { 
     113                        return self::$definedClasses[$filename]; 
     114                } 
     115                else 
     116                { 
     117                        return array(); 
     118                } 
    112119        } 
    113120} 
  • trunk/classes/phing/tasks/ext/svn/SvnBaseTask.php

    r43 r115  
    2828 *  
    2929 *  @author   Francois Harvey at SecuriWeb (http://www.securiweb.net) 
    30  *  @version  $Revision: 1.1
     30 *  @version  $Id
    3131 *  @package  phing.tasks.ext 
    3232 */ 
     
    109109         * Creates a VersionControl_SVN class based on $mode 
    110110         * 
    111          * @param mode The SVN mode to use (info, export, checkout, ...) 
     111         * @param string The SVN mode to use (info, export, checkout, ...) 
    112112         * @throws BuildException 
    113113         */ 
     
    151151         * Executes the constructed VersionControl_SVN instance 
    152152         * 
    153          * @param args Additional arguments to pass to SVN. 
    154          * @returns string Output generated by SVN. 
     153         * @param array Additional arguments to pass to SVN. 
     154         * @param array Switches to pass to SVN. 
     155         * @return string Output generated by SVN. 
    155156         */ 
    156         protected function run($args = NULL
     157        protected function run($args = array(), $switches = array()
    157158        { 
    158159                $svnstack = PEAR_ErrorStack::singleton('VersionControl_SVN'); 
     
    160161                $tempArgs = $this->svnArgs; 
    161162                 
    162                 if (is_array($args)) 
    163                 { 
    164                         $tempArgs = array_merge($tempArgs, $args); 
    165                 } 
     163                $tempArgs = array_merge($tempArgs, $args); 
    166164                 
    167                 if ($output = $this->svn->run($tempArgs)) 
     165                if ($output = $this->svn->run($tempArgs, $switches)) 
    168166                { 
    169167                        return $output; 
  • trunk/classes/phing/util/FileUtils.php

    r1 r115  
    4747     * @return Reader Assembled Reader (w/ filter chains). 
    4848     */ 
    49     function getChainedReader(Reader $in, &$filterChains, Project $project) { 
     49    public static function getChainedReader(Reader $in, &$filterChains, Project $project) { 
    5050        if (!empty($filterChains)) { 
    5151            $crh = new ChainReaderHelper(); 
  • trunk/docs/phing_guide/book/chapters/appendixes/AppendixA-FactSheet.html

    r1 r115  
    88<html xmlns="http://www.w3.org/1999/xhtml"> 
    99<head> 
    10         <title> Phing Guide </title>  
     10        <title> Phing Guide </title> 
    1111        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
    1212        <link rel="Stylesheet" rev="Stylesheet" href="../../css/Documentation.css" type="text/css" media="All" charset="iso-8859-1" /> 
     
    1515<h1>Appendix A: Fact Sheet</h1> 
    1616 
    17 <h2><a name="BuiltInProperties"></a>Built-In Properties</h2>  
     17<h2><a name="BuiltInProperties"></a>Built-In Properties</h2> 
    1818 
    1919<table> 
     
    3131</tr> 
    3232<tr> 
     33  <td>env.*</td> 
     34  <td>Environment variables, extracted from <em>$_SERVER</em>.</td> 
     35</tr> 
     36<tr> 
    3337  <td>host.arch</td> 
    34   <td>Name of the host machine. <em>Not available on Windows machines.</em></td> 
     38  <td>System architecture, i.e. <em>i586</em>. 
     39      <em>Not available on Windows machines.</em></td> 
    3540</tr> 
    3641<tr> 
     
    4449</tr> 
    4550<tr> 
    46   <td>host.machine</td> 
    47   <td>System architecture, i.e. <em>i586</em>.  
     51  <td>host.name</td> 
     52  <td>Operating System hostname as returned by <em>posix_uname()</em>. 
    4853      <em>Not available on Windows machines.</em></td> 
    4954</tr> 
    5055<tr> 
    51   <td>host.name</td> 
    52   <td>Operating System name as returned by <em>posix_uname()</em>. 
     56  <td>host.os</td> 
     57  <td>Operating System description as set in <em>PHP_OS</em> variable.</td> 
     58</tr> 
     59<tr> 
     60  <td>host.os.release</td> 
     61  <td>Operating version release, i.e. <em> 2.2.10</em>. 
    5362      <em>Not available on Windows machines.</em></td> 
    5463</tr> 
    5564<tr> 
    56   <td>host.os.release</td> 
    57   <td>Operating version release, i.e. <em> 2.2.10</em>.  
     65  <td>host.os.version</td> 
     66  <td>Operating system version, i.e. <em>#4 Tue Jul 20 17:01:36 MEST 1999</em>. 
    5867      <em>Not available on Windows machines.</em></td> 
    5968</tr> 
    6069<tr> 
    61   <td>host.os.version</td> 
    62   <td>Operating system version, i.e. <em>#4 Tue Jul 20 17:01:36 MEST 1999</em>.  
    63       <em>Not available on Windows machines.</em></td> 
    64 </tr> 
    65 <tr> 
    6670  <td>line.separator</td> 
    67   <td>Character(s) that signal the end of a line, &quot;\n&quot; for Linux,  
     71  <td>Character(s) that signal the end of a line, &quot;\n&quot; for Linux, 
    6872      &quot;\r\n&quot; for Windows system, &quot;\r&quot; for Macintosh.</td> 
    6973</tr> 
     74<tr> 
     75  <td>os.name</td> 
     76  <td>Operating System description as set in <em>PHP_OS</em> variable.</td> 
     77</tr> 
     78 
     79<tr> 
     80  <td>phing.file</td> 
     81  <td>Full path to current buildfile.</td> 
     82</tr> 
     83<tr> 
     84  <td>phing.home</td> 
     85  <td>Phing installation directory, not set in <em>PEAR</em> installations.</td> 
     86</tr> 
     87<tr> 
     88  <td>phing.version</td> 
     89  <td>Current Phing version. This property equals the value of the PHP 
     90      constant <em>PHP_OS</em> (see <a 
     91      href="http://www.php.net/manual/en/reserved.constants.core.php">PHP Manual</a>). 
     92      Possible values are <em>Linux</em>, <em>Win32</em> and <em>WINNT</em>, for 
     93      example.</td> 
     94</tr> 
     95<tr> 
     96  <td>phing.project.name</td> 
     97  <td>Name of the currently processed project.</td> 
     98</tr> 
    7099 
    71100<tr> 
    72101  <td>php.classpath</td> 
    73   <td>The value of the environment variable <em>PHP_CLASSPATH</em></td> 
     102  <td>The value of the environment variable <em>PHP_CLASSPATH</em>.</td> 
    74103</tr> 
    75104<tr> 
     
    81110 
    82111<tr> 
    83   <td>phing.buildfile</td> 
    84   <td>Full path to current buildfile</td> 
    85 </tr> 
    86 <tr> 
    87   <td>phing.id</td> 
    88   <td>ID of hte current phing instance</td> 
    89 </tr> 
    90 <tr> 
    91   <td>phing.version</td> 
    92   <td>Current Phing version. This property equals the value of the PHP 
    93       constant <em>PHP_OS</em> (see <a  
    94       href="http://www.php.net/manual/en/reserved.constants.core.php">PHP Manual</a>. 
    95       Possible values are <em>Linux</em>, <em>Win32</em> and <em>WINNT</em>, for 
    96       example.</td> 
    97 </tr> 
    98  
    99 <tr> 
    100   <td>project.name</td> 
    101   <td>Name of the currently processed project.</td> 
    102 </tr> 
    103 <tr> 
    104112  <td>project.basedir</td> 
    105   <td>The current project basedir</td> 
    106 </tr> 
    107 <tr> 
    108   <td>project.description</td> 
    109   <td>The description of the currently processed project.</td> 
     113  <td>The current project basedir.</td> 
    110114</tr> 
    111115 
     
    169173 
    170174 
    171 <h2><a name="DistributionFileLayout"></a>Distribution File Layout</h2>  
     175<h2><a name="DistributionFileLayout"></a>Distribution File Layout</h2> 
    172176 
    173177<pre title="DistributionFileLayout">$PHING_HOME 
     
    192196</pre> 
    193197 
    194 <h2><a name="ProgramExitCodes"></a>Program Exit Codes</h2>  
    195  
    196 <p>Phing is script-safe - means that you can execute Phing and  
    197 Configure within a automated script context. To check back the  
    198 success of a Phing call it returns an exit code that can be  
    199 captured by your calling script. The following list gives you  
     198<h2><a name="ProgramExitCodes"></a>Program Exit Codes</h2> 
     199 
     200<p>Phing is script-safe - means that you can execute Phing and 
     201Configure within a automated script context. To check back the 
     202success of a Phing call it returns an exit code that can be 
     203captured by your calling script. The following list gives you 
    200204details on the used exit codes and their meaning.</p> 
    201205 
     
    386390writing it).  Whether that is true depends on what the Library does 
    387391and what the program that uses the Library does. 
    388    
     392 
    389393  1. You may copy and distribute verbatim copies of the Library's 
    390394complete source code as you receive it, in any medium, provided that 
  • trunk/docs/phing_guide/book/chapters/appendixes/AppendixB-CoreTasks.html

    r97 r115  
    11241124<h3>Example</h3> 
    11251125<pre>&lt;property name=&quot;strings.test&quot; value=&quot;Harr harr, more power!&quot; /&gt; 
    1126 &lt;echo message=&quot;{$strings.text}&quot; /&gt; 
     1126&lt;echo message=&quot;${strings.text}&quot; /&gt; 
    11271127 
    11281128&lt;property name=&quot;foo.bar&quot; value=&quot;Yet another property...&quot; /&gt; 
    1129 &lt;echo message=&quot;{$foo.bar}&quot; /&gt; 
     1129&lt;echo message=&quot;${foo.bar}&quot; /&gt; 
    11301130 
    11311131&lt;property file=&quot;build.properties&quot;  /&gt; 
     
    12301230<pre>&lt;property name=&quot;relative_path&quot; value=&quot;./dirname&quot;/&gt; 
    12311231 
    1232 &lt;resolve propertyName=&quot;absolute_path&quot; file=&quot;${relative_path}&quot;/&gt; 
     1232&lt;resolvepath propertyName=&quot;absolute_path&quot; file=&quot;${relative_path}&quot;/&gt; 
    12331233 
    12341234&lt;echo&gt;Resolved [absolute] path: ${absolute_path}&lt;/echo&gt;</pre> 
  • trunk/docs/phing_guide/book/chapters/appendixes/AppendixC-OptionalTasks.html

    r114 r115  
    746746the file <em>reports/testsuites.xml</em> as input.</p> 
    747747 
     748<p><b>Important note:</b> testclasses that are not explicitly placed in a package (by using a '@package' tag in the class-level DocBlock) 
     749are listed under the "default" package.</p> 
     750 
    748751<h2><a name="SvnExportTask"></a>SvnExportTask</h2> 
    749752<p> The <em>SvnExportTask</em> exports a Subversion repository to a local directory.</p> 
    750 <h3>Example</h3> 
     753<h3>Examples</h3> 
     754 
    751755<pre>&lt;svnexport svnpath=&quot;/usr/bin/svn&quot; repositoryurl=&quot;svn://localhost/project/trunk/&quot; todir=&quot;/home/user/svnwc&quot;/&gt; 
     756</pre> 
     757 
     758<pre>&lt;svnexport svnpath=&quot;C:/Subversion/bin/svn.exe&quot; repositoryurl=&quot;svn://localhost/project/trunk/&quot; todir=&quot;C:/projects/svnwc&quot;/&gt; 
    752759</pre> 
    753760 
     
    790797<h2><a name="SvnLastRevisionTask"></a>SvnLastRevisionTask</h2> 
    791798<p> The <em>SvnLastRevisionTask</em> stores the number of the last revision of a Subversion workingcopy in a property.</p> 
    792 <h3>Example</h3> 
    793 <pre>&lt;svnlastrevision svnpath=&quot;/usr/bin/svn&quot; workingcopy=&quot;/home/user/svnwc/&quot; propertyname=&quot;svn.lastrevision&quot;/&gt; 
     799<h3>Examples</h3> 
     800 
     801<pre>&lt;svnlastrevision svnpath=&quot;/usr/bin/svn&quot; workingcopy=&quot;/home/user/svnwc&quot; propertyname=&quot;svn.lastrevision&quot;/&gt; 
     802</pre> 
     803 
     804<pre>&lt;svnlastrevision svnpath=&quot;C:/Subversion/bin/svn.exe&quot; workingcopy=&quot;C:/projects/svnwc&quot; propertyname=&quot;svn.lastrevision&quot;/&gt; 
    794805</pre> 
    795806