Skip to content
Snippets Groups Projects
Select Git revision
  • f5f68ee379c77b359ebbb75a31a998f16a213461
  • master default protected
  • release_3.0.0
  • test
  • feature_pre_sql
  • develop
  • 3.0.1
  • 3.0.0
  • 2.3.0
  • 2.2.0
  • 2.1.0
  • 2.0.0
  • 1.3.7
  • 1.3.6
  • 1.3.5
  • 1.3.4
  • 1.3.3
  • 1.3.2
  • 1.3.1
  • 1.3.0
  • 1.2.6
  • 1.2.5
  • 1.2.4
  • 1.2.3
  • 1.2.2
  • 1.2.1
26 results

create-version-config-file

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    create-version-config-file 1.98 KiB
    #!/usr/bin/env php
    <?php
    
    /**
     * 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'.
     *
     * 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';
    
    use Laminas\Config\Writer\PhpArray;
    
    const DEFAULT_FILE_PATH = 'config/autoload/auto.version.local.php';
    const ARG_VERSION_NUMBER = '--number';
    const ARG_VERSION_DATE = '--date';
    const ARG_FILE_PATH = '--file';
    
    $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;
    
    if ($versionNumber === null) {
        echo ":-( Vous devez spécifier le numéro de version via " . ARG_VERSION_NUMBER . PHP_EOL;
        exit(1);
    }
    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;
    }
    $configFilepath = realpath($configFilepath);
    
    $config = [
        'unicaen-app' => [
            'app_infos' => [
                '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__))
    ];
    
    $phpArray = new PhpArray();
    $phpArray
        ->setUseBracketArraySyntax(true)
        ->toFile($configFilepath, $config);
    
    echo "Fichier de config créé : $configFilepath" . PHP_EOL;
    echo "  Version inscrite : $versionNumber" . PHP_EOL;
    echo "  Date inscrite :    $versionDate" . PHP_EOL;