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.
1 year ago
|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace Spip\Autodoc\Stage;
|
|
|
|
|
|
|
|
|
|
use Spip\Autodoc\Context;
|
|
|
|
|
use Spip\Autodoc\Exception\ContextException;
|
|
|
|
|
use Spip\Autodoc\Git;
|
|
|
|
|
use Spip\Autodoc\Package;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Describe the directory to document
|
|
|
|
|
*/
|
|
|
|
|
class PackageStage implements StageInterface
|
|
|
|
|
{
|
|
|
|
|
public function __invoke(Context $context): Context
|
|
|
|
|
{
|
|
|
|
|
$context->add('stages', $this::class);
|
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.
1 year ago
|
|
|
|
$context->get('logger')->debug("Pass: ".$this::class);
|
|
|
|
|
|
|
|
|
|
if ($context->directory->empty('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.
1 year ago
|
|
|
|
throw new ContextException(sprintf('Key "%s" needs to be defined.', 'input_directory'));
|
|
|
|
|
}
|
|
|
|
|
$input_directory = $context->directory->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.
1 year ago
|
|
|
|
if (!$input_directory or !is_dir($input_directory) or !is_readable($input_directory)) {
|
|
|
|
|
throw new ContextException(sprintf('Key "%s" needs to be a readable directory.', 'input_directory'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$package = new Package(
|
|
|
|
|
input_directory: $input_directory,
|
|
|
|
|
logger: $context->get('logger'),
|
|
|
|
|
);
|
|
|
|
|
$context->set('package', $package);
|
|
|
|
|
|
|
|
|
|
$this->describe($context, $package);
|
|
|
|
|
|
|
|
|
|
return $context;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Définir avec le titre, et une présentation (si ce n'est déjà fait).
|
|
|
|
|
**/
|
|
|
|
|
private function describe(Context $context, Package $package)
|
|
|
|
|
{
|
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.
1 year ago
|
|
|
|
if (!$context->has('title')) {
|
|
|
|
|
$context->set('title', $package->name ?: ucfirst($context->get('default_prefix')));
|
|
|
|
|
$context->get('logger')->debug('Title: ' . $context->get('title'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!$context->has('presentation')) {
|
|
|
|
|
$rev = "";
|
|
|
|
|
if ($context->has('git')) {
|
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.
1 year ago
|
|
|
|
/** @var Git */
|
|
|
|
|
$git = $context->get('git');
|
|
|
|
|
if ($branch = $git->getBranch() and !in_array($branch, ['main', 'master'])) {
|
|
|
|
|
$rev .= " [$branch]";
|
|
|
|
|
}
|
|
|
|
|
if ($commit = $git->getCommit()) {
|
|
|
|
|
$rev .= " (commit $commit)";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$presentation = 'Documentation du code PHP ';
|
|
|
|
|
$presentation .= match (true) {
|
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.
1 year ago
|
|
|
|
$package->is_spip => 'de SPIP '.$package->version.$rev.'.',
|
|
|
|
|
$package->is_plugin => 'du plugin « '.$package->name.' », version '.$package->version.$rev.'.',
|
|
|
|
|
default => 'de « '.$context->get('title').' »'.$rev.'.',
|
|
|
|
|
};
|
|
|
|
|
$context->set('presentation', $presentation);
|
|
|
|
|
$context->get('logger')->debug('Presentation: ' . $presentation);
|
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.
1 year ago
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|