Changeset 236

Show
Ignore:
Timestamp:
09/10/07 14:24:59 (10 months ago)
Author:
mrook
Message:

Remove PEAR dependency for PHPUnit version checks - use PHPUnit code instead (closes issue #148)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/classes/phing/tasks/ext/phpunit/PHPUnitTask.php

    r219 r236  
    2020 */ 
    2121 
    22 require_once 'PEAR/Registry.php'; 
    2322require_once 'phing/Task.php'; 
    2423require_once 'phing/system/io/PhingFile.php'; 
     
    5958                 
    6059                /** 
    61                  * Ugly hack to get PHPUnit version number from PEAR 
     60                 * Determine PHPUnit version number 
    6261                 */ 
    63                 $config = new PEAR_Config(); 
    64                 $registry = new PEAR_Registry($config->get('php_dir')); 
    65                 $pkg_info = $registry->_packageInfo("PHPUnit", null, "pear.phpunit.de"); 
    66                  
    67                 if ($pkg_info != NULL) 
    68                 { 
    69                         if (version_compare($pkg_info['version']['api'], "3.0.0") >= 0) 
    70                         { 
    71                                 PHPUnitUtil::$installedVersion = 3; 
    72                         } 
    73                         else 
    74                         { 
    75                                 PHPUnitUtil::$installedVersion = 2; 
    76                         } 
     62                @include_once 'PHPUnit/Runner/Version.php'; 
     63                @include_once 'PHPUnit2/Runner/Version.php'; 
     64 
     65                if (class_exists('PHPUnit_Runner_Version')) 
     66                { 
     67                        $version = PHPUnit_Runner_Version::id(); 
     68                } 
     69                elseif (class_exists('PHPUnit2_Runner_Version')) 
     70                { 
     71                        $version = PHPUnit2_Runner_Version::id(); 
    7772                } 
    7873                else 
    7974                { 
    80                         /** 
    81                          * Try to find PHPUnit3 
    82                          */ 
    83                         @include_once 'PHPUnit/Util/Filter.php'; 
    84                          
    85                         if (class_exists('PHPUnit_Util_Filter')) 
    86                         { 
    87                                 PHPUnitUtil::$installedVersion = 3; 
    88                         } 
    89                         else 
    90                         {                        
    91                                 /** 
    92                                  * Try to find PHPUnit2 
    93                                  */ 
    94                                 @include_once 'PHPUnit2/Util/Filter.php'; 
    95                          
    96                                 if (!class_exists('PHPUnit2_Util_Filter')) { 
    97                                         throw new BuildException("PHPUnit task depends on PEAR PHPUnit 2 or 3 package being installed.", $this->getLocation()); 
    98                                 } 
    99  
    100                                 PHPUnitUtil::$installedVersion = 2; 
    101                         } 
    102                 } 
    103                  
    104                 // other dependencies that should only be loaded when class is actually used. 
     75                        throw new BuildException("PHPUnit task depends on PHPUnit 2 or 3 package being installed.", $this->getLocation()); 
     76                } 
     77                 
     78                if (version_compare($version, "3.0.0") >= 0) 
     79                { 
     80                        PHPUnitUtil::$installedVersion = 3; 
     81                } 
     82                else 
     83                { 
     84                        PHPUnitUtil::$installedVersion = 2; 
     85                } 
     86                 
     87                /** 
     88                 * Other dependencies that should only be loaded when class is actually used. 
     89                 */ 
    10590                require_once 'phing/tasks/ext/phpunit/PHPUnitTestRunner.php'; 
    10691                require_once 'phing/tasks/ext/phpunit/BatchTest.php'; 
    10792                require_once 'phing/tasks/ext/phpunit/FormatterElement.php'; 
    108                 //require_once 'phing/tasks/ext/phpunit/SummaryPHPUnit2ResultFormatter.php'; 
    109  
    110                 // add some defaults to the PHPUnit filter 
     93 
     94                /** 
     95                 * Add some defaults to the PHPUnit filter 
     96                 */ 
    11197                if (PHPUnitUtil::$installedVersion == 3) 
    11298                {