From 1cd359cbcc22404c42c83fa3417910fb523d58a0 Mon Sep 17 00:00:00 2001 From: Rodrigo Bernardi Date: Wed, 24 Jul 2019 15:04:44 -0300 Subject: [PATCH] Adjusted support old and link adjusted --- src/core/Boss.Modules.PackageProcessor.pas | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/core/Boss.Modules.PackageProcessor.pas b/src/core/Boss.Modules.PackageProcessor.pas index c42e07e..839dbf2 100644 --- a/src/core/Boss.Modules.PackageProcessor.pas +++ b/src/core/Boss.Modules.PackageProcessor.pas @@ -86,19 +86,23 @@ function TBossPackageProcessor.GetEnv(AEnv: string): string; procedure TBossPackageProcessor.MakeLink(AProjectPath, AEnv: string); var LCommand: PChar; + LFile: string; begin - System.TMonitor.Enter(Self); try if DirectoryExists(GetEnv(AEnv)) then TFile.Delete(GetEnv(AEnv)); - LCommand := PChar(Format('cmd /c mklink /D /J "%0:s" "%1:s"', - [GetEnv(AEnv), AProjectPath + TPath.DirectorySeparatorChar + C_MODULES_FOLDER + '.' + AEnv])); - ExecuteAndWait(LCommand); + + ForceDirectories(GetEnv(AEnv)); + + for LFile in TDirectory.GetFiles(AProjectPath + TPath.DirectorySeparatorChar + C_MODULES_FOLDER + '.' + AEnv) do + begin + TFile.Copy(LFile, TPath.Combine(GetEnv(AEnv), TPath.GetFileName(LFile)), True); + end; + except on E: Exception do TProviderMessage.GetInstance.WriteLn('Failed on make link: ' + E.Message); end; - System.TMonitor.Exit(Self); end; constructor TBossPackageProcessor.Create; @@ -110,6 +114,12 @@ constructor TBossPackageProcessor.Create; if FileExists(GetDataCachePath) then FDataFile.LoadFromFile(GetDataCachePath); + if not FDataFile.Values[BPLS].IsEmpty then + begin + FDataFile.Delimiter := ';'; + FDataFile.DelimitedText := FDataFile.Values[BPLS]; + end; + if DirectoryExists(GetEnv(EmptyStr)) then ForceDirectories(GetEnv(EmptyStr));