Skip to content

cake-contrib/Cake.BitDiffer

Repository files navigation

Cake.BitDiffer

This Cake Addin allows to use BitDiffer command line in your Cake build scripts.

States

Service Last Develop Master
AppVeyor last Build status last Build status develop Build status master
SonarCube coverage SonarQube Coverage SonarQube Coverage
SonarCube technical debt SonarQube Technical Debt SonarQube Technical Debt
Nuget NuGet NuGet Pre Release NuGet

Usage

To use the addin, add the following lines in your build script:

#tool "nuget:?package=BitDiffer"

#addin "nuget:?package=Cake.BitDiffer"

You can set the BitDiffer settings for execution and analyse the comparison result.

var settings = new BitDifferSettings {
    PreviousAssemblyFile = "./Version1/MyAsembly.dll",
    CurrentAssemblyFile = "./Version2/MyAssembly.dll",
    ReportOnlyChanged = true,
    CompareOnlyPublic = true,
    CompareImplementation = false,
    CompareAssemblyAttributeChanges = true,
    ResultOutputFile = "./CompareResults.xml", // Or HTML
    IsolationLevel = IsolationLevel.High,
    PreferGacVersion = true,
    ReflectionOnlyLoading = false
};
var compareResult = BitDiffer(settings);
Information(compareResult.HasChanges());
Information(compareResult.GetChangeMessage()); // Short message of detected change or error
Information(compareResult.RawResult); // Full analysis result
Information(string.Join(Environment.NewLine + ">>> ", comparisonResult.ExecutionResult)); // Content of standard output

// Or with inline configuration
var result = BitDiffer(options => {
    options.PreviousAssemblyFile = "./Version1/MyAsembly.dll";
    options.CurrentAssemblyFile = "./Version2/MyAssembly.dll"
});