TomsToolbox.LicenseGenerator 1.5.0

dotnet tool install --global TomsToolbox.LicenseGenerator --version 1.5.0
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local TomsToolbox.LicenseGenerator --version 1.5.0
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=TomsToolbox.LicenseGenerator&version=1.5.0
nuke :add-package TomsToolbox.LicenseGenerator --version 1.5.0

License Generator

A DotNet tool to create a license file AKA NOTICE.TXT for all referenced nuget packages.

Build Nuget

This tool uses MSBuild logic to control which projects should be listed in the license file, giving you a high grade of flexibility.

All projects containing a property IsDeploymentTarget set to true and their dependencies are included in the license file.

You can mark individual projects by adding the IsDeploymentTarget property to the project file:

  • Include the project and all references:
    <IsDeploymentTarget>true</IsDeploymentTarget>

You can include several projects by convention by adding conditional properties in the Directory.Build.targets file:

  • Include all executables:
    <IsDeploymentTarget Condition="'$(IsDeploymentTarget)'=='' AND '$(IsTestProject)'!='True' AND '$(OutputType)'=='Exe'">true</IsDeploymentTarget>
  • Include all projects ending with Something:
    <_IsSomeProject>$(MSBuildProjectName.ToUpperInvariant().EndsWith("SOMETHING"))</_IsSomeProject>
    <IsDeploymentTarget Condition="'$(IsDeploymentTarget)'=='' AND $(_IsSomeProject)">true</IsDeploymentTarget>

Installation

dotnet tool install TomsToolbox.LicenseGenerator -g

Usage

build-license [options]

Options

  -i, --input <input> (REQUIRED)  The path to the solution file to process.
  -o, --output <output>           The name of the license file that is created.
                                  An existing file will be overwritten without confirmation.
                                  Default is Notice.txt in the same folder as the solution.
  -e, --exclude <exclude>         A regular expression to specify package ids to exclude from output.
  --recursive                     A flag to indicate that all dependencies should be scanned recursively.
  --offline                       A flag to indicate that only the locally cached packages should be scanned (requires a restore beforehand).
  --version                       Show version information
  -?, -h, --help                  Show help and usage information
Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
1.5.0 802 11/9/2023
1.4.0 231 10/12/2023
1.3.0 287 9/14/2023
1.2.0 183 9/13/2023
1.1.2 235 9/7/2023
1.1.1 242 6/20/2023
1.1.0 115 6/20/2023
1.0.1 151 6/18/2023
1.0.0 138 5/17/2023