Makes 7zip available as a tool in Cake

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

dotnet add package Cake.7zip --version 4.1.0

<PackageReference Include="Cake.7zip" Version="4.1.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, 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.

SevenZip(SevenZipSettings) Runs 7zip, using SevenZipSettings for configuration.