Skip to content

Fetch licenses of dependencies at build time and embed them into your program.

License

BSL-1.0, Unknown licenses found

Licenses found

BSL-1.0
LICENSE
Unknown
license-fetcher.code-workspace
Notifications You must be signed in to change notification settings

WyvernIXTL/license-fetcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

license-fetcher

Fetch licenses of dependencies at build time and embed them into your program.

Crates.io Version GitHub License docs.rs dependency status

Aspirations

  1. Fetch licenses!
  2. Fast!
  3. Do it in the build step!

Workings

Crates that are compiled with your program are fetched via cargo metadata. License texts are read from the .cargo/registry/src folder. The data is then serialized and compressed.

Usage

Include Dependency

Warning

Include this library as build dependency and as normal dependeny!

cargo add --build --features build license-fetcher
cargo add license-fetcher

Build Script

This library requires you to execute it for fetching licenses in a build script. Creat a file called build.rs in the root of your project and add following contents:

use license_fetcher::build_script::generate_package_list_with_licenses;

fn main() {
    generate_package_list_with_licenses().write();
    println!("cargo::rerun-if-changed=build.rs");
    println!("cargo::rerun-if-changed=Cargo.lock");
    println!("cargo::rerun-if-changed=Cargo.toml");
}

Main

Add following content to your main.rs:

use license_fetcher::get_package_list_macro;

fn main() {
    let packages = get_package_list_macro!();
    println!("{}", packages);
}

Alternatives

Pros

  • Also retrieves licenses in the build step and loads them into the program.

Cons

  • Does not fetch licenses from loacal source files.
  • Very slow.
  • Does not compress licenses.

Pros

  • Generates very nice html.

Cons

  • Is not a library to access said data but rather a command line tool.
  • Does not fetch licenses from loacal source files.

Screenshots

Display trait included 😉

Screenshot

About

Fetch licenses of dependencies at build time and embed them into your program.

Resources

License

BSL-1.0, Unknown licenses found

Licenses found

BSL-1.0
LICENSE
Unknown
license-fetcher.code-workspace

Stars

Watchers

Forks

Packages

No packages published

Languages