Skip to content

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

License

wgnf/liz

Repository files navigation

liz logo

GitHub license Uses SemVer 2.0.0 Latest Release codecov
GitHub stars GitHub forks GitHub 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 Latest Release .NET Tool Downloads .NET Tool -
Cake.ExtractLicenses link Latest Release Cake Addin Downloads Cake Addin >= 3.0.0
Liz.Nuke link Latest Release Nuke Addon Downloads Nuke Addon >= 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

Planned features

  • #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

🛠️ Requirements

SDK-Style projects

Analyzing SDK-Style projects at least requires:

  • .NET Core SDK 2.2 (for the dotnet CLI)
  • 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
  • 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, which helps you get started. You can also look at the Open 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 and write about what you care about. We'd love to hear from you!

About

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

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Languages