/** * @return KmsCi_CliRunnerAbstract */ public static function getRunner() { if (is_null(self::$_runner)) { if (getenv('KMSCI_RUNNER_PATH')) { $configPath = getenv('KMSCI_RUNNER_PATH'); $configManager = new KmsCi_Config_Manager($configPath); $config = $configManager->getConfig(); require_once $config['CliRunnerFile']; $className = $config['CliRunnerClass']; $args = getenv('KMSCI_RUNNER_ARGS'); $args = empty($args) ? array() : json_decode($args, true); self::$_runner = new $className($config, $args, $configPath); } else { self::$_runner = false; } } return self::$_runner; }