Changeset 75198 in spip-zone


Ignore:
Timestamp:
Sep 1, 2013, 2:20:42 PM (6 years ago)
Author:
marcimat@…
Message:

Afficher la révision des plugins

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _galaxie_/code.spip.net/autodoc/trunk/src/autodoc/Helpers/Generator.php

    r75163 r75198  
    2121    private $dirs     = array();
    2222    private $files    = array();
     23    private $svn      = array(); // informations sur le dépot SVN
    2324    private $options = array('dirs' => array()); // forcer des répertoires en dehors des options de ligne de commande
    2425    private $commands = array(); // forcer des commandes spécifiques à phpdocumentor
     
    477478        $this->output->writeln("* Obtenir <info>$source</info>");
    478479
     480        $this->svn = array();
     481
    479482        // si c'est en svn et le bon, on fait svn up simplement.
    480483        if ($res = $this->makeSvnCommand('info --xml')) {
     
    493496                $last = array_pop($res);
    494497                $this->output->writeln("[<info>OK</info>]  ($last)");
    495                 return true;
    496498            }
    497499        }
    498500
    499501        // erreur, donc pas un dossier svn ou pas le bon
    500         // on nettoie le contenu pour svn co
    501         $this->deleteDirectoryContent($this->dirs['input']);
    502 
    503         $this->output->write("<comment>  - Checkout    </comment>");
    504 
    505         if (!$res = $this->makeSvnCommand("checkout $source .")) {
    506             $this->output->writeln("<error>[Echec]</error>");
    507             return false;
    508         }
    509         $last = array_pop($res);
    510         if ($last) $last = "($last)";
    511 
    512         $this->output->writeln("<info>[OK]</info>  $last");
     502        else {
     503            // on nettoie le contenu pour svn co
     504            $this->deleteDirectoryContent($this->dirs['input']);
     505
     506            $this->output->write("<comment>  - Checkout    </comment>");
     507
     508            if (!$res = $this->makeSvnCommand("checkout $source .")) {
     509                $this->output->writeln("<error>[Echec]</error>");
     510                return false;
     511            }
     512            $last = array_pop($res);
     513            if ($last) $last = "($last)";
     514
     515            $this->output->writeln("<info>[OK]</info>  $last");
     516        }
     517
     518        // Ici, on a les bons fichiers SVN à jour
     519        // on récupère le numéro de dernière révision, ça peut servir
     520        if ($res = $this->makeSvnCommand('info --xml')) {
     521            // nous avons un svn… verifions que c'est le bon !
     522            $xml = simplexml_load_string(implode("", $res));
     523            $this->svn['revision'] = (string)$xml->entry->commit['revision'];
     524        }
     525
    513526        return true;
    514527    }
     
    734747                $presentation = "Cette documentation est issue du code source PHP de SPIP $version.&#13;&#10;&#13;&#10;";
    735748            } else {
    736                 $presentation = "Cette documentation est issue du code source PHP du plugin « ".$nom." », version $version.&#13;&#10;&#13;&#10;";
     749                $rev = "";
     750                if (isset($this->svn['revision']) and $revision = $this->svn['revision']) {
     751                    $rev .= " (révision $revision)";
     752                }
     753                $presentation = "Cette documentation est issue du code source PHP du plugin « ".$nom." », version $version$rev.&#13;&#10;&#13;&#10;";
    737754            }
    738755
Note: See TracChangeset for help on using the changeset viewer.