TomsToolbox.LicenseGenerator 1.6.0

dotnet tool install --global TomsToolbox.LicenseGenerator --version 1.6.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.6.0                
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=TomsToolbox.LicenseGenerator&version=1.6.0                
nuke :add-package TomsToolbox.LicenseGenerator --version 1.6.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.6.0 841 5/22/2024
1.5.0 954 11/9/2023
1.4.0 274 10/12/2023
1.3.0 329 9/14/2023
1.2.0 229 9/13/2023
1.1.2 276 9/7/2023
1.1.1 265 6/20/2023
1.1.0 148 6/20/2023
1.0.1 175 6/18/2023
1.0.0 166 5/17/2023