liz (ˈlɪz - like the nickname for a person named "Elizabeth") is a tool to extract license-information from your project/solution aimed on a fast and correct process. Whether it's via a dotnet-CLI-Tool, Cake-Addin or Nuke-Addon.
Tool | Documentation | Version | Downloads | Supported Version |
---|---|---|---|---|
Liz.Tool |
link | - |
||
Cake.ExtractLicenses |
link | >= 3.0.0 |
||
Liz.Nuke |
link | >= 6.0.0 |
liz currently supports the following features:
- Determining all (also with transitive if desired) dependencies for the given solution/project for SDK-style and non-SDK-style projects
- Extract license information (type, URL, text) from all currently known sources for these dependencies
- Print the found dependencies including their license information to the console/log
- Print the problems that occured during the process (missing license-information) to the console/log
- (Try to) determine the license-type from the license-text, if no license-type could be determined
- (Try to) determine the license-type from the license-url, if no license-type could be determined
- Validate the determined package-references and their license-types against a provided whitelist/blacklist
- Export license-information in various forms:
- license-texts into text-files in a given directory
- all the gathered information into a single JSON-file
- Filtering
- Exclude projects by file-path using glob-patterns
- Exclude packages by name using glob-patterns
- #11 & #12 Mapping from package-reference to license-information
- #6 Ability to provide manual dependencies
- #1 Caching for even faster analyzation times
- #28 Sanitize HTML-Tags
Analyzing SDK-Style projects at least requires:
- .NET Core SDK 2.2 (for the
dotnet
CLI)- Get it here:
- It has to be globally available through the command line (verify with
dotnet --version
)
Analyzing Non-SDK-Style projects at least requires:
- NuGet CLI (aka
nuget.exe
) 2.7- Get it here:
- It has to be globally available through the command line (verify with
nuget help
)
To develop and work with liz you just need to clone this Repo somewhere on your PC and then open the Solution or the complete Source-Folder (under src
) with your favorite IDE. No additional tools required.
Before you can start, you should restore all NuGet-Packages using dotnet restore
if that's not done for you by your IDE.
As this uses .NET 7.0, you need to install the .NET 7.0.x SDK (as configured by the global.json
).
Cool! We're always welcoming anyone that wants to contribute to this project! Take a look at the Contributing Guidelines, which helps you get started. You can also look at the Open Issues for getting more info about current or upcoming tasks.
If you have any questions, doubts, ideas, problems or you simply want to present your opinions and views, feel free to hop into Discussions and write about what you care about. We'd love to hear from you!