/** * @param string $projectName * @param null|string $gitSource * @param null|string $version * @throws RuntimeException * @throws LogicException */ public function setUp($projectName, $gitSource = null, $version = null) { echo "\nCreating project {$projectName}\n"; if (!file_exists($projectName)) { if (!mkdir($projectName) && !is_dir($projectName)) { throw new RuntimeException("Error creating project {$projectName}\n"); } $this->installBase($projectName, $gitSource, $version); VagrantWorker::startVagrant($projectName); $this->runComposer($projectName); } else { throw new LogicException("ERROR: Project ' . {$projectName} . ' already exists!\n"); } }