summaryrefslogtreecommitdiff
path: root/dev-tools/extract_party_license.rb
diff options
context:
space:
mode:
Diffstat (limited to 'dev-tools/extract_party_license.rb')
-rw-r--r--dev-tools/extract_party_license.rb54
1 files changed, 54 insertions, 0 deletions
diff --git a/dev-tools/extract_party_license.rb b/dev-tools/extract_party_license.rb
new file mode 100644
index 0000000..e3326e6
--- /dev/null
+++ b/dev-tools/extract_party_license.rb
@@ -0,0 +1,54 @@
+#!/bin/env ruby
+# Licensed to Elasticsearch under one or more contributor
+# license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright
+# ownership. Elasticsearch licenses this file to you under
+# the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on
+# an 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+# either express or implied. See the License for the specific
+# language governing permissions and limitations under the License
+#
+# The script extract license information out of logstash project
+# First it will use license information out of gem object.
+# If that is not available, it will try to print out the license file
+#
+require 'rubygems'
+require 'bundler/setup'
+require 'yaml'
+
+# get all local installed gems
+def all_installed_gems
+ Gem::Specification.all = nil
+ all = Gem::Specification
+ Gem::Specification.reset
+ all
+end
+
+all_installed_gems.select {|y| y.gem_dir.include?('vendor') }.sort {|v, u| v.name <=> u.name }.each do |x|
+ puts '='*80 #seperator
+ if(x.license) #ah gem has license information
+ puts "%s,%s,%s,%s,%s"%[x.name, x.version, x.license, x.homepage, x.email]
+ else
+ puts "%s,%s,%s,%s"%[x.name, x.version, x.homepage, x.email]
+ license_file = Dir.glob(File.join(x.gem_dir,'LICENSE*')).first #see if there is a license file
+ if(license_file)
+ file = File.open(license_file, 'r')
+ data = file.read
+ file.close
+ puts data
+ else
+ #no license file.. try to print some gem information
+ puts 'No License File'
+ puts x.gem_dir
+ puts x.files.join("\n")
+ end
+ end
+end
+