36 lines
1.2 KiB
PHP
Executable file
36 lines
1.2 KiB
PHP
Executable file
#!/usr/bin/env php
|
|
<?php
|
|
|
|
use DrupalCodeGenerator\ApplicationFactory;
|
|
use DrupalCodeGenerator\Command\Navigation;
|
|
use DrupalCodeGenerator\GeneratorDiscovery;
|
|
use DrupalCodeGenerator\Utils;
|
|
use Symfony\Component\Filesystem\Filesystem;
|
|
|
|
// The autoloader may have a different location if DCG is installed as a local
|
|
// Composer package.
|
|
$autoloader = file_exists(__DIR__ . '/../vendor/autoload.php')
|
|
? require __DIR__ . '/../vendor/autoload.php'
|
|
: require __DIR__ . '/../../../autoload.php';
|
|
|
|
// Create an application.
|
|
$application = ApplicationFactory::create();
|
|
|
|
// Discover generators.
|
|
$discovery = new GeneratorDiscovery(new Filesystem());
|
|
$commands_directories[] = ApplicationFactory::getRoot() . '/src/Command';
|
|
$home = Utils::getHomeDirectory();
|
|
if (file_exists($home . '/.dcg/Command')) {
|
|
$commands_directories[] = $home . '/.dcg/Command';
|
|
$autoloader->addPsr4('DrupalCodeGenerator\\', $home . '/.dcg');
|
|
}
|
|
$generators = $discovery->getGenerators($commands_directories);
|
|
$application->addCommands($generators);
|
|
|
|
// Add the navigation command.
|
|
$application->add(new Navigation($generators));
|
|
$application->setDefaultCommand('navigation');
|
|
|
|
// Run.
|
|
$application->run();
|