Browse Source

On recopie une fonction pour retrouver checkout.php ici aussi. Faudrait une méthode statique quelque part.

2.6
Matthieu Marcillaud 2 years ago
parent
commit
fef69aff3d
  1. 6
      src/autodoc/Plugin/Core/Compiler/Pass/VcsInformations/Git.php
  2. 29
      src/autodoc/Plugin/Core/Compiler/Pass/VcsInformations/VcsInformationsAbstract.php

6
src/autodoc/Plugin/Core/Compiler/Pass/VcsInformations/Git.php

@ -20,8 +20,12 @@ class Git extends VcsInformationsAbstract
$this->clear();
if (!$checkout = $this->obtenir_commande_serveur('checkout.php')) {
throw new \RuntimeException("Checkout.php introuvable");
}
// obtenir les infos SVN
exec("cd $dir ; checkout.php --read . 2> /dev/null", $output);
exec("cd $dir ; $checkout --read . 2> /dev/null", $output);
// la sortie doit avoir plus de 3 lignes, sinon c'est une erreur !
if ($output) {

29
src/autodoc/Plugin/Core/Compiler/Pass/VcsInformations/VcsInformationsAbstract.php

@ -164,4 +164,33 @@ abstract class VcsInformationsAbstract
public function setBranch($branch) {
$this->branch = $branch;
}
/**
* Obtient le chemin d'un executable sur le serveur.
*
* @example
* ```
* $cmd = $this->obtenir_commande_serveur('svn');
* if ($cmd)
* exec("$cmd ... ... ");
* }
* ```
* @param string $command
* Nom de la commande
* @return string
* Chemin de la commande
**/
public function obtenir_commande_serveur($command) {
static $commands = array();
if (array_key_exists($command, $commands)) {
return $commands[$command];
}
exec("command -v $command", $output, $err);
if (!$err and count($output) and $cmd = trim($output[0])) {
return $commands[$command] = $cmd;
}
return $commands[$command] = '';
}
}

Loading…
Cancel
Save