Small tool responsible for extracting licenses from NuGet packages included in .NET projects.
Usage of Third-Party Libraries usually requires to include licenses within an application. This command-line tool can be used for auto-generating the “Acknowledgement” / “Third-Party Libraries” page in your project.
NugetAcknowledgementsExporter finds all CSPROJs in a directory from the argument, extracts all included NuGet packages and downloads their licenses. Based on gained data it builds two files:
- acknowledgements.txt – text file containing all acknowledgements for NuGet packages. It could be directly included within your application in a scrollable text field.
- project_packages.json – JSON file containing an array of used NuGet packages including downloaded licenses. It could be used to build a more interesting UI for acknowledgements, generated from code based on this file.
Features:
- Detecting
*.csproj
files recursively in project’s directory - Extracting NuGet packages from
*.csproj
- Extracting NuGet packages from
packages.json
- Grouping packages with the same authors, projectUrl and licenseUrl
- Downloading licenses from
licenseUrl
(included in NuGetnuspec
file) - Adding custom licenses (edit file:
licenses/licenses.json
) - Excluding packages (edit file:
licenses/exclude.json
) - Including custom packages (edit file:
licenses/include.json
) - Windows and MacOS support
Requirements:
- .NET Core (download)
- NuGet command-line tool:
Windows: download (+ add to PATH)
MacOS: brew install nuget