Allow to use Processors through the new CLI

This commit is contained in:
Stéphane Goetz 2016-11-17 17:02:12 +01:00
parent 2d451be104
commit e5c7747884
3 changed files with 36 additions and 32 deletions

View File

@ -26,7 +26,6 @@
},
"autoload": {
"psr-4": {
"Todaymade\\Daux\\Extension\\": "daux/",
"Todaymade\\Daux\\": "libs/"
}
},

View File

@ -17,7 +17,6 @@ class Serve extends DauxCommand
->setName('serve')
->setDescription('Serve documentation')
->addOption('configuration', 'c', InputOption::VALUE_REQUIRED, 'Configuration file')
->addOption('source', 's', InputOption::VALUE_REQUIRED, 'Where to take the documentation from')
->addOption('processor', 'p', InputOption::VALUE_REQUIRED, 'Manipulations on the tree')
@ -44,9 +43,7 @@ class Serve extends DauxCommand
putenv('DAUX_SOURCE=' . $daux->getParams()->getDocumentationDirectory());
putenv('DAUX_THEME=' . $daux->getParams()->getThemesPath());
putenv('DAUX_CONFIGURATION=' . $daux->getParams()->getConfigurationOverrideFile());
//TODO :: support processor
//putenv('DAUX_PROCESSOR=' . $daux->getParams()->getProcessorFile());
putenv('DAUX_EXTENSION=' . DAUX_EXTENSION);
$base = ProcessUtils::escapeArgument(__DIR__ . '/../../');
$binary = ProcessUtils::escapeArgument((new PhpExecutableFinder)->find(false));
@ -63,16 +60,4 @@ class Serve extends DauxCommand
passthru("{$binary} -S {$host}:{$port} {$base}/index.php");
}
}
protected function prepareProcessor(Daux $daux, InputInterface $input, OutputInterface $output, $width)
{
if ($input->getOption('processor')) {
$daux->getParams()['processor'] = $input->getOption('processor');
}
$class = $daux->getProcessorClass();
if (!empty($class)) {
$daux->setProcessor(new $class($daux, $output, $width));
}
}
}

View File

@ -1,5 +1,6 @@
<?php
function loadApp() {
// Loaded as a dependency
if (file_exists(__DIR__ . '/../../../autoload.php')) {
return require_once __DIR__ . '/../../../autoload.php';
@ -18,3 +19,22 @@ if (file_exists(__DIR__ . '/../daux.phar')) {
}
throw new Exception('Impossible to load Daux, missing vendor/ or daux.phar');
}
$loader = loadApp();
if ($loader) {
$ext = __DIR__ . '/../daux';
if (is_dir(getcwd() . "/daux")) {
$ext = getcwd() . "/daux";
}
$env = getenv('DAUX_EXTENSION');
if ($env && is_dir($env)) {
$ext = $env;
}
define('DAUX_EXTENSION', $ext);
$loader->setPsr4("Todaymade\\Daux\\Extension\\", $ext);
}