public function onPrepareReleaseCheckoutRepository(PrepareReleaseEvent $event, $eventName, EventDispatcherInterface $eventDispatcher)
    {
        $context = array('repositoryUrl' => $this->repositoryUrl, 'version' => $event->getRelease()->getVersion(), 'event.task.action' => TaskInterface::ACTION_IN_PROGRESS);

        $connection = $this->ensureConnection($event->getRelease()->getWorkspace()->getHost());
        $processExecutor = new ConnectionAdapterProcessExecutor($connection);

        $eventDispatcher->dispatch(AccompliEvents::LOG, new LogEvent(LogLevel::NOTICE, 'Creating checkout of repository "{repositoryUrl}" for version "{version}".', $eventName, $this, $context));

        $repository = new Repository($this->repositoryUrl, $event->getRelease()->getPath(), $processExecutor);
        if ($repository->checkout($event->getRelease()->getVersion())) {
            $context['event.task.action'] = TaskInterface::ACTION_COMPLETED;
            $context['output.resetLine'] = true;

            $eventDispatcher->dispatch(AccompliEvents::LOG, new LogEvent(LogLevel::NOTICE, 'Created checkout of repository "{repositoryUrl}" for version "{version}".', $eventName, $this, $context));
        } else {
            throw new TaskCommandExecutionException(sprintf('Failed to checkout version "%s" from repository "%s".', $event->getRelease()->getVersion(), $this->repositoryUrl), $processExecutor->getLastProcessExecutionResult(), $this);
        }
    }
public function onPrepareReleaseCheckoutRepository(PrepareReleaseEvent $event, $eventName, EventDispatcherInterface $eventDispatcher)
    {
        $context = array('repositoryUrl' => $this->repositoryUrl, 'version' => $event->getRelease()->getVersion(), 'event.task.action' => TaskInterface::ACTION_IN_PROGRESS);

        $connection = $this->ensureConnection($event->getRelease()->getWorkspace()->getHost());
        $processExecutor = new ConnectionAdapterProcessExecutor($connection);

        $eventDispatcher->dispatch(AccompliEvents::LOG, new LogEvent(LogLevel::NOTICE, 'Creating checkout of repository "{repositoryUrl}" for version "{version}".', $eventName, $this, $context));

        $repository = new Repository($this->repositoryUrl, $event->getRelease()->getPath(), $processExecutor);
        if ($repository->checkout($event->getRelease()->getVersion())) {
            $context['event.task.action'] = TaskInterface::ACTION_COMPLETED;
            $context['output.resetLine'] = true;

            $eventDispatcher->dispatch(AccompliEvents::LOG, new LogEvent(LogLevel::NOTICE, 'Created checkout of repository "{repositoryUrl}" for version "{version}".', $eventName, $this, $context));
        } else {
            throw new TaskCommandExecutionException(sprintf('Failed to checkout version "%s" from repository "%s".', $event->getRelease()->getVersion(), $this->repositoryUrl), $processExecutor->getLastProcessExecutionResult(), $this);
        }
    }
public function onPrepareReleaseCheckoutRepository ( PrepareReleaseEvent $ event , $ eventName , EventDispatcherInterface $ eventDispatcher ) { $ context = array ( 'repositoryUrl' => $ this -> repositoryUrl , 'version' => $ event -> getRelease ( ) -> getVersion ( ) , 'event.task.action' => TaskInterface :: ACTION_IN_PROGRESS ) ; $ connection = $ this -> ensureConnection ( $ event -> getRelease ( ) -> getWorkspace ( ) -> getHost ( ) ) ; $ processExecutor = new ConnectionAdapterProcessExecutor ( $ connection ) ; $ eventDispatcher -> dispatch ( AccompliEvents :: LOG , new LogEvent ( LogLevel :: NOTICE , 'Creating checkout of repository "{repositoryUrl}" for version "{version}".' , $ eventName , $ this , $ context ) ) ; $ repository = new Repository ( $ this -> repositoryUrl , $ event -> getRelease ( ) -> getPath ( ) , $ processExecutor ) ; if ( $ repository -> checkout ( $ event -> getRelease ( ) -> getVersion ( ) ) ) { $ context [ 'event.task.action' ] = TaskInterface :: ACTION_COMPLETED ; $ context [ 'output.resetLine' ] = true ; $ eventDispatcher -> dispatch ( AccompliEvents :: LOG , new LogEvent ( LogLevel :: NOTICE , 'Created checkout of repository "{repositoryUrl}" for version "{version}".' , $ eventName , $ this , $ context ) ) ; } else { throw new TaskCommandExecutionException ( sprintf ( 'Failed to checkout version "%s" from repository "%s".' , $ event -> getRelease ( ) -> getVersion ( ) , $ this -> repositoryUrl ) , $ processExecutor -> getLastProcessExecutionResult ( ) , $ this ) ; } }
Creates a checkout of the repository for the release.

@param PrepareReleaseEvent      $event
@param string                   $eventName
@param EventDispatcherInterface $eventDispatcher

@throws TaskRuntimeException when the checkout of the repository has failed.
Creates a checkout of the repository for the release .