source: spip-zone/_galaxie_/code.spip.net/autodoc/trunk/src/autodoc/Helpers/Command/FromFile.php @ 92943

Last change on this file since 92943 was 92943, checked in by marcimat@…, 6 years ago

Permettre de générer uniquement un certain prefixe lorsqu'on demande à générer tout un fichier qui liste de documentations (autodoc.txt).

File size: 2.3 KB
Line 
1<?php
2
3/*
4 * Commande d'exécution depuis un fichier autodoc.txt (de la Zone de SPIP par défaut)…
5 */
6
7namespace autodoc\Helpers\Command;
8
9use Cilex\Command\Command;
10use Symfony\Component\Console\Input\InputArgument;
11use Symfony\Component\Console\Input\InputInterface;
12use Symfony\Component\Console\Input\InputOption;
13use Symfony\Component\Console\Output\OutputInterface;
14use autodoc\Helpers\Generator;
15
16
17/**
18 * Déclaration et exécution de l'application depuis le svn d'un plugin de la zone de SPIP
19 */
20class FromFile extends Command
21{
22    protected function configure()
23    {
24        $this
25            ->setName('from:file')
26            ->setDescription("Exécuter l'autodoc sur un fichier de type autodoc.txt.")
27            ->setHelp("Le fichier source des données doit indiquer une liste de sources SVN et leur préfixes de stockage.
28
29Pour chaque ligne, une documentation sera générée. Lorsque le contenu est un plugin de SPIP, certaines informations seront extraites du paquet.xml et du fichier de langue.
30
31Exemple de fichier :
32
33svn://zone.spip.org/spip-zone/_plugins_/a2a/trunk;a2a
34svn://zone.spip.org/spip-zone/_plugins_/champs_extras/core/trunk;cextras
35")
36            ->addArgument('file', InputArgument::OPTIONAL, "Chemin du fichier. Peut être une adresse SVN.", 'svn://zone.spip.org/spip-zone/autodoc.txt')
37            ->addOption('sorties', 's', InputOption::VALUE_OPTIONAL, "Répertoire stockant toutes les documentations générées. Chemin absolu ou relatif au répertoire 'work'. <comment>Défaut : 'output'</comment>")
38            ->addOption('topnav', null, InputOption::VALUE_OPTIONAL, "URL d'un fichier JS à charger dans le head html. <comment>Exemple : '//boussole.spip.net/?page=spipnav.js&lang=fr'</comment>")
39            ->addOption('avec_boussole_spip', null, InputOption::VALUE_NONE, "Intègre le JS de la boussole SPIP en entête topnav.")
40            ->addOption('prefixe', 'p', InputOption::VALUE_OPTIONAL, "Préfixe de plugin. Lui seul sera actualisé si présent.")
41            ;
42    }
43
44    protected function execute(InputInterface $input, OutputInterface $output)
45    {
46        $file = $input->getArgument('file');
47
48        $output->writeln("\nExécuter autodoc sur un fichier : <info>$file</info>.");
49
50        $generator = new Generator($input, $output, $this->getApplication()->getService('autoloader'));
51        $generator->generateFromFile($file);
52    }
53}
Note: See TracBrowser for help on using the repository browser.