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.
 
 
 

45 lines
2.0 KiB

<?php
/*
* Commande d'exécution depuis un plugin svn de la Zone de SPIP…
*/
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 le svn d'un plugin de la zone de SPIP
*/
class FromPlugin extends Command
{
protected function configure()
{
$this
->setName('from:plugin')
->setDescription("Exécuter l'autodoc sur un plugin de la Zone.")
->setHelp("Certaines informations seront extraites du paquet.xml et du fichier de langue.")
->addArgument('chemin', InputArgument::REQUIRED, "Chemin depuis _plugins_ du svn de la zone. <comment>Exemple : 'fabrique/trunk'</comment>")
->addOption('prefixe', 'p', InputOption::VALUE_OPTIONAL, 'Préfixe servant au stockage des données', 'plugin')
->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)
{
$chemin = $input->getArgument('chemin');
$output->writeln("\nExécuter autodoc sur un plugin de la Zone depuis : <info>$chemin</info>.\n");
$generator = new Generator($input, $output, $this->getApplication()->getService('autoloader'));
$generator->generateFromZone('_plugins_/' . $chemin);
}
}