/** * Class factory * * @param string $fileName Deployer build filename * @return \Deployer */ public static function factory($fileName) { self::autoloadPaths(ROOT); $fileName = self::_findFile($fileName); if (!$fileName || !is_file($fileName)) { self::criticalError('deployment file not found'); } self::pharDir(dirname($fileName) . DIRECTORY_SEPARATOR); self::autoloadPaths(self::pharDir()); $data = \Deployer\Config::factory($fileName)->parse()->asArray(); $globalParams = is_array($data['params']) ? $data['params'] : array(); $censorWords = is_array($data['censor']) ? $data['censor'] : array(); $tasks = is_array($data['tasks']) ? $data['tasks'] : array(); $report = is_array($data['report']) ? $data['report'] : array(); self::$_instance = new \Deployer($report); return self::instance()->fileName($fileName)->globalParams($globalParams)->censorWords($censorWords)->tasks($tasks); }