https://github.com/wgnf/liz
liz (ˈlɪz) 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
https://github.com/wgnf/liz
cake cake-addin cake-build dotnet dotnet-core dotnet-tool dotnetcore license license-management licenses nuke nuke-addon nuke-build
Last synced: 5 months ago
JSON representation
liz (ˈlɪz) 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
- Host: GitHub
- URL: https://github.com/wgnf/liz
- Owner: wgnf
- License: mit
- Created: 2021-09-01T17:34:57.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2024-10-11T18:10:50.000Z (over 1 year ago)
- Last Synced: 2025-10-23T03:30:47.975Z (7 months ago)
- Topics: cake, cake-addin, cake-build, dotnet, dotnet-core, dotnet-tool, dotnetcore, license, license-management, licenses, nuke, nuke-addon, nuke-build
- Language: C#
- Homepage:
- Size: 2.9 MB
- Stars: 10
- Watchers: 1
- Forks: 0
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README

[](LICENSE)
[](https://semver.org/spec/v2.0.0.html)
[](https://github.com/wgnf/liz/releases)
[](https://codecov.io/gh/wgnf/liz)
[](https://github.com/wgnf/liz/stargazers)
[](https://github.com/wgnf/liz/network/members)
[](https://github.com/wgnf/liz/watchers)
**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.
---
## 🖥️ Tools
| Tool | Documentation | Version | Downloads | Supported Version |
|------|---------------|---------|-----------|-------------------|
| `Liz.Tool` | [link](doc/documentation-dotnet-tool.md) | [](https://www.nuget.org/packages/Liz.Tool/) | [](https://www.nuget.org/packages/Liz.Tool/) | `-` |
| `Cake.ExtractLicenses` | [link](doc/documenation-cake-addin.md) | [](https://www.nuget.org/packages/Cake.ExtractLicenses/) | [](https://www.nuget.org/packages/Cake.ExtractLicenses/) | `>= 3.0.0` |
| `Liz.Nuke` | [link](doc/documentation-nuke-addon.md) | [](https://www.nuget.org/packages/Liz.Nuke/) | [](https://www.nuget.org/packages/Liz.Nuke/) | `>= 6.0.0` |
## 🌐 Features
**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](https://github.com/dazinator/DotNet.Glob/tree/3.1.3#patterns)
- Exclude packages by name using [glob-patterns](https://github.com/dazinator/DotNet.Glob/tree/3.1.3#patterns)
### Planned features
- [#11](https://github.com/wgnf/liz/issues/11) & [#12](https://github.com/wgnf/liz/issues/12) Mapping from package-reference to license-information
- [#6](https://github.com/wgnf/liz/issues/6) Ability to provide manual dependencies
- [#1](https://github.com/wgnf/liz/issues/1) Caching for even faster analyzation times
- [#28](https://github.com/wgnf/liz/issues/28) Sanitize HTML-Tags
## 🛠️ Requirements
### SDK-Style projects
Analyzing SDK-Style projects at least requires:
- .NET Core SDK **2.2** (for the `dotnet` CLI)
- Get it here:
- [Official Website](https://dotnet.microsoft.com/en-us/download/dotnet/2.2)
- [Chocolatey](https://community.chocolatey.org/packages/dotnetcore-2.2-sdk)
- It has to be globally available through the command line (verify with `dotnet --version`)
### Non-SDK-Style projects
Analyzing Non-SDK-Style projects at least requires:
- NuGet CLI (aka `nuget.exe`) **2.7**
- Get it here:
- [Official Website](https://www.nuget.org/downloads)
- [Chocolatey](https://community.chocolatey.org/packages/NuGet.CommandLine)
- It has to be globally available through the command line (verify with `nuget help`)
## ⌨️ Developing
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`).
## 👋 Want to Contribute?
Cool! We're always welcoming anyone that wants to contribute to this project! Take a look at the [Contributing Guidelines](CONTRIBUTING.md), which helps you get started. You can also look at the [Open Issues](https://github.com/wgnf/liz/issues) for getting more info about current or upcoming tasks.
## 💬 Want to discuss?
If you have any questions, doubts, ideas, problems or you simply want to present your opinions and views, feel free to hop into [Discussions](https://github.com/wgnf/liz/discussions) and write about what you care about. We'd love to hear from you!