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
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package TomsToolbox.LicenseGenerator --version 1.6.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
License Generator
A DotNet tool to create a license file AKA NOTICE.TXT for all referenced nuget packages.
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 | Versions 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.