libyear-bundler 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3b113205ec01de873ddfdb08d3f57bae32d490e7c8507fd1a66a1fb6b3eb908b
4
- data.tar.gz: 6d8e7d769640f59408f32d348cbef9c3b0ac05afa4d599d1bf1263e6eb9c236c
3
+ metadata.gz: b928c7b46ecc15833f753d4b5400becf3159bb01f89ce4dfca13f134e85dc214
4
+ data.tar.gz: 84675a2d07aa5f953a0bb9521390ebf383005bcbf255ddfdac574e5b0a2b6de7
5
5
  SHA512:
6
- metadata.gz: e0faaddd13daf54352167af88c80299210f4cdb7bae8509406058f8322e5a0d1eb637d8d75a22cebc0a9384b6c60c2e2b7166561f52c7dee9aa9f43e283ea7af
7
- data.tar.gz: cbed8858a0ef38a2ce323354add6bd64035ffe43bd69cd41f0d381f5486c27b9d81d20e7e8e01424bd6eb5d5e5f93054a5ec3f6ed51a8d1581ffbad0eaae4859
6
+ metadata.gz: d20b10024dcd680f6a598d889a17a0cf42fd7bd9e531de0badaaab74dd60728b76baa4091e9737cbd7452125f2b9f153349b8381ff6087a860fb52838e2072bb
7
+ data.tar.gz: 51f690808ed6af0e8f36f84b54b13197873ecd4638948045f496fc1b555e54c4e02942a59279a0b1de1aaf9c332d70a637d50eb5df5cf2ebf29b0c1ba222043e
@@ -43,7 +43,7 @@ module LibyearBundler
43
43
  end
44
44
 
45
45
  def newest_version
46
- ::Gem::Version.new(all_stable_versions.first)
46
+ ::Gem::Version.new(all_stable_versions.first['version'])
47
47
  end
48
48
 
49
49
  def newest_version_release_date
@@ -92,10 +92,9 @@ module LibyearBundler
92
92
  # which we also implcitly do for gem versions because that's bundler's
93
93
  # default behavior
94
94
  def all_stable_versions
95
- stable_releases = all_versions.reject do |version|
95
+ all_versions.reject do |version|
96
96
  ::Gem::Version.new(version['version']).prerelease?
97
97
  end
98
- stable_releases.map { |release| release['version'] }
99
98
  end
100
99
 
101
100
  def installed_version_sequence_index
@@ -108,6 +107,11 @@ module LibyearBundler
108
107
 
109
108
  def release_date(version)
110
109
  v = all_stable_versions.detect { |ver| ver['version'] == version }
110
+
111
+ if v.nil?
112
+ raise format('Cannot determine release date for ruby %s', version)
113
+ end
114
+
111
115
  # YAML#safe_load provides an already-parsed Date object, so the following
112
116
  # is a Date object
113
117
  v['date']
@@ -124,7 +128,7 @@ module LibyearBundler
124
128
  # Sources:
125
129
  # - https://github.com/ruby/ruby/blob/trunk/version.h#L37
126
130
  # - https://ruby-doc.org/stdlib-1.9.3/libdoc/rubygems/rdoc/Version.html
127
- `ruby --version`.split[1].gsub(/p\d/, '')
131
+ `ruby --version`.split[1].gsub(/p\d*/, '')
128
132
  end
129
133
 
130
134
  def version_from_bundler
@@ -17,7 +17,13 @@ module LibyearBundler
17
17
 
18
18
  def to_s
19
19
  to_h[:gems].each { |gem| put_line_summary(gem) }
20
- put_line_summary(@ruby) if @ruby.outdated?
20
+
21
+ begin
22
+ put_line_summary(@ruby) if @ruby.outdated?
23
+ rescue StandardError => e
24
+ warn "Unable to calculate libyears for ruby itself: #{e} (line summary)"
25
+ end
26
+
21
27
  put_summary(to_h)
