private function createVirtualHost(array $params, $key, Project $project)
 {
     $vhost = new VirtualHost();
     $vhost->setName($params['name']);
     $vhost->setServerName($params['name'] . '.' . $project->getVhostName());
     $vhost->setDocumentRoot(str_replace('.platform.app.yaml', substr($params['web']['document_root'], 1), $key));
     $vhost->setDirectoryIndex(substr($params['web']['passthru'], 1));
     $vhost->setProject($project);
     return $vhost;
 }
 /**
  * Prepares a process to run and returns it (no execution).
  *
  * @param $command
  *      The command with parameters.
  * @param $serverSuffix
  *      (Optional) The server suffix for identification.
  * @param string $path
  *      (Optional) The path.
  *
  * @return \Symfony\Component\Process\Process
  *      The prepared process to execute.
  */
 private function prepareProcess($command, $serverSuffix = null, $path = null)
 {
     $environmentVariables = $this->environmentVariables;
     if ($serverSuffix) {
         $environmentVariables += ['SERVER_SUFFIX' => $serverSuffix];
     }
     if ($this->project) {
         $environmentVariables += ['PROJECT' => $this->project->getShortName(), 'VHOST_NAME' => $this->project->getVhostName(), 'GIT_BRANCH' => $this->gitBranch];
     }
     $process = new Process($command, $path === null ? self::DOCKER_COMPOSE_FILE_PATH : $path, $environmentVariables);
     $process->setTty(true);
     $process->setTimeout(null);
     $process->setIdleTimeout(null);
     return $process;
 }
 /**
  * {@inheritdoc}
  */
 protected function getData()
 {
     return [Project::FIELD_NAME => $this->project->getFullName(), Project::FIELD_SHORT_NAME => $this->project->getShortName(), Project::FIELD_REPOSITORY_URL => $this->project->getGitRepositoryUrl(), Project::FIELD_VHOST_NAME => $this->project->getVhostName()];
 }