public PackageArchiver(IPackageUtilities packageUtilities, ICompressionUtilities compressionUtilities, IWorkingDirectoriesProvider workingDirectoriesProvider, IFileSystem fileSystem, ILogger logger) { packageUtilities.CheckArgumentNull(nameof(packageUtilities)); compressionUtilities.CheckArgumentNull(nameof(compressionUtilities)); workingDirectoriesProvider.CheckArgumentNull(nameof(workingDirectoriesProvider)); fileSystem.CheckArgumentNull(nameof(fileSystem)); logger.CheckArgumentNull(nameof(logger)); _packageUtilities = packageUtilities; _compressionUtilities = compressionUtilities; _workingDirectoriesProvider = workingDirectoriesProvider; _fileSystem = fileSystem; _logger = logger; }
public static int ExtractPackage(UnzipPkgOptions options, IPackageArchiver packageArchiver, IPackageUtilities packageUtilities, IFileSystem fileSystem) { var packagePath = GetCorrectedPackagePath(options); var destinationDirectory = fileSystem.GetCurrentDirectoryIfEmpty(options.DestinationPath); string packageName = fileSystem.ExtractNameFromPath(packagePath); var destinationPackagePath = Path.Combine(destinationDirectory, packageName); try { Console.WriteLine($"Start unzip package ({packageName})."); var overwrite = ShowDialogOverwriteDestinationPackageDir(destinationPackagePath); packageArchiver.Unpack(packagePath, overwrite, destinationDirectory); Console.WriteLine($"Unzip package ({packageName}) completed."); return(0); } catch (Exception e) { Console.WriteLine($"{e.Message}"); return(1); } }