22
28
  end
23
29
 
@@ -30,7 +36,11 @@ module LibyearBundler
30
36
  }
31
37
  @gems.each { |gem| increment_metrics_summary(gem, summary) }
32
38
 
33
- increment_metrics_summary(@ruby, summary) if @ruby.outdated?
39
+ begin
40
+ increment_metrics_summary(@ruby, summary) if @ruby.outdated?
41
+ rescue StandardError => e
42
+ warn "Unable to calculate libyears for ruby itself: #{e}"
43
+ end
34
44
 
35
45
  summary
36
46
  end
@@ -1,3 +1,3 @@
1
1
  module LibyearBundler
2
- VERSION = "0.5.1".freeze
2
+ VERSION = "0.5.2".freeze
3
3
  end
@@ -12,8 +12,13 @@ Gem::Specification.new do |spec|
12
12
  spec.summary = "A simple measure of dependency freshness"
13
13
  spec.homepage = "https://libyear.com"
14
14
  spec.licenses = ["GPL-3.0"]
15
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
16
- f.match(%r{^(test|spec|features)/})
15
+ spec.files = `git ls-files -z`.split("\x0").select do |f|
16
+ f.start_with?('lib/') ||
17
+ [
18
+ 'bin/libyear-bundler',
19
+ 'libyear-bundler.gemspec',
20
+ 'LICENSE.txt'
21
+ ].include?(f)
17
22
  end
18
23
  spec.bindir = "bin"
