Makes 7zip available as a tool in Cake

#addin nuget:?package=Cake.7zip&version=2.0.0

dotnet add package Cake.7zip --version 2.0.0

<PackageReference Include="Cake.7zip" Version="2.0.0" />


Functions to call 7-Zip.

In order to use this add-in, 7z.exe or 7za.exe has to be available. One option is using 7-Zip.CommandLine from nuget. The other option is to have 7z installed on your system (I.e. There is a registry-key HKLM/Software/7-Zip/Path that points to a directory containing 7z.exe or 7za.exe).

Supported formats and capabilities depend on your 7z-version.

To install add the following lines to your cake-file:

#tool "nuget:?package=7-Zip.CommandLine"
#addin "nuget:?package=Cake.7zip"


SevenZip(Action<CommandBuilder>) Runs 7zip, using a fluent builder for configuration.

For more examples see the different builders for the ICommand.

SevenZip(SevenZipSettings) Runs 7zip, using SevenZipSettings for configuration.
SevenZip(SevenZipSettings, Action<CommandBuilder>)

Runs 7zip, using SevenZipSettings for configuration and additionally CommandBuilder for fluent configuration of the Command.

Works exactly like Cake.SevenZip.SevenZipAliases.SevenZip(Cake.Core.ICakeContext,System.Action{Cake.SevenZip.Builder.CommandBuilder}) However, the settings are supplied to set e.g. the ToolPath or something else.

DO NOT set Command on the SevenZipSettings, as it will be overwritten by the CommandBuilder.