avm-tools 0.117.2 → 0.119.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avm/tools/runner/app_src/info.rb +0 -8
  3. data/lib/avm/tools/runner/app_src/subs.rb +71 -0
  4. data/lib/avm/tools/runner/app_src.rb +2 -0
  5. data/lib/avm/tools/runner/eac_redmine_base0/core_update.rb +1 -1
  6. data/lib/avm/tools/version.rb +1 -1
  7. data/sub/avm/lib/avm/sources/base/configuration.rb +13 -6
  8. data/sub/avm/lib/avm/sources/base/subs.rb +55 -0
  9. data/sub/avm/lib/avm/sources/base/subs_paths.rb +32 -0
  10. data/sub/avm/lib/avm/sources/base.rb +10 -5
  11. data/sub/avm/lib/avm/version.rb +1 -1
  12. data/sub/avm-eac_rails_base0/avm-eac_rails_base0.gemspec +1 -1
  13. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/sources/base.rb +27 -0
  14. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/version.rb +1 -1
  15. data/sub/avm-eac_rails_base1/avm-eac_rails_base1.gemspec +1 -0
  16. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/sources/base.rb +27 -0
  17. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/version.rb +1 -1
  18. data/sub/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +1 -1
  19. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/core_update.rb +4 -0
  20. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base.rb +27 -0
  21. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/version.rb +1 -1
  22. data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +2 -1
  23. data/{lib/avm/ruby → sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/bundler/incompatible_parser/depends_on.rb +3 -3
  24. data/{lib/avm/ruby → sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/bundler/incompatible_parser/gem_conflict.rb +11 -6
  25. data/{lib/avm/ruby → sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/bundler/incompatible_parser/in_gemfile.rb +3 -3
  26. data/{lib/avm/ruby → sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/bundler/incompatible_parser/line_buffer.rb +3 -3
  27. data/{lib/avm/ruby → sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/bundler/incompatible_parser/line_factory.rb +4 -4
  28. data/{lib/avm/ruby → sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/bundler/incompatible_parser/line_parser_base.rb +1 -1
  29. data/{lib/avm/ruby → sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/bundler/incompatible_parser/version_requirement.rb +4 -4
  30. data/{lib/avm/ruby → sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/bundler/incompatible_parser.rb +2 -2
  31. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundle_command.rb +39 -0
  32. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundler.rb +39 -0
  33. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base.rb +7 -2
  34. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/incompatible.rb +76 -0
  35. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler.rb +19 -0
  36. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners.rb +13 -0
  37. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +1 -1
  38. data/sub/avm-eac_ruby_base1/locale/{en.yaml → en.yml} +0 -0
  39. data/sub/avm-eac_ruby_base1/locale/{pt-BR.yaml → pt-BR.yml} +0 -0
  40. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec.rb +7 -0
  41. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.source.out +192 -0
  42. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.target.yaml +300 -0
  43. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.source.out +245 -0
  44. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.target.yaml +355 -0
  45. metadata +34 -19
  46. data/lib/avm/tools/runner/app_src/ruby/bundler/incompatible.rb +0 -82
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_generic_base0/sources/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+ require 'eac_ruby_utils/ruby/command'
6
+
7
+ module Avm
8
+ module EacRubyBase1
9
+ module Sources
10
+ class Base < ::Avm::EacGenericBase0::Sources::Base
11
+ class BundleCommand < ::EacRubyUtils::Ruby::Command
12
+ GEMFILE_PATH_ENVVAR = 'BUNDLE_GEMFILE'
13
+
14
+ attr_reader :source
15
+
16
+ def initialize(source, command_args, extra_options = {})
17
+ @source = source
18
+ super(command_args, extra_options.merge(host_env: source.env))
19
+ end
20
+
21
+ # Changes current directory to the source's directory.
22
+ def chdir_root
23
+ chdir(source.path)
24
+ end
25
+
26
+ def envvar_gemfile
27
+ envvar(GEMFILE_PATH_ENVVAR, source.gemfile_path.to_path)
28
+ end
29
+
30
+ protected
31
+
32
+ def duplicate(command, extra_options)
33
+ self.class.new(source, command, extra_options)
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_generic_base0/sources/base'
4
+ require 'avm/eac_ruby_base1/sources/base/bundle_command'
5
+ require 'eac_ruby_utils/core_ext'
6
+
7
+ module Avm
8
+ module EacRubyBase1
9
+ module Sources
10
+ class Base < ::Avm::EacGenericBase0::Sources::Base
11
+ module Bundler
12
+ CONFIGURED_GEMFILE_PATH_ENTRY_KEY = 'ruby.gemfile_path'
13
+ DEFAULT_GEMFILE_PATH = 'Gemfile'
14
+
15
+ # @return [Avm::EacRubyBase1::Sources::Base::BundleCommand]
16
+ def bundle(*args)
17
+ ::Avm::EacRubyBase1::Sources::Base::BundleCommand.new(self, %w[bundle] + args)
18
+ .envvar_gemfile
19
+ end
20
+
21
+ # @return [String]
22
+ def configured_gemfile_path
23
+ configuration.entry(CONFIGURED_GEMFILE_PATH_ENTRY_KEY).value
24
+ end
25
+
26
+ # @return [String]
27
+ def default_gemfile_path
28
+ DEFAULT_GEMFILE_PATH
29
+ end
30
+
31
+ # @return [Pathname]
32
+ def gemfile_path
33
+ path.join(configured_gemfile_path || default_gemfile_path)
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -3,6 +3,7 @@
3
3
  require 'avm/eac_generic_base0/sources/base'
4
4
  require 'avm/eac_ruby_base1/sources/update'
5
5
  require 'avm/eac_ruby_base1/sources/tester'
6
+ require 'avm/eac_ruby_base1/sources/runners/bundler'
6
7
  require 'avm/version_number'
7
8
  require 'eac_ruby_gems_utils/gem'
8
9
  require 'eac_ruby_utils/core_ext'
@@ -14,8 +15,12 @@ module Avm
14
15
  require_sub __FILE__, include_modules: :prepend, require_dependency: true
15
16
  delegate :gemspec_path, to: :the_gem
16
17
 
17
- def gemfile_path
18
- path.join('Gemfile')
18
+ EXTRA_AVAILABLE_SUBCOMMANDS = {
19
+ 'bundler' => ::Avm::EacRubyBase1::Sources::Runners::Bundler
20
+ }.freeze
21
+
22
+ def extra_available_subcommands
23
+ EXTRA_AVAILABLE_SUBCOMMANDS
19
24
  end
20
25
 
21
26
  def valid?
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_ruby_base1/bundler/incompatible_parser'
4
+ require 'eac_cli/core_ext'
5
+
6
+ module Avm
7
+ module EacRubyBase1
8
+ module Sources
9
+ module Runners
10
+ class Bundler
11
+ class Incompatible
12
+ runner_with :help do
13
+ desc 'Identify incompatible gems in a "Gemfile.lock" file.'
14
+ bool_opt '-l', '--last', 'Process the last \"bundle update\" result.'
15
+ end
16
+
17
+ def run
18
+ infov 'Cache path', fs_cache.content_path
19
+ infov 'Cached?', fs_cache.stored?
20
+ parser.gems_in_conflict.each do |gem_in_conflict|
21
+ print_gem_in_conflict(gem_in_conflict)
22
+ end
23
+ end
24
+
25
+ private
26
+
27
+ def bundle_update
28
+ infom 'Running "bundle update"...'
29
+ runner_context.call(:subject).bundle('update').execute[:stdout]
30
+ end
31
+
32
+ def content_path
33
+ fs_cache.write(bundle_update) unless fs_cache.stored? && parsed.last?
34
+ fs_cache.content_path
35
+ end
36
+
37
+ def fs_object_id
38
+ runner_context.call(:subject).path.to_s.variableize
39
+ end
40
+
41
+ def gem_title(gem_in_conflict)
42
+ gem_in_conflict.gem_name
43
+ end
44
+
45
+ def parser_uncached
46
+ ::Avm::EacRubyBase1::Bundler::IncompatibleParser.new(content_path)
47
+ end
48
+
49
+ def print_gem_in_conflict(gem_in_conflict)
50
+ infov 'Gem', gem_title(gem_in_conflict)
51
+ gem_in_conflict.versions_requirements.each do |requirement|
52
+ print_requirement(requirement)
53
+ end
54
+ end
55
+
56
+ def print_requirement(req)
57
+ infov ' ' + requirement_title(req), requirement_value(req)
58
+ end
59
+
60
+ def requirement_stack(req)
61
+ req.stack.map { |d| "#{d.gem_name} (#{d.version})" }.join(' > '.green)
62
+ end
63
+
64
+ def requirement_title(req)
65
+ req.requirements_source.if_present('*')
66
+ end
67
+
68
+ def requirement_value(req)
69
+ requirement_stack(req)
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/core_ext'
4
+
5
+ module Avm
6
+ module EacRubyBase1
7
+ module Sources
8
+ module Runners
9
+ class Bundler
10
+ require_sub __FILE__
11
+ runner_with :help, :subcommands do
12
+ desc 'Ruby\'s bundler utitilies for local projects.'
13
+ subcommands
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacRubyBase1
7
+ module Sources
8
+ module Runners
9
+ require_sub __FILE__
10
+ end
11
+ end
12
+ end
13
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRubyBase1
5
- VERSION = '0.6.0'
5
+ VERSION = '0.7.0'
6
6
  end
7
7
  end
File without changes
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_ruby_base1/bundler/incompatible_parser'
4
+
5
+ RSpec.describe ::Avm::EacRubyBase1::Bundler::IncompatibleParser do
6
+ include_examples 'source_target_fixtures', __FILE__
7
+ end
@@ -0,0 +1,192 @@
1
+ Fetching gem metadata from https://rubygems.org/.........
2
+ Fetching gem metadata from https://rubygems.org/.
3
+ Resolving dependencies................
4
+ Bundler could not find compatible versions for gem "actionmailer":
5
+ In Gemfile:
6
+ eac_users_support was resolved to 0.8.6, which depends on
7
+ devise_invitable (~> 1.7, >= 1.7.5) was resolved to 1.7.5, which depends on
8
+ actionmailer (>= 4.1.0)
9
+
10
+ eac_rails_base0 was resolved to 0.52.2, which depends on
11
+ rails (~> 5.2.4, >= 5.2.4.4) was resolved to 5.2.5, which depends on
12
+ actionmailer (= 5.2.5)
13
+
14
+ Bundler could not find compatible versions for gem "actionpack":
15
+ In Gemfile:
16
+ eac_rails_base0 was resolved to 0.52.2, which depends on
17
+ rails (~> 5.2.4, >= 5.2.4.4) was resolved to 5.2.5, which depends on
18
+ actionpack (= 5.2.5)
19
+
20
+ rails-controller-testing was resolved to 1.0.2, which depends on
21
+ actionpack (~> 5.x, >= 5.0.1)
22
+
23
+ eac_rails_base0 was resolved to 0.52.2, which depends on
24
+ rspec-rails (~> 3.7) was resolved to 3.9.1, which depends on
25
+ actionpack (>= 3.0)
26
+
27
+ eac_rails_base0 was resolved to 0.52.2, which depends on
28
+ rails (~> 5.2.4, >= 5.2.4.4) was resolved to 5.2.5, which depends on
29
+ sprockets-rails (>= 2.0.0) was resolved to 3.2.2, which depends on
30
+ actionpack (>= 4.0)
31
+
32
+ Bundler could not find compatible versions for gem "activemodel":
33
+ In Gemfile:
34
+ activevalidators (~> 5.0, >= 5.0.1) was resolved to 5.1.0, which depends on
35
+ activemodel (>= 3.0)
36
+
37
+ eac_rails_base0 was resolved to 0.52.2, which depends on
38
+ carrierwave (~> 1.3, >= 1.3.1) was resolved to 1.3.2, which depends on
39
+ activemodel (>= 4.0.0)
40
+
41
+ activevalidators (~> 5.0, >= 5.0.1) was resolved to 5.1.0, which depends on
42
+ credit_card_validations (~> 3.2) was resolved to 3.5.1, which depends on
43
+ activemodel (>= 3, <= 6.1)
44
+
45
+ eac_rails_base0 was resolved to 0.52.2, which depends on
46
+ rails (~> 5.2.4, >= 5.2.4.4) was resolved to 5.2.5, which depends on
47
+ activemodel (= 5.2.5)
48
+
49
+ Bundler could not find compatible versions for gem "activerecord":
50
+ In Gemfile:
51
+ ancestry was resolved to 4.0.0, which depends on
52
+ activerecord (>= 5.2.4.5)
53
+
54
+ awesome_nested_set was resolved to 3.4.0, which depends on
55
+ activerecord (>= 4.0.0, < 7.0)
56
+
57
+ eac_rails_base0 was resolved to 0.52.2, which depends on
58
+ rails (~> 5.2.4, >= 5.2.4.4) was resolved to 5.2.5, which depends on
59
+ activerecord (= 5.2.5)
60
+
61
+ wice_grid (= 3.6.0.pre4) was resolved to 3.6.0.pre4, which depends on
62
+ activerecord (> 3.2)
63
+
64
+ Bundler could not find compatible versions for gem "activesupport":
65
+ In Gemfile:
66
+ rails-controller-testing was resolved to 1.0.2, which depends on
67
+ actionpack (~> 5.x, >= 5.0.1) was resolved to 5.2.5, which depends on
68
+ activesupport (= 5.2.5)
69
+
70
+ activevalidators (~> 5.0, >= 5.0.1) was resolved to 5.1.0, which depends on
71
+ credit_card_validations (~> 3.2) was resolved to 3.5.1, which depends on
72
+ activesupport (>= 3, <= 6.1)
73
+
74
+ eac_ruby_utils was resolved to 0.62.1, which depends on
75
+ activesupport (>= 4.0)
76
+
77
+ eac_rails_base0 was resolved to 0.52.2, which depends on
78
+ rails (~> 5.2.4, >= 5.2.4.4) was resolved to 5.2.5, which depends on
79
+ activejob (= 5.2.5) was resolved to 5.2.5, which depends on
80
+ globalid (>= 0.3.6) was resolved to 0.4.2, which depends on
81
+ activesupport (>= 4.2.0)
82
+
83
+ i18n-recursive-lookup was resolved to 0.0.5, which depends on
84
+ activesupport
85
+
86
+ eac_rails_base0 was resolved to 0.52.2, which depends on
87
+ jbuilder (~> 2.0) was resolved to 2.11.2, which depends on
88
+ activesupport (>= 5.0.0)
89
+
90
+ rails-controller-testing was resolved to 1.0.2, which depends on
91
+ activesupport (~> 5.x)
92
+
93
+ eac_rails_base0 was resolved to 0.52.2, which depends on
94
+ rspec-rails (~> 3.7) was resolved to 3.9.1, which depends on
95
+ activesupport (>= 3.0)
96
+
97
+ Bundler could not find compatible versions for gem "i18n":
98
+ In Gemfile:
99
+ rails-controller-testing was resolved to 1.0.2, which depends on
100
+ actionpack (~> 5.x, >= 5.0.1) was resolved to 5.2.5, which depends on
101
+ activesupport (= 5.2.5) was resolved to 5.2.5, which depends on
102
+ i18n (>= 0.7, < 2)
103
+
104
+ i18n-recursive-lookup was resolved to 0.0.5, which depends on
105
+ i18n
106
+
107
+ eac_rails_base0 was resolved to 0.52.2, which depends on
108
+ rails-i18n (~> 4.0) was resolved to 4.0.2, which depends on
109
+ i18n (~> 0.6)
110
+
111
+ Bundler could not find compatible versions for gem "rails":
112
+ In Gemfile:
113
+ eac_rails_base0 was resolved to 0.52.2, which depends on
114
+ active_scaffold (~> 3.5.5) was resolved to 3.5.5, which depends on
115
+ rails (>= 4.0.5, < 5.2.0)
116
+
117
+ aranha-rails was resolved to 0.2.1, which depends on
118
+ rails (>= 5.1.7, < 6)
119
+
120
+ can_can_dry was resolved to 0.5.1, which depends on
121
+ rails (>= 4.2.1)
122
+
123
+ eac_rails_base0 was resolved to 0.52.2, which depends on
124
+ rails (~> 5.2.4, >= 5.2.4.4)
125
+
126
+ eac_rails_utils was resolved to 0.12.2, which depends on
127
+ rails (>= 4.2.11)
128
+
129
+ eac_users_support was resolved to 0.8.6, which depends on
130
+ rails (>= 4.2.11.3)
131
+
132
+ products was resolved to 0.0.0, which depends on
133
+ rails
134
+
135
+ rails-settings-cached (~> 0.7.2) was resolved to 0.7.2, which depends on
136
+ rails (>= 4.2.0)
137
+
138
+ eac_rails_base0 was resolved to 0.52.2, which depends on
139
+ recordselect (>= 3.10.1) was resolved to 3.10.1, which depends on
140
+ rails (>= 4.0.0)
141
+
142
+ simple_calendar (~> 2.0) was resolved to 2.4.2, which depends on
143
+ rails (>= 3.0)
144
+
145
+ Bundler could not find compatible versions for gem "railties":
146
+ In Gemfile:
147
+ br_railties was resolved to 0.4.4, which depends on
148
+ railties (>= 4.2.11.3)
149
+
150
+ eac_users_support was resolved to 0.8.6, which depends on
151
+ devise (~> 4.6, >= 4.6.1) was resolved to 4.8.0, which depends on
152
+ railties (>= 4.1.0)
153
+
154
+ eac_rails_base0 was resolved to 0.52.2, which depends on
155
+ rails (~> 5.2.4, >= 5.2.4.4) was resolved to 5.2.5, which depends on
156
+ railties (= 5.2.5)
157
+
158
+ eac_rails_base0 was resolved to 0.52.2, which depends on
159
+ rspec-rails (~> 3.7) was resolved to 3.9.1, which depends on
160
+ railties (>= 3.0)
161
+
162
+ eac_rails_base0 was resolved to 0.52.2, which depends on
163
+ sass-rails (~> 5.0) was resolved to 5.1.0, which depends on
164
+ railties (>= 5.2.0)
165
+
166
+ eac_rails_base0 was resolved to 0.52.2, which depends on
167
+ web-console (~> 2.0) was resolved to 2.3.0, which depends on
168
+ railties (>= 4.0)
169
+
170
+ Bundler could not find compatible versions for gem "rubocop":
171
+ In Gemfile:
172
+ eac_ruby_gem_support was resolved to 0.1.2, which depends on
173
+ rubocop (~> 0.80.1)
174
+
175
+ eac_ruby_gem_support was resolved to 0.1.2, which depends on
176
+ rubocop-rails (~> 2.4.2) was resolved to 2.4.2, which depends on
177
+ rubocop (>= 0.72.0)
178
+
179
+ eac_ruby_gem_support was resolved to 0.1.2, which depends on
180
+ rubocop-rspec (~> 1.38.1) was resolved to 1.38.1, which depends on
181
+ rubocop (>= 0.68.1)
182
+
183
+ Bundler could not find compatible versions for gem "sprockets":
184
+ In Gemfile:
185
+ eac_rails_base0 was resolved to 0.52.2, which depends on
186
+ sass-rails (~> 5.0) was resolved to 5.1.0, which depends on
187
+ sprockets (>= 2.8, < 4.0)
188
+
189
+ eac_rails_base0 was resolved to 0.52.2, which depends on
190
+ rails (~> 5.2.4, >= 5.2.4.4) was resolved to 5.2.5, which depends on
191
+ sprockets-rails (>= 2.0.0) was resolved to 3.2.2, which depends on
192
+ sprockets (>= 3.0.0)