19
24
  spec.executables = ["libyear-bundler"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libyear-bundler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jared Beck
@@ -66,17 +66,8 @@ executables:
66
66
  extensions: []
67
67
  extra_rdoc_files: []
68
68
  files:
69
- - ".gitignore"
70
- - ".rubocop.yml"
71
- - ".rubocop_todo.yml"
72
- - ".travis.yml"
73
- - CHANGELOG.md
74
- - CONTRIBUTING.md
75
- - Gemfile
76
69
  - LICENSE.txt
77
- - README.md
78
70
  - bin/libyear-bundler
79
- - bin/test
80
71
  - lib/libyear_bundler.rb
81
72
  - lib/libyear_bundler/bundle_outdated.rb
82
73
  - lib/libyear_bundler/calculators/libyear.rb
data/.gitignore DELETED
@@ -1,10 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /Gemfile.lock
4
- /_yardoc/
5
- /coverage/
6
- /doc/
7
- /pkg/
8
- /spec/reports/
9
- /tmp/
10
- .ruby-version
@@ -1,30 +0,0 @@
1
- inherit_from: .rubocop_todo.yml
2
-
3
- AllCops:
4
- TargetRubyVersion: 2.1.10
5
-
6
- Layout/IndentArray:
7
- EnforcedStyle: consistent
8
-
9
- Layout/MultilineMethodCallIndentation:
10
- EnforcedStyle: indented
11
-
12
- Metrics/AbcSize:
13
- Max: 27
14
-
15
- Metrics/BlockLength:
16
- Exclude:
17
- - 'spec/**/*'
18
-
19
- Metrics/ModuleLength:
20
- Exclude:
21
- - 'spec/**/*'
22
-
23
- Metrics/LineLength:
24
- Max: 100
25
-
26
- Metrics/MethodLength:
27
- Enabled: false
28
-
29
- Style/StringLiterals:
30
- Enabled: false
@@ -1,89 +0,0 @@
1
- # This configuration was generated by
2
- # `rubocop --auto-gen-config`
3
- # on 2017-11-29 16:15:16 -0500 using RuboCop version 0.51.0.
4
- # The point is for the user to remove these configuration records
5
- # one by one as the offenses are removed from the code base.
6
- # Note that changes in the inspected code, or installation of new
7
- # versions of RuboCop, may require this file to be generated again.
8
-
9
- # Offense count: 1
10
- # Cop supports --auto-correct.
11
- # Configuration parameters: EnforcedStyle, SupportedStyles.
12
- # SupportedStyles: leading, trailing
13
- Layout/DotPosition:
14
- Exclude:
15
- - 'spec/calculators/libyear_spec.rb'
16
-
17
- # Offense count: 1
18
- # Cop supports --auto-correct.
19
- Layout/EmptyLines:
20
- Exclude:
21
- - 'lib/libyear_bundler/cli.rb'
22
-
23
- # Offense count: 1
24
- # Cop supports --auto-correct.
25
- # Configuration parameters: EnforcedStyle, SupportedStyles.
26
- # SupportedStyles: auto_detection, squiggly, active_support, powerpack, unindent
27
- Layout/IndentHeredoc:
28
- Exclude:
29
- - 'lib/libyear_bundler/options.rb'
30
-
31
- # Offense count: 3
32
- # Configuration parameters: CountComments, ExcludedMethods.
33
- Metrics/BlockLength:
34
- Max: 40
35
-
36
- # Offense count: 1
37
- Metrics/ClassLength:
38
- Exclude:
39
- - 'lib/libyear_bundler/report.rb'
40
-
41
- # Offense count: 3
42
- # Configuration parameters: ExpectMatchingDefinition, Regex, IgnoreExecutableScripts, AllowedAcronyms.
43
- # AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS
44
- Naming/FileName:
45
- Exclude:
46
- - 'spec/gemfiles/Gemfile.bundler-1.14.rb'
47
- - 'spec/gemfiles/Gemfile.bundler-1.15.rb'
48
- - 'spec/gemfiles/Gemfile.bundler-1.16.rb'
49
-
50
- # Offense count: 1
51
- Style/Documentation:
52
- Exclude:
53
- - 'spec/**/*'
54
- - 'test/**/*'
55
-
56
- # Offense count: 1
57
- # Cop supports --auto-correct.
58
- Style/Encoding:
59
- Exclude:
60
- - 'libyear-bundler.gemspec'
61
-
62
- # Offense count: 1
63
- # Cop supports --auto-correct.
64
- Style/MutableConstant:
65
- Exclude:
66
- - 'lib/libyear_bundler/options.rb'
67
-
68
- # Offense count: 9
69
- # Cop supports --auto-correct.
70
- Style/StderrPuts:
71
- Exclude:
72
- - 'lib/libyear_bundler/bundle_outdated.rb'
73
- - 'lib/libyear_bundler/cli.rb'
74
- - 'lib/libyear_bundler/models/gem.rb'
75
-
76
- # Offense count: 2
77
- # Cop supports --auto-correct.
78
- # Configuration parameters: MinSize, SupportedStyles.
79
- # SupportedStyles: percent, brackets
80
- Style/SymbolArray:
81
- EnforcedStyle: brackets
82
-
83
- # Offense count: 1
84
- # Cop supports --auto-correct.
85
- # Configuration parameters: ExactNameMatch, AllowPredicates, AllowDSLWriters, IgnoreClassMethods, Whitelist.
86
- # Whitelist: to_ary, to_a, to_c, to_enum, to_h, to_hash, to_i, to_int, to_io, to_open, to_path, to_proc, to_r, to_regexp, to_str, to_s, to_sym
87
- Style/TrivialAccessors:
88
- Exclude:
89
- - 'lib/libyear_bundler/models/gem.rb'
@@ -1,11 +0,0 @@
1
- cache: bundler
2
- language: ruby
3
- rvm:
4
- - 2.4.2
5
- - 2.3.5
6
- - 2.2.8
7
- - 2.1.10
8
- script:
9
- - bundle exec rubocop
10
- - bundle exec rspec
11
- sudo: false
@@ -1,149 +0,0 @@
1
- # libyear
2
-
3
- This project follows [semver 2.0.0][1] and the recommendations
4
- of [keepachangelog.com][2].
5
-
6
- ## Unreleased
7
-
8
- Breaking changes:
9
-
10
- - None
11
-
12
- Added:
13
-
14
- - None
15
-
16
- Fixed:
17
-
18
- - None
19
-
20
- ## 0.5.1 (2019-05-09)
21
-
22
- Breaking changes:
23
-
24
- - None
25
-
26
- Added:
27
-
28
- - None
29
-
30
- Fixed:
31
-
32
- - Stable Ruby releases are no longer considered pre-releases (80534fa)
33
- - Avoid crash due to malformed version strings by skipping those dependencies (7b0b2cf)
34
-
35
- Dependencies:
36
-
37
- - Support bundler 2
38
-
39
- ## 0.5.0 (2017-12-27)
40
-
41
- Breaking changes:
42
-
43
- - None
44
-
45
- Added:
46
-
47
- - [#10](https://github.com/jaredbeck/libyear-bundler/pull/10)
48
- Include Ruby version in metrics calculations
49
-
50
- Fixed:
51
-
52
- - None
53
-
54
- ## 0.4.0 (2017-07-07)
55
-
56
- Breaking changes:
57
-
58
- - None
59
-
60
- Added:
61
-
62
- - [#3](https://github.com/jaredbeck/libyear-bundler/pull/3)
63
- Add --versions and --releases
64
-
65
- Fixed:
66
-
67
- - None
68
-
69
- ## 0.3.0 (2017-03-24)
70
-
71
- Breaking changes:
72
-
73
- - None
74
-
75
- Added:
76
-
77
- - [#1](https://github.com/jaredbeck/libyear-bundler/pull/1)
78
- Add --grand-total option
79
-
80
- Fixed:
81
-
82
- - None
83
-
84
- ## 0.2.0 (2017-03-10)
85
-
86
- Breaking changes:
87
-
88
- - Rename project
89
- - Rename project from libyear-rb to libyear-bundler
90
- - Rename binary from libyear to libyear-bundler
91
- - Discussion: https://github.com/jaredbeck/libyear-rb/issues/1
92
-
93
- Added:
94
-
95
- - None
96
-
97
- Fixed:
98
-
99
- - None
100
-
101
- ## 0.1.3 (2017-03-07)
102
-
103
- Breaking changes:
104
-
105
- - None
106
-
107
- Added:
108
-
109
- - None
110
-
111
- Fixed:
112
-
113
- - Don't crash when Gemfile uses git
114
-
115
- ## 0.1.2 (2017-02-16)
116
-
117
- Breaking changes:
118
-
119
- - None
120
-
121
- Added:
122
-
123
- - None
124
-
125
- Fixed:
126
-
127
- - Better handling of weird sources like rails-assets
128
- - Wider report columns
129
-
130
- ## 0.1.1 (2017-02-14)
131
-
132
- Breaking changes:
133
-
134
- - None
135
-
136
- Added:
137
-
138
- - None
139
-
140
- Fixed:
141
-
142
- - Better handling of error when bundle outdated fails
143
-
144
- ## 0.1.0 (2017-02-13)
145
-
146
- Initial version. Proof of concept.
147
-
148
- [1]: http://semver.org/spec/v2.0.0.html
149
- [2]: http://keepachangelog.com/
@@ -1,24 +0,0 @@
1
- # Contributing Guide
2
-
3
- ## Development
4
-
5
- Pull requests are welcome.
6
-
7
- ```bash
8
- bundle install
9
- bundle exec rspec
10
- ```
11
-
12
- ## Releases
13
-
14
- 1. Set the version in `lib/libyear_bundler/version.rb`
15
- - Follow SemVer
16
- - Only use integer-dot-integer-dot-integer format, never "pre-releases"
17
- 1. In the changelog,
18
- - Replace "Unreleased" with the date in ISO-8601 format
19
- - Add a new "Unreleased" section
20
- 1. Commit
21
- 1. git tag -a -m "v0.5.0" "v0.5.0" # or whatever number
22
- 1. git push --tags origin master
23
- 1. gem build libyear-bundler.gemspec
24
- 1. gem push libyear-bundler-0.5.0.gem
data/Gemfile DELETED
@@ -1,4 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in libyear.gemspec
4
- gemspec
data/README.md DELETED
@@ -1,141 +0,0 @@
1
- # Libyear
2
-
3
- A simple measure of dependency freshness for ruby apps.
4
-
5
- ```bash
6
- $ libyear-bundler Gemfile
7
- activesupport 4.2.7.1 2016-08-10 5.1.3 2017-08-03 1.0
8
- i18n 0.8.0 2017-01-31 0.8.6 2017-07-10 0.4
9
- json 1.8.6 2017-01-13 2.1.0 2017-04-18 0.3
10
- System is 1.7 libyears behind
11
- ```
12
-
13
- `libyear-bundler` tells you how out-of-date your Gemfile is, in *a single
14
- number*.
15
-
16
- # Install
17
-
18
- ```bash
19
- gem install libyear-bundler
20
- ```
21
-
22
- ## Usage
23
-
24
- Run `libyear-bundler` in a directory with a Gemfile.
25
-
26
- ### `--libyears` (default)
27
-
28
- Measures the time between your dependencies' installed and newest versions, in
29
- years.
30
-
31
- ```bash
32
- $ libyear-bundler Gemfile
33
- activesupport 4.2.7.1 2016-08-10 5.1.3 2017-08-03 1.0
34
- i18n 0.8.0 2017-01-31 0.8.6 2017-07-10 0.4
35
- json 1.8.6 2017-01-13 2.1.0 2017-04-18 0.3
36
- minitest 5.10.1 2016-12-02 5.10.3 2017-07-21 0.6
37
- minitest_to_rspec 0.6.0 2015-06-09 0.8.0 2017-01-02 1.6
38
- ruby_parser 3.8.4 2017-01-13 3.10.1 2017-07-21 0.5
39
- sexp_processor 4.8.0 2017-02-01 4.10.0 2017-07-17 0.5
40
- thread_safe 0.3.5 2015-03-11 0.3.6 2017-02-22 2.0
41
- tzinfo 1.2.2 2014-08-08 1.2.3 2017-03-25 2.6
42
- System is 9.4 libyears behind
43
-
44
- ```
45
-
46
- ### `--releases`
47
-
48
- Measures the number of releases between your dependencies' installed and newest
49
- versions
50
-
51
- ```bash
52
- $ libyear-bundler Gemfile --releases
53
- activesupport 4.2.7.1 2016-08-10 5.1.3 2017-08-03 37
54
- i18n 0.8.0 2017-01-31 0.8.6 2017-07-10 5
55
- json 1.8.6 2017-01-13 2.1.0 2017-04-18 12
56
- minitest 5.10.1 2016-12-02 5.10.3 2017-07-21 2
57
- minitest_to_rspec 0.6.0 2015-06-09 0.8.0 2017-01-02 5
58
- ruby_parser 3.8.4 2017-01-13 3.10.1 2017-07-21 3
59
- sexp_processor 4.8.0 2017-02-01 4.10.0 2017-07-17 3
60
- thread_safe 0.3.5 2015-03-11 0.3.6 2017-02-22 2
61
- tzinfo 1.2.2 2014-08-08 1.2.3 2017-03-25 1
62
- Total releases behind: 70
63
-
64
- ```
65
-
66
- ### `--versions`
67
-
68
- Measures the number of major, minor, and patch versions between your
69
- dependencies' installed and newest versions
70
-
71
- ```bash
72
- $ libyear-bundler Gemfile --versions
73
- activesupport 4.2.7.1 2016-08-10 5.1.3 2017-08-03 [1, 0, 0]
74
- i18n 0.8.0 2017-01-31 0.8.6 2017-07-10 [0, 0, 6]
75
- json 1.8.6 2017-01-13 2.1.0 2017-04-18 [1, 0, 0]
76
- minitest 5.10.1 2016-12-02 5.10.3 2017-07-21 [0, 0, 2]
77
- minitest_to_rspec 0.6.0 2015-06-09 0.8.0 2017-01-02 [0, 2, 0]
78
- ruby_parser 3.8.4 2017-01-13 3.10.1 2017-07-21 [0, 2, 0]
79
- sexp_processor 4.8.0 2017-02-01 4.10.0 2017-07-17 [0, 2, 0]
80
- thread_safe 0.3.5 2015-03-11 0.3.6 2017-02-22 [0, 0, 1]
81
- tzinfo 1.2.2 2014-08-08 1.2.3 2017-03-25 [0, 0, 1]
82
- Major, minor, patch versions behind: 2, 6, 10
83
-
84
- ```
85
-
86
- ### `--all`
87
-
88
- Returns relevant data for each outdated gem, including 'libyears', 'releases',
89
- and 'versions' metrics
90
-
91
- ```bash
92
- $ libyear-bundler Gemfile --all
93
- activesupport 4.2.7.1 2016-08-10 5.1.3 2017-08-03 1.0 37 [1, 0, 0]
94
- i18n 0.8.0 2017-01-31 0.8.6 2017-07-10 0.4 5 [0, 0, 6]
95
- json 1.8.6 2017-01-13 2.1.0 2017-04-18 0.3 12 [1, 0, 0]
96
- minitest 5.10.1 2016-12-02 5.10.3 2017-07-21 0.6 2 [0, 0, 2]
97
- minitest_to_rspec 0.6.0 2015-06-09 0.8.0 2017-01-02 1.6 5 [0, 2, 0]
98
- ruby_parser 3.8.4 2017-01-13 3.10.1 2017-07-21 0.5 3 [0, 2, 0]
99
- sexp_processor 4.8.0 2017-02-01 4.10.0 2017-07-17 0.5 3 [0, 2, 0]
100
- thread_safe 0.3.5 2015-03-11 0.3.6 2017-02-22 2.0 2 [0, 0, 1]
101
- tzinfo 1.2.2 2014-08-08 1.2.3 2017-03-25 2.6 1 [0, 0, 1]
102
- System is 9.4 libyears behind
103
- Total releases behind: 70
104
- Major, minor, patch versions behind: 2, 6, 10
105
- ```
106
-
107
- ### `--grand-total`
108
-
109
- With no other options, returns the grand-total of libyears. Used with other
110
- flags, returns the associated grand-total.
111
-
112
- ```bash
113
- $ libyear-bundler Gemfile --grand-total
114
- 9.4
115
-
116
- $ libyear-bundler Gemfile --releases --grand-total
117
- 70
118
-
119
- $ libyear-bundler Gemfile --versions --grand-total
120
- [2, 6, 10]
121
-
122
- $ libyear-bundler Gemfile --all --grand-total
123
- 9.4
124
- 70
125
- [2, 6, 10]
126
- ```
127
-
128
- ## Contributing
129
-
130
- See CONTRIBUTING.md
131
-
132
- ## Acknowledgements
133
-
134
- The inspiration for libyear comes from the technical report “Measuring
135
- Dependency Freshness in Software Systems”[1].
136
-
137
- ---
138
- [1] J. Cox, E. Bouwers, M. van Eekelen and J. Visser, Measuring Dependency
139
- Freshness in Software Systems. In Proceedings of the 37th International
140
- Conference on Software Engineering (ICSE 2015), May 2015
141
- https://ericbouwers.github.io/papers/icse15.pdf
data/bin/test DELETED
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- set -e
4
-
5
- bundle exec rubocop
6
- bundle exec rspec