2022年12月27日火曜日

licensee を使って gem のライセンス情報を取得してみる

licensee を使って gem のライセンス情報を取得してみる

概要

gem のライセンスを licensee を使って取得してみました
使用している gem のライセンスチェックをする際に使用できます

環境

  • macOS 11.7.2
  • Ruby 3.1.2
    • licensee 9.15.3
  • cmake 3.25.1

cmake のインストール

native extension で cmake に依存しているため事前にインストールしておきます

  • brew install cmake

licensee のインストール

  • gem install licensee

ライセンスチェック

  • licensee detect vendor/ruby/3.1.0/gems/sinatra-3.0.5
License:        MIT
Matched files:  LICENSE, sinatra.gemspec
LICENSE:
  Content hash:  4c2c763d64bbc7ef2e58b0ec6d06d90cee9755c9
  Attribution:   Copyright (c) 2007, 2008, 2009 Blake Mizerany
Copyright (c) 2010-2017 Konstantin Haase
Copyright (c) 2015-2017 Zachary Scott
  Confidence:    100.00%
  Matcher:       Licensee::Matchers::Exact
  License:       MIT
sinatra.gemspec:
  Confidence:  90.00%
  Matcher:     Licensee::Matchers::Gemspec
  License:     MIT

再帰的にチェックする

残念ながらコマンドラインから再帰的にチェックする機能はないので Ruby で直接チェックしましょう

require "licensee"

dirs = Dir.glob("./vendor/ruby/3.1.0/gems/*")

dirs.each do |dir|
  puts dir

  project = Licensee.project dir
  project.licenses.each do |license|
    puts license.key
  end

  # or
  # license = Licensee.license dir
  # puts license.key unless license.nil?
end

参考サイト

0 件のコメント:

コメントを投稿