first commit
This commit is contained in:
		
							
								
								
									
										74
									
								
								bin/grav
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										74
									
								
								bin/grav
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,74 @@ | ||||
| #!/usr/bin/env php | ||||
| <?php | ||||
|  | ||||
| use Grav\Common\Composer; | ||||
| use Grav\Common\Grav; | ||||
| use League\CLImate\CLImate; | ||||
| use Symfony\Component\Console\Application; | ||||
|  | ||||
| \define('GRAV_CLI', true); | ||||
| \define('GRAV_REQUEST_TIME', microtime(true)); | ||||
|  | ||||
| if (!file_exists(__DIR__ . '/../vendor/autoload.php')){ | ||||
|     // Before we can even start, we need to run composer first | ||||
|     require_once __DIR__ . '/../system/src/Grav/Common/Composer.php'; | ||||
|  | ||||
|     $composer = Composer::getComposerExecutor(); | ||||
|     echo "Preparing to install vendor dependencies...\n\n"; | ||||
|     echo system($composer.' --working-dir="'.__DIR__.'/../" --no-interaction --no-dev --prefer-dist -o install'); | ||||
|     echo "\n\n"; | ||||
| } | ||||
|  | ||||
| $autoload = require __DIR__ . '/../vendor/autoload.php'; | ||||
|  | ||||
| if (version_compare($ver = PHP_VERSION, $req = GRAV_PHP_MIN, '<')) { | ||||
|     exit(sprintf("You are running PHP %s, but Grav needs at least PHP %s to run.\n", $ver, $req)); | ||||
| } | ||||
|  | ||||
| if (!ini_get('date.timezone')) { | ||||
|     date_default_timezone_set('UTC'); | ||||
| } | ||||
|  | ||||
| // Set internal encoding. | ||||
| if (!\extension_loaded('mbstring')) { | ||||
|     die("'mbstring' extension is not loaded.  This is required for Grav to run correctly"); | ||||
| } | ||||
| @ini_set('default_charset', 'UTF-8'); | ||||
| mb_internal_encoding('UTF-8'); | ||||
|  | ||||
| $climate = new League\CLImate\CLImate; | ||||
| $climate->arguments->add([ | ||||
|     'environment' => [ | ||||
|         'prefix'        => 'e', | ||||
|         'longPrefix'    => 'env', | ||||
|         'description'   => 'Configuration Environment', | ||||
|         'defaultValue'  => 'localhost' | ||||
|     ] | ||||
| ]); | ||||
| $climate->arguments->parse(); | ||||
|  | ||||
| // Set up environment based on params. | ||||
| $environment = $climate->arguments->get('environment'); | ||||
|  | ||||
| $grav = Grav::instance(array('loader' => $autoload)); | ||||
| $grav->setup($environment); | ||||
|  | ||||
| if (!file_exists(GRAV_ROOT . '/index.php')) { | ||||
|     exit('FATAL: Must be run from ROOT directory of Grav!'); | ||||
| } | ||||
|  | ||||
| $app = new Application('Grav CLI Application', GRAV_VERSION); | ||||
| $app->addCommands(array( | ||||
|     new \Grav\Console\Cli\InstallCommand(), | ||||
|     new \Grav\Console\Cli\ComposerCommand(), | ||||
|     new \Grav\Console\Cli\SandboxCommand(), | ||||
|     new \Grav\Console\Cli\CleanCommand(), | ||||
|     new \Grav\Console\Cli\ClearCacheCommand(), | ||||
|     new \Grav\Console\Cli\BackupCommand(), | ||||
|     new \Grav\Console\Cli\NewProjectCommand(), | ||||
|     new \Grav\Console\Cli\SchedulerCommand(), | ||||
|     new \Grav\Console\Cli\SecurityCommand(), | ||||
|     new \Grav\Console\Cli\LogViewerCommand(), | ||||
|     new \Grav\Console\Cli\YamlLinterCommand(), | ||||
| )); | ||||
| $app->run(); | ||||
		Reference in New Issue
	
	Block a user