This repository has been archived on 2025-01-19. You can view files and clone it, but cannot push or open issues or pull requests.
drupalcampbristol/vendor/consolidation/site-alias/alias-tool
2018-11-23 12:29:20 +00:00

46 lines
1.6 KiB
PHP
Executable file

#!/usr/bin/env php
<?php
/**
* Example commandline front controller
*
* The commandline tool is useful for providing ad-hoc access to our class implementations
*/
// If we're running from phar load the phar autoload file.
$pharPath = \Phar::running(true);
if ($pharPath) {
$autoloaderPath = "$pharPath/vendor/autoload.php";
} else {
if (file_exists(__DIR__.'/vendor/autoload.php')) {
$autoloaderPath = __DIR__.'/vendor/autoload.php';
} elseif (file_exists(__DIR__.'/../../autoload.php')) {
$autoloaderPath = __DIR__ . '/../../autoload.php';
} else {
die("Could not find autoloader. Run 'composer install'.");
}
}
$classLoader = require $autoloaderPath;
// Customization variables
$argv = $_SERVER['argv'];
$appName = "SiteAlias";
$appVersion = trim(file_get_contents(__DIR__ . '/VERSION'));
$commandClasses = [ \Consolidation\SiteAlias\Cli\SiteAliasCommands::class ];
$selfUpdateRepository = 'consolidation/site-alias';
$configPrefix = 'SITEALIAS';
$configFilePath = getenv($configPrefix . '_CONFIG') ?: getenv('HOME') . '/.site-alias/site-alias.yml';
// Define our Runner, and pass it the command classes we provide.
$runner = new \Robo\Runner($commandClasses);
$runner
->setSelfUpdateRepository($selfUpdateRepository)
->setConfigurationFilename($configFilePath)
->setEnvConfigPrefix($configPrefix)
->setClassLoader($classLoader);
// Execute the command and return the result.
$output = new \Symfony\Component\Console\Output\ConsoleOutput();
$statusCode = $runner->execute($argv, $appName, $appVersion, $output);
exit($statusCode);