gempendencies 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/gempendencies +13 -12
- data/lib/gempendencies/gem_info.rb +35 -0
- data/lib/gempendencies/version.rb +1 -1
- metadata +2 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 66c6b02ac30e6061bb9b805320a68ae37d19ca1af5c15f3df6eb0bc406478c45
|
4
|
+
data.tar.gz: 5b3feb8a468ea87fa5b825e31dfd13a5e6ea026104cfdf7f51280d17ebd0ed8c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a5961d06fdf4fe1ef430fa0ce1cb4801cff54ece9ecacdddb6f0ecb73c47167217dea7a2599ee5b8a7ded9a0f8f2b1ae9eb77ebddc1a64b56d09517c567f3fc7
|
7
|
+
data.tar.gz: 67059fbc266bfd2d3a357c7c9154dd6206167781cc3e27734c1ffdb49d8c5a001c2bd16ed74300e51aba8abf7044bf296b7aaddc5fe9453cf499e433e3c327fe
|
data/bin/gempendencies
CHANGED
@@ -1,21 +1,22 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
unless File.exist?('./Rakefile') || File.exist?('./Gemfile')
|
4
|
-
|
5
|
-
end
|
3
|
+
# unless File.exist?('./Rakefile') || File.exist?('./Gemfile')
|
4
|
+
# abort 'Please run gempendencies from the root of the project.'
|
5
|
+
# end
|
6
6
|
|
7
7
|
require 'rubygems'
|
8
|
+
require 'gempendencies'
|
9
|
+
require 'gempendencies/gem_info'
|
10
|
+
|
11
|
+
here = File.expand_path(File.dirname __FILE__)
|
12
|
+
$LOAD_PATH << "#{here}/../lib"
|
13
|
+
|
8
14
|
begin
|
9
15
|
require 'bundler'
|
10
16
|
Bundler.setup
|
17
|
+
# If we're in a Bundler-managed project, then build the information for it
|
18
|
+
Gempendencies::GemInfo.new.build
|
11
19
|
rescue StandardError => e
|
12
|
-
|
20
|
+
# Otherwise, look for nested projects that have .gempendencies info and aggregate it
|
21
|
+
Gempendencies::GemInfo.new.aggregate
|
13
22
|
end
|
14
|
-
|
15
|
-
here = File.expand_path(File.dirname __FILE__)
|
16
|
-
$LOAD_PATH << "#{here}/../lib"
|
17
|
-
|
18
|
-
require 'gempendencies'
|
19
|
-
require 'gempendencies/gem_info'
|
20
|
-
|
21
|
-
Gempendencies::GemInfo.new.build
|
@@ -159,6 +159,41 @@ module Gempendencies
|
|
159
159
|
contents
|
160
160
|
end
|
161
161
|
|
162
|
+
def aggregate
|
163
|
+
data = {}
|
164
|
+
total_counts = Hash.new(0)
|
165
|
+
puts "Searching recursively for nested .gempendencies to aggregate"
|
166
|
+
paths = `find . -iname "license_info.yaml"`
|
167
|
+
paths.split("\n").each do |path|
|
168
|
+
"./business_rules/.gempendencies/license_info.yaml"
|
169
|
+
puts path
|
170
|
+
project_name = path.match(/.\/(.*)\/\.gem.*/)[1]
|
171
|
+
licenses = YAML.load_file(path)
|
172
|
+
data[project_name] = licenses
|
173
|
+
licenses.each do |name, count|
|
174
|
+
total_counts[name] += count
|
175
|
+
end
|
176
|
+
end
|
177
|
+
data['TOTALS'] = total_counts
|
178
|
+
# order output columns by most common license
|
179
|
+
puts "-" * 60
|
180
|
+
puts " Start CSV output"
|
181
|
+
puts "-" * 60
|
182
|
+
columns = Hash[total_counts.sort{|a,b| b[1] <=> a[1]}].keys
|
183
|
+
puts (['project'] + columns).join(',')
|
184
|
+
data.each do |project_name, counts|
|
185
|
+
print project_name
|
186
|
+
columns.each do |col|
|
187
|
+
print ','
|
188
|
+
print counts[col]
|
189
|
+
end
|
190
|
+
puts
|
191
|
+
end
|
192
|
+
puts "-" * 60
|
193
|
+
puts " End CSV output"
|
194
|
+
puts "-" * 60
|
195
|
+
end
|
196
|
+
|
162
197
|
def build(load_github_metadata = false)
|
163
198
|
if !File.exist?(".gempendencies/gem_info.yaml")
|
164
199
|
build_gem_info_txt
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gempendencies
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Darren Hicks
|
@@ -101,8 +101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
101
101
|
- !ruby/object:Gem::Version
|
102
102
|
version: '0'
|
103
103
|
requirements: []
|
104
|
-
|
105
|
-
rubygems_version: 2.7.9
|
104
|
+
rubygems_version: 3.2.16
|
106
105
|
signing_key:
|
107
106
|
specification_version: 4
|
108
107
|
summary: Builds a comprehensive list of gems used by your project and summarizes the
|