RecursiveExtractor
RecursiveExtractor copied to clipboard
RecursiveExtractor is a .NET Standard 2.0 archive extraction Library, and Command Line Tool which can process 7zip, ar, bzip2, deb, gzip, iso, rar, tar, vhd, vhdx, vmdk, wim, xzip, and zip archives an...
I've been playing with this library for a few minutes and created small PowerShell module using it. ```powershell $ExtractMe = "$Env:UserProfile\Downloads\DaRT70.iso" $Extractor = [Microsoft.CST.OpenSource.RecursiveExtractor.Extractor]::new() $Extractor.ExtractFile($ExtractMe) | Format-Table ``` this is...
Allows logger to be passed in from dependent callers. For logging directly from RecursiveExtractor we should use Serilog.
#127 revealed an a new issue that if there is a stall in an extractor dependency we use, the resource governor is never called. This may require some refactoring to...
https://learn.microsoft.com/en-us/visualstudio/test/how-to-create-a-data-driven-unit-test?view=vs-2022 Tests could be simplified by consolidating the many copies of the test data rows, also simplifying adding new tests for new formats. See https://learn.microsoft.com/en-us/visualstudio/test/how-to-create-a-data-driven-unit-test?view=vs-2022#member-data-driven-test.
It is possible to hide extra files in a zip file that are not referenced in the directory. These may be missed by standard extraction, but it should be possible...
https://learn.microsoft.com/en-us/dotnet/api/system.formats.tar?view=net-7.0
Currently the tests primarily check that the correct number of files are returned from extraction commands. However, as the issue identified in #102 shows this can be insufficient in cases...
If the TarExtractor fails to open the entry stream for an entry or to copy that to a new backing stream it catches the exception but continues parsing anyway. This...