Skip to content

Commit

Permalink
add script/check-approval
Browse files Browse the repository at this point in the history
  • Loading branch information
benbalter committed Jan 18, 2016
1 parent 7a32aad commit 8e56bb8
Show file tree
Hide file tree
Showing 3 changed files with 63 additions and 0 deletions.
5 changes: 5 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@ source "https://rubygems.org"
gem "github-pages"
gem "jekyll-seo-tag"

group :development do
gem 'colored'
gem 'terminal-table'
end

group :test do
gem 'html-proofer', '2.5.2'
gem "rake"
Expand Down
2 changes: 2 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -166,12 +166,14 @@ PLATFORMS
ruby

DEPENDENCIES
colored
github-pages
html-proofer (= 2.5.2)
jekyll-seo-tag
nokogiri
rake
rspec
terminal-table

BUNDLED WITH
1.11.2
56 changes: 56 additions & 0 deletions script/check-approval
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
#!/usr/bin/env ruby
# Checks if a given license meets the approval criteria to be added to choosealicense.com
# See https://github.com/github/choosealicense.com/blob/gh-pages/CONTRIBUTING.md#adding-a-license
# Usage: script/check-approval [SPDX LICENSE ID]

require_relative '../spec/spec_helper'
require 'terminal-table'
require 'colored'

# Display usage instructions
if ARGV.count != 1
puts File.open(__FILE__).read.scan(/^# .*/)[0...3].join("\n").gsub(/^# /,"")
end

class TrueClass
def to_s
"Yes".green
end
end

class FalseClass
def to_s
"No".red
end
end

license = ARGV[0].downcase.strip
approvals = {
"OSI": osi_approved_licenses,
"FSF": fsf_approved_licenses,
"OD": od_approved_licenses
}

id, spdx = find_spdx(license)
rows = []

if spdx.nil?
id = "Invalid".red
name = "None".red
else
id = id.green
name = spdx["name"].green
end

rows << ["SPDX ID", id]
rows << ["SPDX Name", name]

approvals.each do |name, licenses|
rows << ["#{name} approved", licenses.include?(license)]
end

rows << :separator
elligible = !!(spdx && approved_licenses.include?(license))
rows << ["Elligible", elligible]

puts Terminal::Table.new title: "License: #{license}", rows: rows

0 comments on commit 8e56bb8

Please sign in to comment.