Skip to content
Snippets Groups Projects
Select Git revision
  • 1c8eb8b8121e3b9d54aabb77e0fd9f4bda042f25
  • 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

bump-version

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    bump-version 1.59 KiB
    #!/usr/bin/env php
    <?php
    
    /**
     * Script à utiliser pour mettre à jour la version courante de l'application,
     * configurée dans 'config/autoload/version.global.php'.
     *
     * Usage:  bump-version [<version>]
     *
     * Ex:     bump-version 1.3
     */
    
    require 'vendor/autoload.php';
    
    use Zend\Config\Writer\PhpArray;
    
    $defaultConfig = [
        'unicaen-app' => [
            'app_infos' => [
                'version' => 'Aucune',
            ],
        ]
    ];
    
    $configFilepath = 'config/autoload/version.global.php';
    echo "Fichier de config: $configFilepath" . PHP_EOL;
    
    if (!is_readable($configFilepath)) {
        echo "Fichier de config $configFilepath introuvable ou illisible." . PHP_EOL;
        exit(1);
    }
    
    $config = require $configFilepath;
    
    if (! isset($config['unicaen-app']['app_infos']['version'])) {
        $config = array_merge_recursive($config, $defaultConfig);
    }
    $current = $config['unicaen-app']['app_infos']['version'];
    echo sprintf("Version actuelle: %s.", $current) . PHP_EOL;
    
    $new = isset($argv[1]) ? $argv[1] : null;
    if ($new === null) {
        $message = "Nouvelle version ? ";
        $new = readline($message);
    }
    
    if (version_compare($new, $current) <= 0) {
        echo ":-( Impossible, la nouvelle version doit être supérieure à l'actuelle." . PHP_EOL;
        exit(1);
    }
    
    $config['unicaen-app']['app_infos']['version'] = $new;
    $config['unicaen-app']['app_infos']['date'] = date('d/m/Y');
    $config['comment'] = "Fichier généré le " . date('d/m/Y à H:i:s') . ' avec ' . __FILE__;
    
    $phpArray = new PhpArray();
    $phpArray
        ->setUseBracketArraySyntax(true)
        ->toFile($configFilepath, $config);
    
    echo "Nouvelle version inscrite: $new" . PHP_EOL;