An open API service indexing awesome lists of open source software.

https://github.com/unoplatform/uno.packagediff

A command line tool that compares two versions of a NuGet package and provides public API differences
https://github.com/unoplatform/uno.packagediff

cecil compare csharp dotnet nuget roslyn

Last synced: 3 months ago
JSON representation

A command line tool that compares two versions of a NuGet package and provides public API differences

Awesome Lists containing this project

README

          

# NuGet Package Diffing Tool

A command line tool that compares two versions of a NuGet package and provides public API differences.

This tool has originally been built to fail a build when a breaking change is detected, using a
published nuget package (in nuget.org) and a local NuGet package.

## Installing

Run the following command from command line (requires .NET Core 2.1 installed):

```
dotnet tool install --global Uno.PackageDiff
```

## Diffing packages

```
generatepkgdiff --base=Uno.UI --other=C:\temp\Uno.UI.1.43.0-PullRequest0621.917.nupkg --outfile=diff.md
```

The tool returns a non-zero value when differences are found, otherwise zero.

## How to provide an ignore set

The diff tool accepts a "ignore set" file which gives the ability to ignore specific differences. Those differences appear strike-out in the resulting markdown file.

Here's the format:

```xml

























```

The `baseVersion` attribute denotes the version for which the Ignore Set has been authored. This enables for the automatic discarding of existing sets when a new package version is published in nuget.org.

The `fullname` of members should be the exact string provided in the markdown file when a difference is identified.

You can also specifiy `isRegex="true"` to a `Member`, and the `fullName` will be treated as a Regex pattern to match against.