PR review - move Prepare in DryRemovalRuntimeEnvironment constr

This commit is contained in:
odain
2026-03-13 08:15:14 +01:00
parent 9c32e29e77
commit 9cb2d78b48
3 changed files with 15 additions and 21 deletions

View File

@@ -88,8 +88,7 @@ class DataFeatureRemovalController extends Controller
private function Analyze(): void
{
$sSourceEnv = MetaModel::GetEnvironment();
$oDryRemovalRuntimeEnvironment = new DryRemovalRuntimeEnvironment();
$oDryRemovalRuntimeEnvironment->Prepare($sSourceEnv, $this->aSelectedExtensionsForCheck);
$oDryRemovalRuntimeEnvironment = new DryRemovalRuntimeEnvironment($sSourceEnv, $this->aSelectedExtensionsForCheck);
$oDryRemovalRuntimeEnvironment->CompileFrom($sSourceEnv);
$oSetupAudit = new SetupAudit($sSourceEnv);

View File

@@ -19,32 +19,28 @@ class DryRemovalRuntimeEnvironment extends RunTimeEnvironment
/**
* Toolset for building a run-time environment
*
* @param string $sEnvironment
* @param string $sSourceEnv: environment from which setup is inspired to simulate extension removal and usee CompileFrom...
*/
public function __construct($sEnvironment = 'production')
public function __construct($sSourceEnv = 'production', array $aExtensionCodesToRemove = [])
{
parent::__construct($sEnvironment, false);
$this->aExtensionsByCode = [];
parent::__construct($sSourceEnv, false);
$this->aExtensionsByCode = $aExtensionCodesToRemove;
$this->Prepare($sSourceEnv, $this->sTargetEnv);
}
/**
* @param string $sSourceEnv
* @param array $aExtensionCodesToRemove
*
* @return void
* @throws \Exception
* @param string $sSourceEnv
* @param string $sTargetEnv
* @return void
* @throws \MissingDependencyException
*/
public function Prepare(string $sSourceEnv, array $aExtensionCodesToRemove)
private function Prepare(string $sSourceEnv, string $sTargetEnv)
{
$sEnv = $this->sTargetEnv;
$this->aExtensionsByCode = $aExtensionCodesToRemove;
$this->Cleanup();
SetupUtils::copydir(APPROOT."/data/$sSourceEnv-modules", APPROOT."/data/$sEnv-modules");
SetupUtils::copydir(APPROOT."/data/$sSourceEnv-modules", APPROOT."/data/$sTargetEnv-modules");
SetupUtils::copydir(APPROOT."/conf/$sSourceEnv", APPROOT."/conf/$sTargetEnv");
$this->DeclareExtensionAsRemoved($aExtensionCodesToRemove);
SetupUtils::copydir(APPROOT."/conf/$sSourceEnv", APPROOT."/conf/$sEnv");
$this->DeclareExtensionAsRemoved($this->aExtensionsByCode);
$sSourceDir = MetaModel::GetConfig()->Get('source_dir');
$aSearchDirs = $this->GetExtraDirsToCompile($sSourceDir);

View File

@@ -51,8 +51,7 @@ class SetupAuditTest extends ItopCustomDatamodelTestCase
public function testComputeDryRemoval()
{
$oDryRemovalRuntimeEnvt = new DryRemovalRuntimeEnvironment($this->GetTestEnvironment());
$oDryRemovalRuntimeEnvt->Prepare($this->GetTestEnvironment(), ['nominal_ext1', 'finalclass_ext2']);
$oDryRemovalRuntimeEnvt = new DryRemovalRuntimeEnvironment($this->GetTestEnvironment(), ['nominal_ext1', 'finalclass_ext2']);
$oDryRemovalRuntimeEnvt->CompileFrom($this->GetTestEnvironment());
$oSetupAudit = new SetupAudit(MetaModel::GetEnvironment());