From 9b6f7d94f4c7f1dbae511161bcad887142901695 Mon Sep 17 00:00:00 2001 From: Pierre Goiffon Date: Wed, 26 Jan 2022 15:41:01 +0100 Subject: [PATCH] =?UTF-8?q?N=C2=B04714=20Handle=20ITOP=5FCORE=5FVERSION=20?= =?UTF-8?q?update=20in=20.make/release/update-versions.php?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .make/release/update-versions.php | 1 + .make/release/update.classes.inc.php | 34 ++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/.make/release/update-versions.php b/.make/release/update-versions.php index 0f1dcd24e..0bab8f82c 100644 --- a/.make/release/update-versions.php +++ b/.make/release/update-versions.php @@ -27,6 +27,7 @@ $aFilesUpdaters = array( new iTopVersionFileUpdater(), new CssVariablesFileUpdater(), new DatamodelsModulesFiles(), + new ConstantFileUpdater('ITOP_CORE_VERSION', 'core/config.class.inc.php'), ); if (count($argv) === 1) diff --git a/.make/release/update.classes.inc.php b/.make/release/update.classes.inc.php index 6e20ee0d7..6d4c30973 100644 --- a/.make/release/update.classes.inc.php +++ b/.make/release/update.classes.inc.php @@ -69,6 +69,40 @@ abstract class AbstractSingleFileVersionUpdater extends FileVersionUpdater } } +/** + * @since 2.7.7 3.0.1 3.1.0 N°4714 + */ +class ConstantFileUpdater extends AbstractSingleFileVersionUpdater { + /** @var string */ + private $sConstantName; + + /** + * @param $sConstantName constant to search, for example `ITOP_CORE_VERSION` + * @param $sFileToUpdate file containing constant definition + */ + public function __construct($sConstantName, $sFileToUpdate) + { + $this->sConstantName = $sConstantName; + parent::__construct($sFileToUpdate); + } + + /** + * @inheritDoc + */ + public function UpdateFileContent($sVersionLabel, $sFileContent, $sFileFullPath) + { + $sConstantSearchPattern = <<sConstantName}', ?'[^']+'\);/ +REGEXP; + + return preg_replace( + $sConstantSearchPattern, + "define('{$this->sConstantName}', '{$sVersionLabel}');", + $sFileContent + ); + } +} + class iTopVersionFileUpdater extends AbstractSingleFileVersionUpdater { public function __construct()