You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

44 lines
2.0 KiB

<?php
/*
* Commande d'exécution depuis une source répertoire …
*/
namespace autodoc\Helpers\Command;
use Cilex\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
use autodoc\Helpers\Generator;
/**
* Déclaration et exécution de l'application depuis un répertoire…
*/
class FromDirectory extends Command
{
protected function configure()
{
$this
->setName('from:directory')
->setDescription("Exécuter l'autodoc sur un répertoire donné")
->setHelp("Si le répertoire cible est un plugin SPIP, certaines informations seront extraites du paquet.xml et du fichier de langue.")
->addArgument('directory', InputArgument::REQUIRED, "Chemin du répertoire. <comment>Exemple : '/home/user/www/spip/plugins/fabrique'</comment>")
->addOption('prefixe', 'p', InputOption::VALUE_OPTIONAL, 'Préfixe servant au stockage des données', 'default')
->addOption('sortie', 's', InputOption::VALUE_OPTIONAL, "Répertoire recevant le HTML généré. Chemin absolu ou relatif au répertoire 'work'. <comment>Défaut : 'output/{prefixe}'</comment>")
->addOption('topnav', null, InputOption::VALUE_OPTIONAL, "URL d'un fichier JS dont le contenu est inséré dans le head html. <comment>Exemple : 'http://boussole.spip.net/?page=spipnav.js&lang=fr'</comment>")
->addOption('avec_boussole_spip', null, InputOption::VALUE_NONE, "Intègre le JS de la boussole SPIP en entête topnav.")
;
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$directory = $input->getArgument('directory');
$output->writeln("\nExécuter autodoc avec <info>$directory</info>.\n");
$generator = new Generator($input, $output, $this->getApplication()->getService('autoloader'));
$generator->generateFromDirectory($directory);
}
}