2024-08-09 21:39:39 +01:00
using CliFx ;
using CliFx.Attributes ;
using CliFx.Infrastructure ;
2025-01-11 23:49:06 -05:00
using ReCodeItCLI.Utils ;
2024-12-31 13:46:44 -05:00
using ReCodeItLib.Utils ;
2024-08-09 21:39:39 +01:00
using ReCodeItLib.Dumper ;
2024-12-22 07:04:20 -05:00
namespace ReCodeItCLI.Commands ;
2024-08-09 21:39:39 +01:00
[Command("Dumper", Description = "Generates a dumper zip")]
public class Dumper : ICommand
{
2024-08-11 11:34:29 +01:00
[CommandParameter(0, IsRequired = true, Description = "The absolute path to your Managed folder for EFT, folder must contain all references to be resolved. Assembly-CSharp-cleaned.dll, mscorlib.dll, FilesChecker.dll")]
2024-12-30 23:50:31 -05:00
public required string ManagedDirectory { get ; init ; }
2024-08-09 21:39:39 +01:00
public ValueTask ExecuteAsync ( IConsole console )
{
2025-01-11 23:49:06 -05:00
Debugger . TryWaitForDebuggerAttach ( ) ;
2024-08-10 11:00:55 +01:00
Logger . Log ( "Creating DumperClass..." ) ;
var dumper = new DumperClass ( ManagedDirectory ) ;
dumper . CreateDumpFolders ( ) ;
dumper . CreateDumper ( ) ;
2024-08-12 12:20:01 +01:00
dumper . CopyFiles ( ) ;
dumper . ZipFiles ( ) ;
2024-08-09 21:39:39 +01:00
Logger . Log ( "Complete" , ConsoleColor . Green ) ;
// Wait for log termination
Logger . Terminate ( ) ;
while ( Logger . IsRunning ( ) ) { }
return default ;
}
}