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.
 
 
 

46 lines
2.0 KiB

<?php
/*
* Commande d'exécution depuis une source svn …
*/
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 svn
*/
class FromSvn extends Command
{
protected function configure()
{
$this
->setName('from:svn')
->setDescription("Exécuter l'autodoc sur une source SVN donnée")
->setHelp("Si le répertoire cible est un plugin SPIP, certaines informations seront extraites du paquet.xml et du fichier de langue.")
->addArgument('source', InputArgument::REQUIRED, "URL de la source SVN. <comment>Exemple : 'svn://trac.rezo.net/spip/spip'</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)
{
$source = $input->getArgument('source');
$output->writeln("\nExécuter autodoc avec <info>$source</info>.\n");
$generator = new Generator($input, $output, $this->getApplication()->getService('autoloader'));
$generator->generateFromSvn($source);
}
}