diff --git a/bin/bump-version b/bin/bump-version new file mode 100755 index 0000000000000000000000000000000000000000..6dcd6545284743d203a303d8b3676283fdb54648 --- /dev/null +++ b/bin/bump-version @@ -0,0 +1,61 @@ +#!/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 __DIR__ . '/../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; diff --git a/config/autoload/unicaen-app.global.php b/config/autoload/unicaen-app.global.php index 98eb16b693f9fd3dfaf6e2f6aa9d3f4b203a05c5..e9d01d906dda9fc09cc67dd3c83f09899777ec8f 100644 --- a/config/autoload/unicaen-app.global.php +++ b/config/autoload/unicaen-app.global.php @@ -19,8 +19,8 @@ return [ 'app_infos' => [ 'nom' => "NomDeVotreApplication", 'desc' => "Description succincte de votre application", - 'version' => "0.0.1", - 'date' => "07/11/2017", + //'version' => cf. 'version.global.php' + //'date' => cf. 'version.global.php' 'contact' => ['mail' => "dsi.applications@unicaen.fr", /*'tel' => "01 02 03 04 05"*/], 'mentionsLegales' => "http://www.unicaen.fr/acces-direct/mentions-legales/", 'informatiqueEtLibertes' => "http://www.unicaen.fr/acces-direct/informatique-et-libertes/", diff --git a/config/autoload/version.global.php b/config/autoload/version.global.php new file mode 100644 index 0000000000000000000000000000000000000000..53a31bbf45b77134c7c64d6db897f16ff724c487 --- /dev/null +++ b/config/autoload/version.global.php @@ -0,0 +1,11 @@ +<?php + +return [ + 'unicaen-app' => [ + 'app_infos' => [ + 'version' => '1.0.0', + 'date' => '19/09/2019', + ], + ], + 'comment' => 'Fichier généré le 19/09/2019 à 07:52:13 avec /app/bin/bump-version', +];