MyTrout.Pipelines.Steps.IO.Compression
6.1.0
dotnet add package MyTrout.Pipelines.Steps.IO.Compression --version 6.1.0
NuGet\Install-Package MyTrout.Pipelines.Steps.IO.Compression -Version 6.1.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MyTrout.Pipelines.Steps.IO.Compression" Version="6.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MyTrout.Pipelines.Steps.IO.Compression" Version="6.1.0" />
<PackageReference Include="MyTrout.Pipelines.Steps.IO.Compression" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add MyTrout.Pipelines.Steps.IO.Compression --version 6.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: MyTrout.Pipelines.Steps.IO.Compression, 6.1.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package MyTrout.Pipelines.Steps.IO.Compression@6.1.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=MyTrout.Pipelines.Steps.IO.Compression&version=6.1.0
#tool nuget:?package=MyTrout.Pipelines.Steps.IO.Compression&version=6.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
MyTrout.Pipelines.Steps.IO.Compression
Introduction
MyTrout.Pipelines.Steps.IO.Compression provides Pipeline steps to manage zip archives and zip archive entries.
MyTrout.Pipelines.Steps.IO.Compression targets .NET 6.0 and .NET 7.0.
For more details on Pipelines, see Pipelines.Core
For more details on Pipelines.Hosting, see Pipelines.Hosting
For a list of available steps, see Available Steps
Installing via NuGet
Install-Package MyTrout.Pipelines.Steps.IO.Compression
Software dependencies
1. MyTrout.Pipelines.Steps 4.0.0 minimum.
All software dependencies listed above use the MIT License.
How do I create a new zip archive and add entries using this library ?
using MyTrout.Pipelines;
using MyTrout.Pipelines.Hosting;
using MyTrout.Pipelines.Steps;
using MyTrout.Pipelines.Steps.IO.Compression;
// using MyTrout.Pipelines.Steps.IO.Directories; -> Coming soon.
using MyTrout.Pipelines.Steps.IO.Files;
using System;
using System.Linq;
using System.Threading.Tasks;
namespace MyTrout.Pipeline.IO.Compression.Samples
{
public class Program
{
public static async Task Main(string[] args)
{
var host = Host.CreateDefaultBuilder(args)
.UsePipeline(builder =>
{
builder
.AddStep<CreateNewZipArchiveStep>()
// Configured for ExecutionTimings.After only to force the step to write (on the Response side).
.AddStep<WriteStreamToFileSystemStep>()
// Closes the Archive Step so the OUTPUT_STREAM is populated (on the Response side)
.AddStep<CloseZipArchiveStep>()
// This step functionality add each file one at a time to an INPUT_STREAM. (coming soon as Steps.IO.Directories)
// .AddStep<LoopThroughFilesInDirectoryStep>()
// Read a file from the file system into the INPUT_STREAM.
.AddStep<ReadStreamFromFileSystem>()
// ReadStreamFromFileSystem names the Stream INPUT_STREAM.
// AddZipArchiveEntry needs the Stream named OUTPUT_STREAM.
// Located in Pipelines.Steps
.AddStep<MoveInputStreamToOutputStream>()
// Create a custom TARGET_FILE PipelineContext.Item to enable the ZipArchive entry to be named.
.AddStep<SomeCustomCodeToCreateTheNameOfTheEntry()
.AddStep<AddZipArchiveEntryStep>();
})
.Build();
//
// IMPORTANT NOTE FOR DEVELOPERS:
//
// Use StartAsync() to allow the caller to review the PipelineContext after execution.
//
await host.StartAsync().ConfigureAwait(false);
var context = host.Services.GetService<PipelineContext>();
if(context.Errors.Any())
{
// TODO: Errors have already been logged, do any special error processing here.
}
return 0;
}
}
}
}
Build the software locally.
1. Clone the software from the Pipelines repository.
2. Build the software in Visual Studio 2022 to pull down all of the dependencies from nuget.org.
3. In Visual Studio, run all tests. All of the should pass.
4. If you have Visual Studio Enterprise 2022, analyze the code coverage; it should be 100%.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- MyTrout.Pipelines (>= 4.0.3 && < 5.0.0)
-
net7.0
- MyTrout.Pipelines (>= 4.0.3 && < 5.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated | |
---|---|---|---|
6.1.0 | 395 | 12/6/2022 | |
6.0.0 | 471 | 6/17/2022 | |
5.0.0 | 577 | 4/3/2022 | |
4.0.0 | 616 | 1/14/2022 | |
3.1.0 | 335 | 12/26/2021 | |
3.0.0 | 438 | 6/30/2021 | |
2.0.1 | 456 | 1/2/2021 | |
1.0.0 | 546 | 8/12/2020 | |
0.2.0-beta | 368 | 7/23/2020 | |
0.1.2-beta | 398 | 7/17/2020 | |
0.1.1-beta | 424 | 7/17/2020 | |
0.1.0-beta | 430 | 7/17/2020 |