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.
 
 
 

48 lines
2.3 KiB

<?php
/*
* Commande d'exécution depuis une source svn du core 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 du core de SPIP
*/
class FromSpip extends Command
{
protected function configure()
{
$this
->setName('from:spip')
->setDescription("Exécuter l'autodoc sur le code de SPIP")
->addArgument('chemin', InputArgument::OPTIONAL, "Chemin dans l'arborescence du svn du core. <comment>Exemple : 'spip' ou 'branches/spip-3.0'</comment>", 'spip')
->addOption('prefixe', 'p', InputOption::VALUE_OPTIONAL, "Préfixe servant au stockage des données", 'spip')
->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.")
# ->addOption('titre', '', InputOption::VALUE_OPTIONAL, 'Titre du projet. Utilise le nom de la branche par défaut.')
# ->addOption('description', '', InputOption::VALUE_OPTIONAL, 'Description du projet. Prédéfini sur le titre par défaut.')
# ->addOption('presentation', '', InputOption::VALUE_OPTIONAL, 'Présentation du projet. Vide par défaut.')
;
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$chemin = $input->getArgument('chemin');
$output->writeln("\nExécuter autodoc sur le Core : <info>$chemin</info>.\n");
$generator = new Generator($input, $output, $this->getApplication()->getService('autoloader'));
$generator->generateFromSpip($chemin);
}
}