classes/phing/tasks/system/Retry.php
public function main()
    {
        $errorMessages = '';
        for ($i = 0; $i <= $this->retryCount; $i++) {
            try {
                $this->nestedTask->perform();
                break;
            } catch (Exception $e) {
                $errorMessages .= $e->getMessage();
                if ($i >= $this->retryCount) {
                    $taskName = $this->nestedTask->getTaskName();
                    $exceptionMessage = <<<EXCEPTION_MESSAGE
Task [{$taskName}] failed after [{$this->retryCount}] attempts; giving up
Error messages:
$errorMessages
EXCEPTION_MESSAGE;
                    throw new BuildException(
                        $exceptionMessage,
                        $this->getLocation()
                    );
                }

                if ($this->retryDelay > 0) {
                    $msg = sprintf(
                        'Attempt [%s]: error occurred; retrying after %s s...',
                        $i,
                        $this->retryDelay
                    );
                } else {
                    $msg = sprintf(
                        'Attempt [%s]: error occurred; retrying...',
                        $i
                    );
                }

                $this->log($msg, Project::MSG_INFO);
                $errorMessages .= PHP_EOL;

                if ($this->retryDelay > 0) {
                    sleep($this->retryDelay);
                }
            }
        }
    }
public function main()
    {
        $errorMessages = '';
        for ($i = 0; $i <= $this->retryCount; $i++) {
            try {
                $this->nestedTask->perform();
                break;
            } catch (Exception $e) {
                $errorMessages .= $e->getMessage();
                if ($i >= $this->retryCount) {
                    $taskName = $this->nestedTask->getTaskName();
                    $exceptionMessage = <<<EXCEPTION_MESSAGE
Task [{$taskName}] failed after [{$this->retryCount}] attempts; giving up
Error messages:
$errorMessages
EXCEPTION_MESSAGE;
                    throw new BuildException(
                        $exceptionMessage,
                        $this->getLocation()
                    );
                }

                if ($this->retryDelay > 0) {
                    $msg = sprintf(
                        'Attempt [%s]: error occurred; retrying after %s s...',
                        $i,
                        $this->retryDelay
                    );
                } else {
                    $msg = sprintf(
                        'Attempt [%s]: error occurred; retrying...',
                        $i
                    );
                }

                $this->log($msg, Project::MSG_INFO);
                $errorMessages .= PHP_EOL;

                if ($this->retryDelay > 0) {
                    sleep($this->retryDelay);
                }
            }
        }
    }
public function main ( ) { $ errorMessages = '' ; for ( $ i = 0 ; $ i <= $ this -> retryCount ; $ i ++ ) { try { $ this -> nestedTask -> perform ( ) ; break ; } catch ( Exception $ e ) { $ errorMessages .= $ e -> getMessage ( ) ; if ( $ i >= $ this -> retryCount ) { $ taskName = $ this -> nestedTask -> getTaskName ( ) ; $ exceptionMessage =  <<<EXCEPTION_MESSAGE
Task [{$taskName}] failed after [{$this->retryCount}] attempts; giving up
Error messages:
$errorMessages
EXCEPTION_MESSAGE ; throw new BuildException ( $ exceptionMessage , $ this -> getLocation ( ) ) ; } if ( $ this -> retryDelay > 0 ) { $ msg = sprintf ( 'Attempt [%s]: error occurred; retrying after %s s...' , $ i , $ this -> retryDelay ) ; } else { $ msg = sprintf ( 'Attempt [%s]: error occurred; retrying...' , $ i ) ; } $ this -> log ( $ msg , Project :: MSG_INFO ) ; $ errorMessages .= PHP_EOL ; if ( $ this -> retryDelay > 0 ) { sleep ( $ this -> retryDelay ) ; } } } }
Perform the work.

@throws BuildException if there is an error.
Perform the work .