/** * @param string $directory * @return \FlameCore\Seabreeze\Manifest\Project */ public static function fromDirectory($directory) { $configuration = self::readJson(self::makeManifestPath($directory, 'config.json')); $project = new self($directory); $project->import($configuration); $iterator = new \DirectoryIterator(self::makeManifestPath($directory, 'environments')); foreach ($iterator as $file) { if ($file->isFile() && $file->getExtension() == 'json') { $name = $file->getBasename('.json'); $settings = self::readJson($file->getRealPath()); $environment = new Environment($name, $project); $environment->import($settings); $project->addEnvironment($environment); } } return $project; }