diff --git a/setup/feature_removal/DryRemovalRuntimeEnvironment.php b/setup/feature_removal/DryRemovalRuntimeEnvironment.php index df50a9a89..82a15b613 100644 --- a/setup/feature_removal/DryRemovalRuntimeEnvironment.php +++ b/setup/feature_removal/DryRemovalRuntimeEnvironment.php @@ -86,13 +86,31 @@ class DryRemovalRuntimeEnvironment extends RunTimeEnvironment return $aModulesToLoad; } - public function Cleanup() + public function Cleanup() : void { $sEnv = $this->sTargetEnv; - SetupUtils::rrmdir(APPROOT."/data/$sEnv-modules"); - SetupUtils::rrmdir(APPROOT."/data/cache-$sEnv"); - SetupUtils::rrmdir(APPROOT."/env-$sEnv"); - SetupUtils::rrmdir(APPROOT."/conf/$sEnv"); - @unlink(APPROOT."/data/datamodel-$sEnv.xml"); + + //keep this folder empty + SetupUtils::tidydir(APPROOT."/env-$sEnv"); + + $aFolders=[ + APPROOT."/data/$sEnv-modules", + APPROOT."/data/cache-$sEnv", + APPROOT."/conf/$sEnv", + ]; + foreach ($aFolders as $sFolder) { + SetupUtils::tidydir($sFolder); + SetupUtils::rmdir_safe($sFolder); + } + + $sFiles = [ + APPROOT."/data/datamodel-$sEnv.xml", + APPROOT."/data/$sEnv.delta.prev.xml", + ]; + foreach ($sFiles as $sFile) { + if (is_file($sFile)) { + @unlink($sFile); + } + } } } diff --git a/setup/sequencers/DataAuditSequencer.php b/setup/sequencers/DataAuditSequencer.php index 85382da3c..bc8995b97 100644 --- a/setup/sequencers/DataAuditSequencer.php +++ b/setup/sequencers/DataAuditSequencer.php @@ -25,6 +25,7 @@ require_once APPROOT.'setup/feature_removal/SetupAudit.php'; require_once(APPROOT.'setup/sequencers/StepSequencer.php'); require_once(APPROOT.'setup/sequencers/ApplicationInstallSequencer.php'); +use Combodo\iTop\Setup\FeatureRemoval\DryRemovalRuntimeEnvironment; use Combodo\iTop\Setup\FeatureRemoval\SetupAudit; class DataAuditSequencer extends ApplicationInstallSequencer @@ -34,7 +35,7 @@ class DataAuditSequencer extends ApplicationInstallSequencer protected function GetTempEnv() { $sTargetEnv = $this->GetTargetEnv(); - return 'dry-'.$sTargetEnv; + return $sTargetEnv.'-build'; } protected function GetTargetDir() @@ -177,7 +178,6 @@ class DataAuditSequencer extends ApplicationInstallSequencer */ $oContextTag = new ContextTag(ContextTag::TAG_SETUP); - $sTargetEnvironment = $this->GetTempEnv(); $sPreviousEnvironment = $this->GetTargetEnv(); $oSetupAudit = new SetupAudit($sPreviousEnvironment); @@ -195,8 +195,29 @@ class DataAuditSequencer extends ApplicationInstallSequencer protected function DoCleanup() { - $sDestination = APPROOT.$this->GetTargetDir(); - SetupUtils::tidydir($sDestination); - SetupUtils::rmdir_safe($sDestination); + $sEnv = $this->GetTempEnv(); + + //keep this folder empty + SetupUtils::tidydir(APPROOT."/env-$sEnv"); + + $aFolders=[ + APPROOT."/data/$sEnv-modules", + APPROOT."/data/cache-$sEnv", + APPROOT."/conf/$sEnv", + ]; + foreach ($aFolders as $sFolder) { + SetupUtils::tidydir($sFolder); + SetupUtils::rmdir_safe($sFolder); + } + + $sFiles = [ + APPROOT."/data/datamodel-$sEnv.xml", + APPROOT."/data/$sEnv.delta.prev.xml", + ]; + foreach ($sFiles as $sFile) { + if (is_file($sFile)) { + @unlink($sFile); + } + } } }