Commit b0a55b94 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Mise à jour des procédures d'installation, déplacement des mises à jour de liens publics Unicaen

parent fd806bb4
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -66,9 +66,7 @@ if ($composerExists) {
}

// Mise à jour des liens vers les répertoires publics des dépendances
$c->println("\nMise à jour des liens vers les répertoires publics des dépendances", $c::COLOR_LIGHT_CYAN);
$oa->majUnicaenSymLinks($osedir);
$c->println('Liens mis en place', $c::COLOR_LIGHT_GREEN);
$oa->run('maj-public-links', false);

if (!file_exists($osedir . 'config.local.php')) {
    $c->exec([
+40 −3
Original line number Diff line number Diff line
<?php

$osedir = $oa->getOseDir();
$oseDir = $oa->getOseDir();

$c->println("\nMise à jour des liens vers les répertoires publics des dépendances", $c::COLOR_LIGHT_CYAN);

$res = $oa->majUnicaenSymLinks($osedir);
/** @todo à supprimer mi-2020 */
if (file_exists($oseDir . "public/vendor/unicaen/app/unicaen")) {
    $this->console->exec("rm $oseDir" . "public/vendor/unicaen/app");
}

$oldLibs = [];
$od      = array_filter(glob($oseDir . 'public/vendor/unicaen/*'), 'is_dir');
foreach ($od as $dir) {
    $oldLibs[] = basename($dir);
}

$newLibs = [];
$nd      = array_filter(glob($oseDir . 'vendor/unicaen/*'), 'is_dir');
foreach ($nd as $dir) {
    if (is_dir($dir . '/public')) {
        $newLibs[] = basename($dir);
    }
}

$deleteLibs = array_diff($oldLibs, $newLibs);
$createLibs = array_diff($newLibs, $oldLibs);

foreach ($deleteLibs as $lib) {
    $command = "rm $oseDir" . "public/vendor/unicaen/$lib";
    $c->print($command);
    $c->exec($command);
}

foreach ($createLibs as $lib) {
    if (is_dir($oseDir . "/vendor/unicaen/$lib/public/unicaen/$lib")) {
        $command = "cd $oseDir" . "public/vendor/unicaen;ln -sf ../../../vendor/unicaen/$lib/public/unicaen/$lib $lib";
    } else {
        $command = "cd $oseDir" . "public/vendor/unicaen;ln -sf ../../../vendor/unicaen/$lib/public $lib";
    }
    $c->print($command);
    $c->exec($command);
}


if ($res) {
if (!(empty($deleteLibs) && empty($createLibs))) {
    $c->println('Liens mis à jour', $c::COLOR_LIGHT_GREEN);
} else {
    $c->println('Liens déjà à jour', $c::COLOR_LIGHT_GREEN);
+0 −47
Original line number Diff line number Diff line
@@ -75,53 +75,6 @@ class OseAdmin



    public function majUnicaenSymLinks(): bool
    {
        $oseDir = $this->getOseDir();

        /** @todo à supprimer mi-2020 */
        if (file_exists($oseDir . "public/vendor/unicaen/app/unicaen")) {
            $this->console->exec("rm $oseDir" . "public/vendor/unicaen/app");
        }

        $oldLibs = [];
        $od      = array_filter(glob($oseDir . 'public/vendor/unicaen/*'), 'is_dir');
        foreach ($od as $dir) {
            $oldLibs[] = basename($dir);
        }

        $newLibs = [];
        $nd      = array_filter(glob($oseDir . 'vendor/unicaen/*'), 'is_dir');
        foreach ($nd as $dir) {
            if (is_dir($dir . '/public')) {
                $newLibs[] = basename($dir);
            }
        }

        $deleteLibs = array_diff($oldLibs, $newLibs);
        $createLibs = array_diff($newLibs, $oldLibs);

        foreach ($deleteLibs as $lib) {
            $command = "rm $oseDir" . "public/vendor/unicaen/$lib";
            $this->console->print($command);
            $this->console->exec($command);
        }

        foreach ($createLibs as $lib) {
            if (is_dir($oseDir . "/vendor/unicaen/$lib/public/unicaen/$lib")) {
                $command = "cd $oseDir" . "public/vendor/unicaen;ln -sf ../../../vendor/unicaen/$lib/public/unicaen/$lib $lib";
            } else {
                $command = "cd $oseDir" . "public/vendor/unicaen;ln -sf ../../../vendor/unicaen/$lib/public $lib";
            }
            $this->console->print($command);
            $this->console->exec($command);
        }

        return !(empty($deleteLibs) && empty($createLibs));
    }



    public function gitlabIsReachable(): bool
    {
        $gitCheck = $this->console->exec("git ls-remote --heads " . self::OSE_ORIGIN, false);
+6 −2
Original line number Diff line number Diff line
@@ -223,7 +223,11 @@ class OseDeploy
        }

        foreach ($createLibs as $lib) {
            if (is_dir($oseDir . "/vendor/unicaen/$lib/public/unicaen/$lib")) {
                $command = "cd $oseDir" . "public/vendor/unicaen;ln -sf ../../../vendor/unicaen/$lib/public/unicaen/$lib $lib";
            } else {
                $command = "cd $oseDir" . "public/vendor/unicaen;ln -sf ../../../vendor/unicaen/$lib/public $lib";
            }
            $this->console->print($command);
            $this->console->exec($command);
        }