N°9144 - Split setup in 2 different step - refactor RuntimeEnv

This commit is contained in:
Eric Espie
2026-03-31 10:57:47 +02:00
committed by odain
parent 6b7d306006
commit e2bda81414
6 changed files with 86 additions and 84 deletions

View File

@@ -29,28 +29,28 @@ class RunTimeEnvironmentCoreUpdater extends RunTimeEnvironment
{
parent::__construct($sEnvironment, $bAutoCommit);
if ($sEnvironment != $this->sTargetEnv) {
if (is_dir(APPROOT.'/env-'.$this->sTargetEnv)) {
SetupUtils::rrmdir(APPROOT.'/env-'.$this->sTargetEnv);
if ($sEnvironment != $this->sBuildEnv) {
if (is_dir(APPROOT.'/env-'.$this->sBuildEnv)) {
SetupUtils::rrmdir(APPROOT.'/env-'.$this->sBuildEnv);
}
if (is_dir(APPROOT.'/data/'.$this->sTargetEnv.'-modules')) {
SetupUtils::rrmdir(APPROOT.'/data/'.$this->sTargetEnv.'-modules');
if (is_dir(APPROOT.'/data/'.$this->sBuildEnv.'-modules')) {
SetupUtils::rrmdir(APPROOT.'/data/'.$this->sBuildEnv.'-modules');
}
SetupUtils::copydir(APPROOT.'/data/'.$sEnvironment.'-modules', APPROOT.'/data/'.$this->sTargetEnv.'-modules');
SetupUtils::copydir(APPROOT.'/data/'.$sEnvironment.'-modules', APPROOT.'/data/'.$this->sBuildEnv.'-modules');
}
}
/**
* @param $sTargetEnv
* @param $sBuildEnv
*
* @throws \Exception
*/
public function CheckDirectories($sTargetEnv)
public function CheckDirectories($sBuildEnv)
{
$sTargetDir = APPROOT.'env-'.$sTargetEnv;
$sBuildDir = $sTargetDir.'-build';
$sBuildDir = APPROOT.'env-'.$sBuildEnv;
$sBuildDir = $sBuildDir.'-build';
self::CheckDirectory($sTargetDir);
self::CheckDirectory($sBuildDir);
self::CheckDirectory($sBuildDir);
}
@@ -85,10 +85,10 @@ class RunTimeEnvironmentCoreUpdater extends RunTimeEnvironment
//
$oConfig = clone($this->GetConfig('production'));
$oConfig->UpdateIncludes('env-'.$this->sTargetEnv);
$oConfig->UpdateIncludes('env-'.$this->sBuildEnv);
if (is_null($sEnvironmentLabel)) {
$sEnvironmentLabel = $this->sTargetEnv;
$sEnvironmentLabel = $this->sBuildEnv;
}
$oConfig->Set('app_env_label', $sEnvironmentLabel, 'application updater');
@@ -104,7 +104,7 @@ class RunTimeEnvironmentCoreUpdater extends RunTimeEnvironment
protected function GetConfig($sEnvironment = null)
{
if (is_null($sEnvironment)) {
$sEnvironment = $this->sTargetEnv;
$sEnvironment = $this->sBuildEnv;
}
$sFile = APPCONF.$sEnvironment.'/'.ITOP_CONFIG_FILE;
if (file_exists($sFile)) {

View File

@@ -19,29 +19,29 @@ class HubRunTimeEnvironment extends RunTimeEnvironment
{
parent::__construct($sEnvironment, $bAutoCommit);
if ($sEnvironment != $this->sTargetEnv) {
if (is_dir(APPROOT.'/env-'.$this->sTargetEnv)) {
SetupUtils::rrmdir(APPROOT.'/env-'.$this->sTargetEnv);
if ($sEnvironment != $this->sBuildEnv) {
if (is_dir(APPROOT.'/env-'.$this->sBuildEnv)) {
SetupUtils::rrmdir(APPROOT.'/env-'.$this->sBuildEnv);
}
if (is_dir(APPROOT.'/data/'.$this->sTargetEnv.'-modules')) {
SetupUtils::rrmdir(APPROOT.'/data/'.$this->sTargetEnv.'-modules');
if (is_dir(APPROOT.'/data/'.$this->sBuildEnv.'-modules')) {
SetupUtils::rrmdir(APPROOT.'/data/'.$this->sBuildEnv.'-modules');
}
SetupUtils::copydir(APPROOT.'/data/'.$sEnvironment.'-modules', APPROOT.'/data/'.$this->sTargetEnv.'-modules');
SetupUtils::copydir(APPROOT.'/data/'.$sEnvironment.'-modules', APPROOT.'/data/'.$this->sBuildEnv.'-modules');
}
}
/**
* Update the includes for the target environment
* Update the includes for the build environment
*
* @param Config $oConfig
*/
public function UpdateIncludes(Config $oConfig)
{
$oConfig->UpdateIncludes('env-'.$this->sTargetEnv); // TargetEnv != FinalEnv
$oConfig->UpdateIncludes('env-'.$this->sBuildEnv); // BuildEnv != FinalEnv
}
/**
* Move an extension (path to folder of this extension) to the target environment
* Move an extension (path to folder of this extension) to the build environment
*
* @param string $sExtensionDirectory The folder of the extension
*
@@ -49,12 +49,12 @@ class HubRunTimeEnvironment extends RunTimeEnvironment
*/
public function MoveExtension($sExtensionDirectory)
{
if (!is_dir(APPROOT.'/data/'.$this->sTargetEnv.'-modules')) {
if (!mkdir(APPROOT.'/data/'.$this->sTargetEnv.'-modules')) {
throw new Exception("ERROR: failed to create directory:'".(APPROOT.'/data/'.$this->sTargetEnv.'-modules')."'");
if (!is_dir(APPROOT.'/data/'.$this->sBuildEnv.'-modules')) {
if (!mkdir(APPROOT.'/data/'.$this->sBuildEnv.'-modules')) {
throw new Exception("ERROR: failed to create directory:'".(APPROOT.'/data/'.$this->sBuildEnv.'-modules')."'");
}
}
$sDestinationPath = APPROOT.'/data/'.$this->sTargetEnv.'-modules/';
$sDestinationPath = APPROOT.'/data/'.$this->sBuildEnv.'-modules/';
// Make sure that the destination directory of the extension does not already exist
if (is_dir($sDestinationPath.basename($sExtensionDirectory))) {
@@ -67,7 +67,7 @@ class HubRunTimeEnvironment extends RunTimeEnvironment
}
/**
* Move the selected extensions located in the given directory in data/<target-env>-modules
* Move the selected extensions located in the given directory in data/<build-env>-modules
*
* @param string $sDownloadedExtensionsDir The directory to scan
* @param string[] $aSelectedExtensionDirs The list of folders to move