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.

104 lines
4.2 KiB

Mise à jour vers PhpDocumentor v3 Une bonne partie de l’application Autodoc disparait pour plusieurs raisons : - On cherche à simplifier la maintenance de cette doc en ne créant pas de thème personnalisé, car effectivement, la syntaxe PHP évolue bien plus vite que le temps disponible pour adapter les templates aux évolutions. On préfère user juste d’un peu de cosmétique avec un peu de CSS. Le thème complet d’avant disparait. - L’application est devenue un .phar et les surcharges sont improbables là où le code d’origine ne l’a pas explicitement prévu. Je n’ai absolument pas l’énergie de me replonger à gérer des passes de compilation comme avant pour retrouver les balises ou pipelines dans le code (je ne sais même pas si c’est faisable sur cette version). Cette partie disparait aussi. - On bascule sur du PHP 8.0 minimum. On s’appuie sur différentes librairies dont toujours symfony/console, mais aussi symfony/filesystem et League/Pipeline. On gère les téléchargements et mises à jour Git avec l’outil checkout (qui est donc nécessaire). Le fichier phpDocumentor.phar est aussi nécessaire dans le répertoire de travail, tout comme la création d’un répertoire `var` écrivable. Une décoration spécifique du thème par défaut (css, svg), est copiée dans la config générée (var/config/templates), et est alors utilisée par phpDocumentor (sur le même principe de surcharge que les squelettes SPIP) Les commandes from:directory, from:git, from:plugin, from:spip sont adaptées. La commande from:file (lecture d’un fichier archivelist.txt) reste à faire.
10 months ago
<?php
/*
* Commande d'exécution depuis une source git …
*/
namespace Spip\Autodoc\Command;
use League\Pipeline\InterruptibleProcessor;
use League\Pipeline\Pipeline;
use Spip\Autodoc\Context;
use Spip\Autodoc\Exception\AutodocException;
use Spip\Autodoc\Git;
use Spip\Autodoc\Stage\AlreadyUpStage;
Mise à jour vers PhpDocumentor v3 Une bonne partie de l’application Autodoc disparait pour plusieurs raisons : - On cherche à simplifier la maintenance de cette doc en ne créant pas de thème personnalisé, car effectivement, la syntaxe PHP évolue bien plus vite que le temps disponible pour adapter les templates aux évolutions. On préfère user juste d’un peu de cosmétique avec un peu de CSS. Le thème complet d’avant disparait. - L’application est devenue un .phar et les surcharges sont improbables là où le code d’origine ne l’a pas explicitement prévu. Je n’ai absolument pas l’énergie de me replonger à gérer des passes de compilation comme avant pour retrouver les balises ou pipelines dans le code (je ne sais même pas si c’est faisable sur cette version). Cette partie disparait aussi. - On bascule sur du PHP 8.0 minimum. On s’appuie sur différentes librairies dont toujours symfony/console, mais aussi symfony/filesystem et League/Pipeline. On gère les téléchargements et mises à jour Git avec l’outil checkout (qui est donc nécessaire). Le fichier phpDocumentor.phar est aussi nécessaire dans le répertoire de travail, tout comme la création d’un répertoire `var` écrivable. Une décoration spécifique du thème par défaut (css, svg), est copiée dans la config générée (var/config/templates), et est alors utilisée par phpDocumentor (sur le même principe de surcharge que les squelettes SPIP) Les commandes from:directory, from:git, from:plugin, from:spip sont adaptées. La commande from:file (lecture d’un fichier archivelist.txt) reste à faire.
10 months ago
use Spip\Autodoc\Stage\CheckStage;
use Spip\Autodoc\Stage\GitStage;
use Spip\Autodoc\Stage\JsonAutodocStage;
Mise à jour vers PhpDocumentor v3 Une bonne partie de l’application Autodoc disparait pour plusieurs raisons : - On cherche à simplifier la maintenance de cette doc en ne créant pas de thème personnalisé, car effectivement, la syntaxe PHP évolue bien plus vite que le temps disponible pour adapter les templates aux évolutions. On préfère user juste d’un peu de cosmétique avec un peu de CSS. Le thème complet d’avant disparait. - L’application est devenue un .phar et les surcharges sont improbables là où le code d’origine ne l’a pas explicitement prévu. Je n’ai absolument pas l’énergie de me replonger à gérer des passes de compilation comme avant pour retrouver les balises ou pipelines dans le code (je ne sais même pas si c’est faisable sur cette version). Cette partie disparait aussi. - On bascule sur du PHP 8.0 minimum. On s’appuie sur différentes librairies dont toujours symfony/console, mais aussi symfony/filesystem et League/Pipeline. On gère les téléchargements et mises à jour Git avec l’outil checkout (qui est donc nécessaire). Le fichier phpDocumentor.phar est aussi nécessaire dans le répertoire de travail, tout comme la création d’un répertoire `var` écrivable. Une décoration spécifique du thème par défaut (css, svg), est copiée dans la config générée (var/config/templates), et est alors utilisée par phpDocumentor (sur le même principe de surcharge que les squelettes SPIP) Les commandes from:directory, from:git, from:plugin, from:spip sont adaptées. La commande from:file (lecture d’un fichier archivelist.txt) reste à faire.
10 months ago
use Spip\Autodoc\Stage\PackageStage;
use Spip\Autodoc\Stage\PhpDocumentorConfigStage;
use Spip\Autodoc\Stage\PhpDocumentorStage;
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 Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Style\SymfonyStyle;
/**
* Déclaration et exécution de l'application depuis un git
*/
class FromGit extends Command
{
protected InputInterface $input;
Mise à jour vers PhpDocumentor v3 Une bonne partie de l’application Autodoc disparait pour plusieurs raisons : - On cherche à simplifier la maintenance de cette doc en ne créant pas de thème personnalisé, car effectivement, la syntaxe PHP évolue bien plus vite que le temps disponible pour adapter les templates aux évolutions. On préfère user juste d’un peu de cosmétique avec un peu de CSS. Le thème complet d’avant disparait. - L’application est devenue un .phar et les surcharges sont improbables là où le code d’origine ne l’a pas explicitement prévu. Je n’ai absolument pas l’énergie de me replonger à gérer des passes de compilation comme avant pour retrouver les balises ou pipelines dans le code (je ne sais même pas si c’est faisable sur cette version). Cette partie disparait aussi. - On bascule sur du PHP 8.0 minimum. On s’appuie sur différentes librairies dont toujours symfony/console, mais aussi symfony/filesystem et League/Pipeline. On gère les téléchargements et mises à jour Git avec l’outil checkout (qui est donc nécessaire). Le fichier phpDocumentor.phar est aussi nécessaire dans le répertoire de travail, tout comme la création d’un répertoire `var` écrivable. Une décoration spécifique du thème par défaut (css, svg), est copiée dans la config générée (var/config/templates), et est alors utilisée par phpDocumentor (sur le même principe de surcharge que les squelettes SPIP) Les commandes from:directory, from:git, from:plugin, from:spip sont adaptées. La commande from:file (lecture d’un fichier archivelist.txt) reste à faire.
10 months ago
protected function configure()
{
$this
->setName('from:git')
->setDescription('Exécuter l’autodoc sur une source GIT 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 GIT. <comment>Exemple : "https://git.spip.net/spip/spip.git"</comment>')
->addOption('branch', 'b', InputOption::VALUE_OPTIONAL, 'Branche ou tag à utiliser', 'master')
->addOption('prefix', 'p', InputOption::VALUE_OPTIONAL, 'Préfixe servant au stockage des données')
->addOption('output', 'o', InputOption::VALUE_OPTIONAL, 'Répertoire recevant le HTML généré. Chemin absolu ou relatif au répertoire courant. <comment>Défaut: "var/output/{prefixe}"</comment>')
Mise à jour vers PhpDocumentor v3 Une bonne partie de l’application Autodoc disparait pour plusieurs raisons : - On cherche à simplifier la maintenance de cette doc en ne créant pas de thème personnalisé, car effectivement, la syntaxe PHP évolue bien plus vite que le temps disponible pour adapter les templates aux évolutions. On préfère user juste d’un peu de cosmétique avec un peu de CSS. Le thème complet d’avant disparait. - L’application est devenue un .phar et les surcharges sont improbables là où le code d’origine ne l’a pas explicitement prévu. Je n’ai absolument pas l’énergie de me replonger à gérer des passes de compilation comme avant pour retrouver les balises ou pipelines dans le code (je ne sais même pas si c’est faisable sur cette version). Cette partie disparait aussi. - On bascule sur du PHP 8.0 minimum. On s’appuie sur différentes librairies dont toujours symfony/console, mais aussi symfony/filesystem et League/Pipeline. On gère les téléchargements et mises à jour Git avec l’outil checkout (qui est donc nécessaire). Le fichier phpDocumentor.phar est aussi nécessaire dans le répertoire de travail, tout comme la création d’un répertoire `var` écrivable. Une décoration spécifique du thème par défaut (css, svg), est copiée dans la config générée (var/config/templates), et est alors utilisée par phpDocumentor (sur le même principe de surcharge que les squelettes SPIP) Les commandes from:directory, from:git, from:plugin, from:spip sont adaptées. La commande from:file (lecture d’un fichier archivelist.txt) reste à faire.
10 months ago
->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>')
->addOption('topnav_spip', null, InputOption::VALUE_NONE, 'Intègre le JS de la boussole SPIP en entête topnav.')
->addOption('force', '', InputOption::VALUE_NONE, 'Force l’analyse de tous les fichiers, même s’ils n’ont pas été modifiés.');
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$context = new Context($input, $output);
$this->input = $input;
Mise à jour vers PhpDocumentor v3 Une bonne partie de l’application Autodoc disparait pour plusieurs raisons : - On cherche à simplifier la maintenance de cette doc en ne créant pas de thème personnalisé, car effectivement, la syntaxe PHP évolue bien plus vite que le temps disponible pour adapter les templates aux évolutions. On préfère user juste d’un peu de cosmétique avec un peu de CSS. Le thème complet d’avant disparait. - L’application est devenue un .phar et les surcharges sont improbables là où le code d’origine ne l’a pas explicitement prévu. Je n’ai absolument pas l’énergie de me replonger à gérer des passes de compilation comme avant pour retrouver les balises ou pipelines dans le code (je ne sais même pas si c’est faisable sur cette version). Cette partie disparait aussi. - On bascule sur du PHP 8.0 minimum. On s’appuie sur différentes librairies dont toujours symfony/console, mais aussi symfony/filesystem et League/Pipeline. On gère les téléchargements et mises à jour Git avec l’outil checkout (qui est donc nécessaire). Le fichier phpDocumentor.phar est aussi nécessaire dans le répertoire de travail, tout comme la création d’un répertoire `var` écrivable. Une décoration spécifique du thème par défaut (css, svg), est copiée dans la config générée (var/config/templates), et est alors utilisée par phpDocumentor (sur le même principe de surcharge que les squelettes SPIP) Les commandes from:directory, from:git, from:plugin, from:spip sont adaptées. La commande from:file (lecture d’un fichier archivelist.txt) reste à faire.
10 months ago
/** @var SymfonyStyle */
$io = $context->get('io');
$io->title("Autodoc " . $this->getName());
if ($input->hasArgument('source')) {
$source = $input->getArgument('source');
$io->text("Source: <info>$source</info>.");
}
$source = $this->getRepository($source ?? null);
if (!$source) {
throw new AutodocException("Source must be provide");
}
$context->directory->set('output', $input->getOption('output'));
Mise à jour vers PhpDocumentor v3 Une bonne partie de l’application Autodoc disparait pour plusieurs raisons : - On cherche à simplifier la maintenance de cette doc en ne créant pas de thème personnalisé, car effectivement, la syntaxe PHP évolue bien plus vite que le temps disponible pour adapter les templates aux évolutions. On préfère user juste d’un peu de cosmétique avec un peu de CSS. Le thème complet d’avant disparait. - L’application est devenue un .phar et les surcharges sont improbables là où le code d’origine ne l’a pas explicitement prévu. Je n’ai absolument pas l’énergie de me replonger à gérer des passes de compilation comme avant pour retrouver les balises ou pipelines dans le code (je ne sais même pas si c’est faisable sur cette version). Cette partie disparait aussi. - On bascule sur du PHP 8.0 minimum. On s’appuie sur différentes librairies dont toujours symfony/console, mais aussi symfony/filesystem et League/Pipeline. On gère les téléchargements et mises à jour Git avec l’outil checkout (qui est donc nécessaire). Le fichier phpDocumentor.phar est aussi nécessaire dans le répertoire de travail, tout comme la création d’un répertoire `var` écrivable. Une décoration spécifique du thème par défaut (css, svg), est copiée dans la config générée (var/config/templates), et est alors utilisée par phpDocumentor (sur le même principe de surcharge que les squelettes SPIP) Les commandes from:directory, from:git, from:plugin, from:spip sont adaptées. La commande from:file (lecture d’un fichier archivelist.txt) reste à faire.
10 months ago
$context->set('default_prefix', $input->getOption('prefix') ?: pathinfo($source, \PATHINFO_FILENAME));
$context->set('topnav', $input->getOption('topnav'));
$context->set('topnav_spip', $input->getOption('topnav_spip'));
$context->phpdocumentor->options->set('force', $input->getOption('force'));
Mise à jour vers PhpDocumentor v3 Une bonne partie de l’application Autodoc disparait pour plusieurs raisons : - On cherche à simplifier la maintenance de cette doc en ne créant pas de thème personnalisé, car effectivement, la syntaxe PHP évolue bien plus vite que le temps disponible pour adapter les templates aux évolutions. On préfère user juste d’un peu de cosmétique avec un peu de CSS. Le thème complet d’avant disparait. - L’application est devenue un .phar et les surcharges sont improbables là où le code d’origine ne l’a pas explicitement prévu. Je n’ai absolument pas l’énergie de me replonger à gérer des passes de compilation comme avant pour retrouver les balises ou pipelines dans le code (je ne sais même pas si c’est faisable sur cette version). Cette partie disparait aussi. - On bascule sur du PHP 8.0 minimum. On s’appuie sur différentes librairies dont toujours symfony/console, mais aussi symfony/filesystem et League/Pipeline. On gère les téléchargements et mises à jour Git avec l’outil checkout (qui est donc nécessaire). Le fichier phpDocumentor.phar est aussi nécessaire dans le répertoire de travail, tout comme la création d’un répertoire `var` écrivable. Une décoration spécifique du thème par défaut (css, svg), est copiée dans la config générée (var/config/templates), et est alors utilisée par phpDocumentor (sur le même principe de surcharge que les squelettes SPIP) Les commandes from:directory, from:git, from:plugin, from:spip sont adaptées. La commande from:file (lecture d’un fichier archivelist.txt) reste à faire.
10 months ago
$branch = $input->getOption('branch');
$git = (new Git($source))->setBranch($branch);
$context->set('git_asked', $git);
$this->pipeline($context);
return Command::SUCCESS;
}
protected function pipeline(Context $context): void
{
$processor = new InterruptibleProcessor(fn (Context $context) => $context->empty('errors') and $context->empty('break'));
Mise à jour vers PhpDocumentor v3 Une bonne partie de l’application Autodoc disparait pour plusieurs raisons : - On cherche à simplifier la maintenance de cette doc en ne créant pas de thème personnalisé, car effectivement, la syntaxe PHP évolue bien plus vite que le temps disponible pour adapter les templates aux évolutions. On préfère user juste d’un peu de cosmétique avec un peu de CSS. Le thème complet d’avant disparait. - L’application est devenue un .phar et les surcharges sont improbables là où le code d’origine ne l’a pas explicitement prévu. Je n’ai absolument pas l’énergie de me replonger à gérer des passes de compilation comme avant pour retrouver les balises ou pipelines dans le code (je ne sais même pas si c’est faisable sur cette version). Cette partie disparait aussi. - On bascule sur du PHP 8.0 minimum. On s’appuie sur différentes librairies dont toujours symfony/console, mais aussi symfony/filesystem et League/Pipeline. On gère les téléchargements et mises à jour Git avec l’outil checkout (qui est donc nécessaire). Le fichier phpDocumentor.phar est aussi nécessaire dans le répertoire de travail, tout comme la création d’un répertoire `var` écrivable. Une décoration spécifique du thème par défaut (css, svg), est copiée dans la config générée (var/config/templates), et est alors utilisée par phpDocumentor (sur le même principe de surcharge que les squelettes SPIP) Les commandes from:directory, from:git, from:plugin, from:spip sont adaptées. La commande from:file (lecture d’un fichier archivelist.txt) reste à faire.
10 months ago
$pipeline = (new Pipeline($processor))
->pipe(new CheckStage())
->pipe(new GitStage())
->pipe(new PackageStage())
->pipe(new AlreadyUpStage())
->pipe(new PhpDocumentorConfigStage())
->pipe(new PhpDocumentorStage())
->pipe(new JsonAutodocStage());
Mise à jour vers PhpDocumentor v3 Une bonne partie de l’application Autodoc disparait pour plusieurs raisons : - On cherche à simplifier la maintenance de cette doc en ne créant pas de thème personnalisé, car effectivement, la syntaxe PHP évolue bien plus vite que le temps disponible pour adapter les templates aux évolutions. On préfère user juste d’un peu de cosmétique avec un peu de CSS. Le thème complet d’avant disparait. - L’application est devenue un .phar et les surcharges sont improbables là où le code d’origine ne l’a pas explicitement prévu. Je n’ai absolument pas l’énergie de me replonger à gérer des passes de compilation comme avant pour retrouver les balises ou pipelines dans le code (je ne sais même pas si c’est faisable sur cette version). Cette partie disparait aussi. - On bascule sur du PHP 8.0 minimum. On s’appuie sur différentes librairies dont toujours symfony/console, mais aussi symfony/filesystem et League/Pipeline. On gère les téléchargements et mises à jour Git avec l’outil checkout (qui est donc nécessaire). Le fichier phpDocumentor.phar est aussi nécessaire dans le répertoire de travail, tout comme la création d’un répertoire `var` écrivable. Une décoration spécifique du thème par défaut (css, svg), est copiée dans la config générée (var/config/templates), et est alors utilisée par phpDocumentor (sur le même principe de surcharge que les squelettes SPIP) Les commandes from:directory, from:git, from:plugin, from:spip sont adaptées. La commande from:file (lecture d’un fichier archivelist.txt) reste à faire.
10 months ago
$pipeline->process($context);
}
protected function getRepository(?string $source = null): ?string
{
return $source;
}
}