setName('from:file')
->setDescription("Exécuter l'autodoc sur un fichier de type autodoc.txt.")
->setHelp("Le fichier source des données doit indiquer une liste de sources GIT et leur préfixes de stockage.
Pour 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.
Exemple de fichier :
https://git.spip.net/spip-contrib-extensions/a2a.git@master;a2a
https://git.spip.net/spip-contrib-extensions/champs_extras_core@master;cextras
")
->addArgument('file', InputArgument::OPTIONAL, "Chemin du fichier brut.", 'https://git.spip.net/spip-contrib-outils/archivelists/raw/branch/master/autodoc.txt')
->addOption('sorties', 's', InputOption::VALUE_OPTIONAL, "Répertoire stockant toutes les documentations générées. Chemin absolu ou relatif au répertoire 'work'. Défaut : 'output'")
->addOption('topnav', null, InputOption::VALUE_OPTIONAL, "URL d'un fichier JS à charger dans le head html. Exemple : '//boussole.spip.net/?page=spipnav.js&lang=fr'")
->addOption('avec_boussole_spip', null, InputOption::VALUE_NONE, "Intègre le JS de la boussole SPIP en entête topnav.")
->addOption('prefixe', 'p', InputOption::VALUE_OPTIONAL, "Préfixe de plugin. Lui seul sera actualisé si présent.")
->addOption('force', '', InputOption::VALUE_NONE, "Force la génération de la documentation même si le plugin n'a eu de modifications depuis la fois précédente.")
;
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$file = $input->getArgument('file');
$output->writeln("\nExécuter autodoc sur un fichier : $file.");
$generator = new Generator($input, $output);
$generator->generateFromFile($file);
}
}