meta_dep v0.1.2 MetaDep

MetaDep is an library application that can also be used as an escript or mix task.

MetaDep is a convenience app that allows you to list meta information about all project dependencies. It supports a number of cmdline arguments and can list the following for each dependency:

  • Licenses - A list of licenses such as MIT, BSD, etc.
  • Maintainers - Maintanters of the project
  • Repo - Link to the git repo

NOTE: Parses hex_metadataa.config to obtain meta information

Cmdline Options

  • -l, --licences returns all licenses for all deps
  • -v, --verbose returns all meta data for all deps
  • -d, --dep return meta data for specified dependency
  • -p, --path path to directory containing deps directories, returns license info for all deps
  • -ld returns license info for specific dependency
  • -vd returns all meta data for specific dependency

Usage:

$ mix meta_dep -p ./deps -ld bunt
{"bunt", %{"Licenses" => "MIT, Apache2"}}

$ mix meta_dep -p ./deps -vd bunt
{"bunt",
  %{
    "Licenses" => "MIT, Apache2",
    "Maintainers" => "René Föhring",
    "Repo" => "https://github.com/rrrene/bunt"
  }}

$ mix meta_dep -l
  {"bunt", %{"Licenses" => "MIT, Apache2"}}
  {"chumak", %{"Licenses" => "MPLv2"}}
  {"cowboy", %{"Licenses" => "ISC"}}
  {"cowlib", %{"Licenses" => "ISC"}}
  {"jason", %{"Licenses" => "Apache 20"}}
  {"licensir", %{"Licenses" => "MIT"}}
  {"mime", %{"Licenses" => "Apache 2"}}
  {"plug", %{"Licenses" => "Apache 2"}}
  {"plug_cowboy", %{"Licenses" => "Apache 2"}}
  {"plug_crypto", %{"Licenses" => "Apache 2"}}
  {"ranch", %{"Licenses" => "ISC"}}
  {"sweet_xml", %{"Licenses" => "MIT"}}

Link to this section Summary

Functions

extract_meta_data/2 parses the file hex_metadataa.config to extract meta data for dependencies

The function main is the entry point for escript and mix task and takes cmdline arguments in the form of [String.t()]

The function options takes the cmdline arguments and parses them to options for application

print_to_console/1 prints the map representing the meta information for dependencies

update_meta_dep/2 expects a map representing the meta information for dependencies and a tulip object resulting from parsing meta file. The map is updated with information from tulple and returned

Link to this section Functions

Link to this function extract_meta_data()
extract_meta_data() :: map()

extract_meta_data/0 call extract_meta_data/2 with default values

Link to this function extract_meta_data(path, dep \\ "*")
extract_meta_data(String.t(), String.t()) :: map()

extract_meta_data/2 parses the file hex_metadataa.config to extract meta data for dependencies.

Link to this function main(argv)
main([String.t()]) :: :ok

The function main is the entry point for escript and mix task and takes cmdline arguments in the form of [String.t()]

Link to this function options(argv)
options([String.t()]) :: map()

The function options takes the cmdline arguments and parses them to options for application.

Link to this function update_meta_dep(m, dep)
update_meta_dep(map(), tuple()) :: map()

update_meta_dep/2 expects a map representing the meta information for dependencies and a tulip object resulting from parsing meta file. The map is updated with information from tulple and returned.