Commit 4a420c4b authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Changement de stratégie pour générer le fichier de config contenant les numéro et date de version

parent f4c22e5f
Loading
Loading
Loading
Loading
Loading
+22 −22
Original line number Diff line number Diff line
@@ -2,14 +2,13 @@
<?php

/**
 * Script à utiliser pour créer le fichier de config locale contenant
 * la date et version courante de l'application.
 * Script à utiliser pour inscrire dans le fichier de config locale le numéro et la date de version de l'application
 * spécifiés en argument.
 *
 * Le chemin du fichier de config créé est par défaut
 * 'config/autoload/auto.version.local.php'.
 * Le chemin du fichier de config créé est par défaut 'config/autoload/auto.version.local.php'.
 *
 * Usage:  ./create-version-config-file [<path>]
 * Ex:     ./create-version-config-file 'config/autoload/auto.version.local.php'
 * Usage:  ./create-version-config-file --number <version> --date <date> [--file <path>]
 * Ex:     ./create-version-config-file --number 2.0.0 --date "03/11/2020" --file "config/autoload/auto.version.local.php"
 */

require 'vendor/autoload.php';
@@ -17,30 +16,31 @@ require 'vendor/autoload.php';
use Zend\Config\Writer\PhpArray;

const DEFAULT_FILE_PATH = 'config/autoload/auto.version.local.php';
const VERSION_CMD = 'git describe';
const DATE_CMD = 'git log --pretty="format:%ad" --date=format:"%d/%m/%Y %H:%M:%S" -1';
const ARG_VERSION_NUMBER = '--number';
const ARG_VERSION_DATE = '--date';
const ARG_FILE_PATH = '--file';

$configFilepath = isset($argv[1]) ? $argv[1] : null;
if ($configFilepath === null) {
    $configFilepath = DEFAULT_FILE_PATH;
}
$versionNumber = ($pos = array_search(ARG_VERSION_NUMBER, $argv)) !== false ? ($argv[$pos+1] ?? null) : null;
$versionDate = ($pos = array_search(ARG_VERSION_DATE, $argv)) !== false ? ($argv[$pos+1] ?? null) : null;
$configFilepath = ($pos = array_search(ARG_FILE_PATH, $argv)) !== false ? ($argv[$pos+1] ?? null) : null;

$version = exec(VERSION_CMD);
if (!$version) {
    echo ":-( Impossible de déterminer automatiquement la version." . PHP_EOL;
if ($versionNumber === null) {
    echo ":-( Vous devez spécifier le numéro de version via " . ARG_VERSION_NUMBER . PHP_EOL;
    exit(1);
}
$date = exec(DATE_CMD);
if (!$date) {
    echo ":-( Impossible de déterminer automatiquement la date." . PHP_EOL;
if ($versionDate === null) {
    echo ":-( Vous devez spécifier la date de version via " . ARG_VERSION_DATE . PHP_EOL;
    exit(1);
}
if ($configFilepath === null) {
    $configFilepath = DEFAULT_FILE_PATH;
}

$config = [
    'unicaen-app' => [
        'app_infos' => [
            'version' => $version,
            'date' => $date,
            'version' => $versionNumber,
            'date' => $versionDate,
        ],
    ],
    'comment' => sprintf("Fichier généré le %s avec le script '%s'.", date('d/m/Y à H:i:s'), basename(__FILE__))
@@ -52,5 +52,5 @@ $phpArray
    ->toFile($configFilepath, $config);

echo "Fichier de config créé : $configFilepath" . PHP_EOL;
echo "  Version inscrite : $version" . PHP_EOL;
echo "  Date inscrite :    $date" . PHP_EOL;
echo "  Version inscrite : $versionNumber" . PHP_EOL;
echo "  Date inscrite :    $versionDate" . PHP_EOL;
+0 −5
Original line number Diff line number Diff line
@@ -13,11 +13,6 @@ cd ${CURDIR}
# Composer install
composer install --no-dev --no-suggest --prefer-dist --optimize-autoloader && \

# Génération du fichier de version
echo "" && \
echo "Génération du fichier de version..." && \
./create-version-config-file && \

# Répertoire pour l'upload de fichiers
mkdir -p upload && \
  chown -R www-data:root upload && \