RubyGems Navigation menu

licensed 0.11.0

# Licensed Licensed is a Ruby gem to cache and verify the licenses of dependencies. ## Installation Add this line to your application's Gemfile: ```ruby gem 'licensed', :group => 'development' ``` And then execute: $ bundle ## Usage - `licensed cache`: Cache licenses and metadata in `vendor/licenses` - `licensed verify`: Check for issues with the licenses of dependencies. For example: ``` $ bundle exec licensed verify Verifying licenses for 3 dependencies Warnings: vendor/licenses/rubygem/bundler.txt: - license needs reviewed: mit. vendor/licenses/rubygem/licensee.txt: - missing license data vendor/licenses/bower/jquery.txt: - license needs reviewed: mit. - cached license data out of date 3 dependencies checked, 3 warnings found. ``` ### Configuration Configuration is managed by `vendor/licenses/config.yml`. ```yml # Dependencies with these licenses are approved by default. whitelist: - mit - apache-2.0 - bsd-2-clause - bsd-3-clause - cc0-1.0 # These dependencies are explicitly ignored. ignored: rubygem: - some-internal-gem bower: - some-internal-package # These dependencies have been reviewed. reviewed: rubygem: - bcrypt-ruby bower: - classlist # public domain - octicons ``` ### Sources Dependencies will be automatically detected for 1. Bundler (rubygem) 2. NPM 3. Bower 4. HaskellStack 5. Cabal 6. Go 7. Manifest lists You can disable any of them in `vendor/licenses/config.yml`: ```yml sources: rubygem: false npm: false bower: false stack: false ``` #### Special Considerations for Sources ##### rubygem The rubygem source will explicitly exclude gems in the `:development` and `:test` groups. Be aware that if you have a local bundler configuration (e.g. `.bundle`), that configuration will be respected as well. For example, if you have a local configuration set for `without: [':server']`, the rubygem source will exclude all gems in the `:server` group. ##### cabal Cabal sourced dependencies are found exclusively through `ghc-pkg`. `licensed` makes no assumptions on where `ghc` package dbs are found. As a result, it is up to the caller to set `GHC_PACKAGE_PATHS` to all package db directories prior to calling into `licensed`. ##### manifests Manifests are intended to be a stopgap if no package managers are available. The manifest is a JSON file that should be placed in the same directory as `config.yml` and should have the following format ```JSON { "file1": "package1", "path/to/file2": "package1", "other/file3": "package2" } ``` Paths to files are expected to be relative to the git repository root. Package names will match 1:1 with metadata files at `<licenses directory>/manifest/*.txt`. It is the responsibility of the repository owner to maintain the manifest file. ## Development After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). #### Adding sources When adding new dependency sources, ensure that `bin/setup` scripting and tests are only run if the required tooling is available on the development machine. * See `bin/setup` for examples of gating scripting based on whether tooling executables are found. * Use `tool_available?` when writing test files to gate running a test suite when tooling executables aren't available. ```ruby if tool_available?('bundle') describe Licensed::Source::Bundler do ... end end ``` ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/github/licensed. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org/) code of conduct. ## License The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).

Gemfile:
=

install:
=

Versions:

  1. 5.0.0 October 04, 2024 (83.5 KB)
  2. 4.5.0 August 06, 2024 (83.5 KB)
  3. 4.4.0 May 26, 2023 (83.5 KB)
  4. 4.3.1 April 12, 2023 (83 KB)
  5. 4.3.0 March 20, 2023 (83 KB)
  6. 0.11.0 October 23, 2017 (19 KB)
Show all versions (90 total)

Runtime Dependencies (4):

licensee ~> 9.0
octokit ~> 4.0
thor ~> 0.19

Development Dependencies (5):

bundler ~> 1.10
minitest ~> 5.8
rake ~> 10.0
vcr ~> 2.9
webmock ~> 1.21

Owners:

Authors:

  • GitHub

SHA 256 checksum:

=

Total downloads 4,286,484

For this version 2,141

Version Released:

License:

MIT

Required Ruby Version: >= 0

Links: