-
Notifications
You must be signed in to change notification settings - Fork 0
/
icanboogie
executable file
·67 lines (50 loc) · 1.64 KB
/
icanboogie
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/usr/bin/env php
<?php
namespace ICanBoogie\Console;
use Symfony\Component\Console\Application;
use Symfony\Component\Console\CommandLoader\CommandLoaderInterface;
use function ICanBoogie\boot;
if (version_compare('8.1.0', PHP_VERSION_ID, '>')) {
fwrite(
STDERR,
sprintf(
'This version of ICanBoogie requires PHP >= 8.1.' . PHP_EOL .
'You are using PHP %s (%s).' . PHP_EOL,
PHP_VERSION,
PHP_BINARY
)
);
die(1);
}
if (!ini_get('date.timezone')) {
ini_set('date.timezone', 'UTC');
}
if (isset($GLOBALS['_composer_autoload_path'])) {
define('ICANBOOGIE_COMPOSER_INSTALL', $GLOBALS['_composer_autoload_path']);
unset($GLOBALS['_composer_autoload_path']);
} else {
foreach (array(__DIR__ . '/../../autoload.php', __DIR__ . '/../vendor/autoload.php', __DIR__ . '/vendor/autoload.php') as $file) {
if (file_exists($file)) {
define('ICANBOOGIE_COMPOSER_INSTALL', $file);
break;
}
}
unset($file);
}
if (!defined('ICANBOOGIE_COMPOSER_INSTALL')) {
fwrite(
STDERR,
'You need to set up the project dependencies using Composer:' . PHP_EOL . PHP_EOL .
' composer install' . PHP_EOL . PHP_EOL .
'You can learn all about Composer on https://getcomposer.org/.' . PHP_EOL
);
die(1);
}
require ICANBOOGIE_COMPOSER_INSTALL;
exit((static function () {
$app = boot();
$command_loader = $app->service_for_id('console.command_loader', CommandLoaderInterface::class);
$console = new Application();
$console->setCommandLoader($command_loader);
$console->run();
})());