2022-04-27 11:30:43 +02:00

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();