avm-eac_ruby_base1 0.6.1 → 0.8.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/avm/eac_ruby_base1/bundler/incompatible_parser/depends_on.rb +25 -0
- data/lib/avm/eac_ruby_base1/bundler/incompatible_parser/gem_conflict.rb +44 -0
- data/lib/avm/eac_ruby_base1/bundler/incompatible_parser/in_gemfile.rb +17 -0
- data/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_buffer.rb +73 -0
- data/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_factory.rb +31 -0
- data/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_parser_base.rb +19 -0
- data/lib/avm/eac_ruby_base1/bundler/incompatible_parser/version_requirement.rb +26 -0
- data/lib/avm/eac_ruby_base1/bundler/incompatible_parser.rb +25 -0
- data/lib/avm/eac_ruby_base1/rubocop/gemfile.rb +4 -4
- data/lib/avm/eac_ruby_base1/rubygems/version_file.rb +43 -0
- data/lib/avm/eac_ruby_base1/rubygems.rb +11 -0
- data/lib/avm/eac_ruby_base1/sources/base/bundle_command.rb +39 -0
- data/lib/avm/eac_ruby_base1/sources/base/bundler.rb +53 -0
- data/lib/avm/eac_ruby_base1/sources/base/rake.rb +28 -0
- data/lib/avm/eac_ruby_base1/sources/base/rubygems.rb +43 -0
- data/lib/avm/eac_ruby_base1/sources/base/version_bump.rb +2 -2
- data/lib/avm/eac_ruby_base1/sources/base.rb +24 -11
- data/lib/avm/eac_ruby_base1/sources/runners/bundler/incompatible.rb +76 -0
- data/lib/avm/eac_ruby_base1/sources/runners/bundler.rb +19 -0
- data/lib/avm/eac_ruby_base1/sources/runners.rb +13 -0
- data/lib/avm/eac_ruby_base1/sources/tester.rb +7 -9
- data/lib/avm/eac_ruby_base1/sources/tests/base.rb +59 -0
- data/lib/avm/eac_ruby_base1/sources/tests/minitest.rb +29 -0
- data/lib/avm/eac_ruby_base1/sources/tests/multiple/decorated_gem.rb +52 -0
- data/lib/avm/eac_ruby_base1/sources/tests/multiple/result.rb +29 -0
- data/lib/avm/eac_ruby_base1/sources/tests/multiple.rb +90 -0
- data/lib/avm/eac_ruby_base1/sources/tests/rspec.rb +25 -0
- data/lib/avm/eac_ruby_base1/sources/tests.rb +13 -0
- data/lib/avm/eac_ruby_base1/sources/update/sub_update.rb +5 -2
- data/lib/avm/eac_ruby_base1/sources/update.rb +2 -6
- data/lib/avm/eac_ruby_base1/version.rb +1 -1
- metadata +41 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7ab1491dd2e289b70f5c3c573be7704f7604ac5ce6e3817ec5f26e7010810eeb
|
4
|
+
data.tar.gz: 30287e22954f1c27a7811c5b38f922c8efef94ba88fe25e8326c6c6fabfe9035
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f8f7ade27b2463e00ba3f0b102a2ece298e38df1ebdca095a8578f148b3bb4e8cdd4a9a21a3143374acb80be82f5e009a0d379b98225c01cef02d4a6f2c62fb4
|
7
|
+
data.tar.gz: 3fb369d27f7a17623ba0e5e874e99e49f407ecd1259ad6cf74b80e7c4bb2ccb02c00351aa6277b8771d300173b5743bf00db204860173424b66894449fbd4675
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
require 'avm/eac_ruby_base1/bundler/incompatible_parser/line_parser_base'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module EacRubyBase1
|
8
|
+
module Bundler
|
9
|
+
class IncompatibleParser
|
10
|
+
class DependsOn < ::Avm::EacRubyBase1::Bundler::IncompatibleParser::LineParserBase
|
11
|
+
LINE_PARSER = /(.+) was resolved to (.+), which depends on/
|
12
|
+
.to_parser { |m| new(m[1], m[2]) }
|
13
|
+
|
14
|
+
common_constructor :gem_name, :version do
|
15
|
+
self.version = ::Gem::Version.new(version)
|
16
|
+
end
|
17
|
+
|
18
|
+
def data
|
19
|
+
{ gem_name: gem_name, version: version }
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
require 'avm/eac_ruby_base1/bundler/incompatible_parser/line_parser_base'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module EacRubyBase1
|
8
|
+
module Bundler
|
9
|
+
class IncompatibleParser
|
10
|
+
class GemConflict < ::Avm::EacRubyBase1::Bundler::IncompatibleParser::LineParserBase
|
11
|
+
LINE_PARSER = /Bundler could not find compatible versions for gem "(.+)":/
|
12
|
+
.to_parser { |m| new(m[1]) }
|
13
|
+
|
14
|
+
enable_simple_cache
|
15
|
+
common_constructor :gem_name
|
16
|
+
|
17
|
+
def add_depends_on(depends_on)
|
18
|
+
depends_on_stack << depends_on
|
19
|
+
end
|
20
|
+
|
21
|
+
def add_version_requirement(version_requirement)
|
22
|
+
version_requirement.stack = depends_on_stack
|
23
|
+
versions_requirements << version_requirement
|
24
|
+
@depends_on_stack = nil
|
25
|
+
end
|
26
|
+
|
27
|
+
def data
|
28
|
+
{ gem_name: gem_name, versions_requirements: versions_requirements.map(&:data) }
|
29
|
+
end
|
30
|
+
|
31
|
+
def versions_requirements
|
32
|
+
@versions_requirements ||= []
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
def depends_on_stack
|
38
|
+
@depends_on_stack ||= []
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
require 'avm/eac_ruby_base1/bundler/incompatible_parser/line_parser_base'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module EacRubyBase1
|
8
|
+
module Bundler
|
9
|
+
class IncompatibleParser
|
10
|
+
class InGemfile < ::Avm::EacRubyBase1::Bundler::IncompatibleParser::LineParserBase
|
11
|
+
LINE_PARSER = /In Gemfile:/
|
12
|
+
.to_parser { |_m| new }
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
require 'avm/eac_ruby_base1/bundler/incompatible_parser/gem_conflict'
|
5
|
+
require 'avm/eac_ruby_base1/bundler/incompatible_parser/line_factory'
|
6
|
+
|
7
|
+
module Avm
|
8
|
+
module EacRubyBase1
|
9
|
+
module Bundler
|
10
|
+
class IncompatibleParser
|
11
|
+
class LineBuffer
|
12
|
+
class << self
|
13
|
+
def from_file(path)
|
14
|
+
new(::File.read(path.to_s))
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
attr_reader :gems_in_conflict
|
19
|
+
|
20
|
+
def initialize(content)
|
21
|
+
self.gems_in_conflict = []
|
22
|
+
self.parsing_required = false
|
23
|
+
content.each_line { |string_line| add_line(LineFactory.new(string_line)) }
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
attr_accessor :parsing_required
|
29
|
+
attr_writer :gems_in_conflict
|
30
|
+
|
31
|
+
def add_line(line)
|
32
|
+
return if line.blank?
|
33
|
+
|
34
|
+
return if LineFactory::TYPES.any? do |type|
|
35
|
+
next false unless line.result.is_a?(type)
|
36
|
+
|
37
|
+
send("on_#{type.name.demodulize.underscore.variableize}_line", line.result)
|
38
|
+
true
|
39
|
+
end
|
40
|
+
|
41
|
+
return unless parsing_required
|
42
|
+
|
43
|
+
raise(::ArgumentError, "Unparsed line: \"#{line.content}\"")
|
44
|
+
end
|
45
|
+
|
46
|
+
def on_gem_conflict_line(result)
|
47
|
+
self.parsing_required = true
|
48
|
+
gems_in_conflict << result
|
49
|
+
end
|
50
|
+
|
51
|
+
def on_in_gemfile_line(result)
|
52
|
+
# Do nothing
|
53
|
+
end
|
54
|
+
|
55
|
+
def on_depends_on_line(result)
|
56
|
+
current_gem_conflict.add_depends_on(result)
|
57
|
+
end
|
58
|
+
|
59
|
+
def on_version_requirement_line(result)
|
60
|
+
current_gem_conflict.add_version_requirement(result)
|
61
|
+
end
|
62
|
+
|
63
|
+
def current_gem_conflict
|
64
|
+
raise 'No gems in conflict' if gems_in_conflict.none?
|
65
|
+
raise 'Last gem is blank' if gems_in_conflict.last.blank?
|
66
|
+
|
67
|
+
gems_in_conflict.last
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
require 'avm/eac_ruby_base1/bundler/incompatible_parser/depends_on'
|
5
|
+
require 'avm/eac_ruby_base1/bundler/incompatible_parser/gem_conflict'
|
6
|
+
require 'avm/eac_ruby_base1/bundler/incompatible_parser/in_gemfile'
|
7
|
+
|
8
|
+
module Avm
|
9
|
+
module EacRubyBase1
|
10
|
+
module Bundler
|
11
|
+
class IncompatibleParser
|
12
|
+
class LineFactory
|
13
|
+
TYPES = [GemConflict, InGemfile, DependsOn, VersionRequirement].freeze
|
14
|
+
|
15
|
+
enable_simple_cache
|
16
|
+
common_constructor :content do
|
17
|
+
self.content = content.strip
|
18
|
+
end
|
19
|
+
|
20
|
+
delegate :blank?, to: :content
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
def result_uncached
|
25
|
+
TYPES.lazy.map { |type| type.parse(content) }.find(&:present?)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module EacRubyBase1
|
7
|
+
module Bundler
|
8
|
+
class IncompatibleParser
|
9
|
+
class LineParserBase
|
10
|
+
class << self
|
11
|
+
def parse(line_content)
|
12
|
+
const_get('LINE_PARSER').parse(line_content)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
require 'avm/eac_ruby_base1/bundler/incompatible_parser/line_parser_base'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module EacRubyBase1
|
8
|
+
module Bundler
|
9
|
+
class IncompatibleParser
|
10
|
+
class VersionRequirement < ::Avm::EacRubyBase1::Bundler::IncompatibleParser::LineParserBase
|
11
|
+
LINE_PARSER = /\A([a-z][a-z\-_0-9]*)(?: \((.+)\))?\z/
|
12
|
+
.to_parser { |m| new(m[1], m[2]) }
|
13
|
+
|
14
|
+
enable_simple_cache
|
15
|
+
attr_accessor :stack
|
16
|
+
|
17
|
+
common_constructor :gem_name, :requirements_source
|
18
|
+
|
19
|
+
def data
|
20
|
+
{ requirements_source: requirements_source, stack: stack.map(&:data) }
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module EacRubyBase1
|
7
|
+
module Bundler
|
8
|
+
class IncompatibleParser
|
9
|
+
require_sub __FILE__
|
10
|
+
|
11
|
+
enable_simple_cache
|
12
|
+
attr_reader :gems_in_conflict
|
13
|
+
|
14
|
+
def initialize(path)
|
15
|
+
@gems_in_conflict = ::Avm::EacRubyBase1::Bundler::IncompatibleParser::LineBuffer
|
16
|
+
.from_file(path).gems_in_conflict.freeze
|
17
|
+
end
|
18
|
+
|
19
|
+
def data
|
20
|
+
gems_in_conflict.map(&:data)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'avm/
|
3
|
+
require 'avm/eac_ruby_base1/sources/base'
|
4
4
|
require 'eac_ruby_utils/core_ext'
|
5
5
|
|
6
6
|
module Avm
|
@@ -10,11 +10,11 @@ module Avm
|
|
10
10
|
def gemfile_rubocop_command
|
11
11
|
return nil unless rubocop_gemfile?
|
12
12
|
|
13
|
-
rubocop_command_by_gemfile_path(mygem.
|
13
|
+
rubocop_command_by_gemfile_path(mygem.path)
|
14
14
|
end
|
15
15
|
|
16
16
|
def rubocop_command_by_gemfile_path(path)
|
17
|
-
::
|
17
|
+
::Avm::EacRubyBase1::Sources::Base.new(path).bundle('exec', 'rubocop').chdir_root
|
18
18
|
end
|
19
19
|
|
20
20
|
def rubocop_gemfile?
|
@@ -31,7 +31,7 @@ module Avm
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def find_gem(path)
|
34
|
-
r = ::
|
34
|
+
r = ::Avm::EacRubyBase1::Sources::Base.new(path)
|
35
35
|
return r if r.gemfile_path.exist?
|
36
36
|
return find_gem(path.dirname) unless path.root?
|
37
37
|
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module EacRubyBase1
|
7
|
+
module Rubygems
|
8
|
+
class VersionFile
|
9
|
+
common_constructor :path
|
10
|
+
|
11
|
+
VERSION_LINE_PATTERN = /\A(\s*)VERSION\s*=\s*[\'\"]([^\'\"]+)[\'\"](\s*)\z/.freeze
|
12
|
+
|
13
|
+
def value
|
14
|
+
path.read.each_line.lazy.map { |line| line_value(line) }.find { |v| v }
|
15
|
+
end
|
16
|
+
|
17
|
+
def value=(new_value)
|
18
|
+
path.write(new_value_content(new_value))
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
# @return Version found in line, nil otherwise.
|
24
|
+
def line_value(line)
|
25
|
+
VERSION_LINE_PATTERN.if_match(line.rstrip, false) { |m| ::Gem::Version.new(m[2]) }
|
26
|
+
end
|
27
|
+
|
28
|
+
def new_value_content(new_value)
|
29
|
+
path.read.each_line
|
30
|
+
.map { |line| new_value_line(line, new_value) }
|
31
|
+
.join
|
32
|
+
end
|
33
|
+
|
34
|
+
def new_value_line(line, new_value)
|
35
|
+
m = VERSION_LINE_PATTERN.match(line)
|
36
|
+
return line unless m
|
37
|
+
|
38
|
+
"#{m[1]}VERSION = '#{new_value}'#{m[3]}"
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -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,53 @@
|
|
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 [Bundler::LockfileParser]
|
32
|
+
def gemfile_lock_content
|
33
|
+
::Bundler::LockfileParser.new(::Bundler.read_file(gemfile_lock_path))
|
34
|
+
end
|
35
|
+
|
36
|
+
def gemfile_lock_gem_version(gem_name)
|
37
|
+
gemfile_lock_content.specs.find { |gem| gem.name == gem_name }.if_present(&:version)
|
38
|
+
end
|
39
|
+
|
40
|
+
# @return [Pathname]
|
41
|
+
def gemfile_lock_path
|
42
|
+
gemfile_path.basename_sub { |b| "#{b}.lock" }
|
43
|
+
end
|
44
|
+
|
45
|
+
# @return [Pathname]
|
46
|
+
def gemfile_path
|
47
|
+
path.join(configured_gemfile_path || default_gemfile_path)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/eac_generic_base0/sources/base'
|
4
|
+
require 'eac_ruby_utils/core_ext'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module EacRubyBase1
|
8
|
+
module Sources
|
9
|
+
class Base < ::Avm::EacGenericBase0::Sources::Base
|
10
|
+
module Rake
|
11
|
+
RAKEFILE_BASENAME = 'Rakefile'
|
12
|
+
|
13
|
+
# @return [Avm::EacRubyBase1::Sources::Base::BundleCommand]
|
14
|
+
def rake(*args)
|
15
|
+
raise "File \"#{rakefile_path}\" does not exist" unless rakefile_path.exist?
|
16
|
+
|
17
|
+
bundle('exec', 'rake', '--rakefile', rakefile_path, *args)
|
18
|
+
end
|
19
|
+
|
20
|
+
# @return [Pathname]
|
21
|
+
def rakefile_path
|
22
|
+
path.join(RAKEFILE_BASENAME)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/eac_generic_base0/sources/base'
|
4
|
+
require 'eac_ruby_utils/core_ext'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module EacRubyBase1
|
8
|
+
module Sources
|
9
|
+
class Base < ::Avm::EacGenericBase0::Sources::Base
|
10
|
+
module Rubygems
|
11
|
+
GEMSPEC_EXTNAME = '.gemspec'
|
12
|
+
|
13
|
+
def gem_name
|
14
|
+
gem_name_by_gemspec || gem_name_by_path
|
15
|
+
end
|
16
|
+
|
17
|
+
def gem_name_by_gemspec
|
18
|
+
gemspec_path.if_present { |v| v.basename(GEMSPEC_EXTNAME).to_path }
|
19
|
+
end
|
20
|
+
|
21
|
+
def gem_name_by_path
|
22
|
+
fullname = path.basename.to_s
|
23
|
+
/\A(.+)(?:-\d+(?:\.\d+)*)\z/.if_match(fullname, false) { |m| m[1] }.if_present(fullname)
|
24
|
+
end
|
25
|
+
|
26
|
+
def gem_namespace_parts
|
27
|
+
gem_name.split('-')
|
28
|
+
end
|
29
|
+
|
30
|
+
# @return [Gem::Specification]
|
31
|
+
def gemspec
|
32
|
+
::Gem::Specification.load(gemspec_path.to_path)
|
33
|
+
end
|
34
|
+
|
35
|
+
# @return [Pathname]
|
36
|
+
def gemspec_path
|
37
|
+
path.glob("*#{GEMSPEC_EXTNAME}").first
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -9,12 +9,12 @@ module Avm
|
|
9
9
|
class Base < ::Avm::EacGenericBase0::Sources::Base
|
10
10
|
module VersionBump
|
11
11
|
def after_sub_version_bump_do_changes
|
12
|
-
|
12
|
+
bundle('install').chdir_root.execute!
|
13
13
|
end
|
14
14
|
|
15
15
|
def version_bump_do_changes(target_version)
|
16
16
|
self.version = target_version
|
17
|
-
|
17
|
+
bundle('install').chdir_root.execute!
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
@@ -1,10 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'avm/eac_generic_base0/sources/base'
|
4
|
+
require 'avm/eac_ruby_base1/rubygems/version_file'
|
4
5
|
require 'avm/eac_ruby_base1/sources/update'
|
5
6
|
require 'avm/eac_ruby_base1/sources/tester'
|
7
|
+
require 'avm/eac_ruby_base1/sources/runners/bundler'
|
6
8
|
require 'avm/version_number'
|
7
|
-
require 'eac_ruby_gems_utils/gem'
|
8
9
|
require 'eac_ruby_utils/core_ext'
|
9
10
|
|
10
11
|
module Avm
|
@@ -12,10 +13,18 @@ module Avm
|
|
12
13
|
module Sources
|
13
14
|
class Base < ::Avm::EacGenericBase0::Sources::Base
|
14
15
|
require_sub __FILE__, include_modules: :prepend, require_dependency: true
|
15
|
-
delegate :gemspec_path, to: :the_gem
|
16
16
|
|
17
|
-
|
18
|
-
|
17
|
+
EXTRA_AVAILABLE_SUBCOMMANDS = {
|
18
|
+
'bundler' => ::Avm::EacRubyBase1::Sources::Runners::Bundler
|
19
|
+
}.freeze
|
20
|
+
|
21
|
+
# To-do: dismiss this method at Avm::EacRailsBase1::Instance and remove.
|
22
|
+
def env_set(env)
|
23
|
+
@env = env
|
24
|
+
end
|
25
|
+
|
26
|
+
def extra_available_subcommands
|
27
|
+
EXTRA_AVAILABLE_SUBCOMMANDS
|
19
28
|
end
|
20
29
|
|
21
30
|
def valid?
|
@@ -27,22 +36,26 @@ module Avm
|
|
27
36
|
Avm::EacRubyBase1::Sources::Tester
|
28
37
|
end
|
29
38
|
|
30
|
-
# @return [EacRubyGemsUtils::Gem]
|
31
|
-
def the_gem
|
32
|
-
@the_gem ||= ::EacRubyGemsUtils::Gem.new(path)
|
33
|
-
end
|
34
|
-
|
35
39
|
def update
|
36
40
|
::Avm::EacRubyBase1::Sources::Update.new(self)
|
37
41
|
end
|
38
42
|
|
39
43
|
# @return [Avm::VersionNumber]
|
40
44
|
def version
|
41
|
-
|
45
|
+
version_file.value.if_present { |v| ::Avm::VersionNumber.new(v) }
|
42
46
|
end
|
43
47
|
|
44
48
|
def version=(value)
|
45
|
-
|
49
|
+
version_file.value = value
|
50
|
+
end
|
51
|
+
|
52
|
+
# @return [Avm::EacRubyBase1::Rubygems::VersionFile]
|
53
|
+
def version_file
|
54
|
+
::Avm::EacRubyBase1::Rubygems::VersionFile.new(version_file_path)
|
55
|
+
end
|
56
|
+
|
57
|
+
def version_file_path
|
58
|
+
path.join('lib', *gem_namespace_parts, 'version.rb')
|
46
59
|
end
|
47
60
|
end
|
48
61
|
end
|
@@ -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
|
@@ -9,27 +9,25 @@ module Avm
|
|
9
9
|
class Tester < ::Avm::EacGenericBase0::Sources::Tester
|
10
10
|
BUNDLE_TEST_COMMAND_CONFIGURATION_KEY = :bundle_test_command
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
# @return [EacRubyUtils::Envs::Command, nil]
|
12
|
+
# @return [Avm::EacRailsBase1::Sources::Base::BundleCommand, nil]
|
15
13
|
def test_command
|
16
14
|
bundle_test_command || super || default_test_command
|
17
15
|
end
|
18
16
|
|
19
|
-
# @return [
|
17
|
+
# @return [Avm::EacRailsBase1::Sources::Base::BundleCommand, nil]
|
20
18
|
def bundle_test_command
|
21
19
|
source.read_configuration_as_shell_words(BUNDLE_TEST_COMMAND_CONFIGURATION_KEY)
|
22
|
-
.if_present { |args|
|
20
|
+
.if_present { |args| source.bundle(*args).chdir_root }
|
23
21
|
end
|
24
22
|
|
25
|
-
# @return [
|
23
|
+
# @return [Avm::EacRailsBase1::Sources::Base::BundleCommand, nil]
|
26
24
|
def default_test_command
|
27
|
-
|
25
|
+
source.bundle('exec', 'rspec', '--fail-fast').chdir_root
|
28
26
|
end
|
29
27
|
|
30
28
|
def run_test_command
|
31
|
-
execute_command_and_log(
|
32
|
-
execute_command_and_log(
|
29
|
+
execute_command_and_log(source.bundle('install').chdir_root) ||
|
30
|
+
execute_command_and_log(source.bundle('update').chdir_root)
|
33
31
|
super
|
34
32
|
end
|
35
33
|
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
require 'eac_fs/logs'
|
5
|
+
require 'eac_ruby_utils/listable'
|
6
|
+
|
7
|
+
module Avm
|
8
|
+
module EacRubyBase1
|
9
|
+
module Sources
|
10
|
+
class Base
|
11
|
+
include ::EacRubyUtils::Listable
|
12
|
+
|
13
|
+
enable_simple_cache
|
14
|
+
lists.add_string :result, :failed, :nonexistent, :successful
|
15
|
+
|
16
|
+
common_constructor :gem
|
17
|
+
|
18
|
+
def elegible?
|
19
|
+
dependency_present? && gem.root.join(test_directory).exist?
|
20
|
+
end
|
21
|
+
|
22
|
+
def dependency_present?
|
23
|
+
gem.gemfile_path.exist? && gem.gemfile_lock_gem_version(dependency_gem).present?
|
24
|
+
end
|
25
|
+
|
26
|
+
def name
|
27
|
+
self.class.name.demodulize.gsub(/Test\z/, '')
|
28
|
+
end
|
29
|
+
|
30
|
+
def to_s
|
31
|
+
"#{gem}[#{name}]"
|
32
|
+
end
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
def logs_uncached
|
37
|
+
::EacFs::Logs.new.add(:stdout).add(:stderr)
|
38
|
+
end
|
39
|
+
|
40
|
+
def result_uncached
|
41
|
+
return RESULT_NONEXISTENT unless elegible?
|
42
|
+
|
43
|
+
exec_run_with_log ? RESULT_SUCCESSFUL : RESULT_FAILED
|
44
|
+
end
|
45
|
+
|
46
|
+
def exec_run
|
47
|
+
gem.bundle('exec', *bundle_exec_args).chdir_root.execute
|
48
|
+
end
|
49
|
+
|
50
|
+
def exec_run_with_log
|
51
|
+
r = exec_run
|
52
|
+
logs[:stdout].write(r[:stdout])
|
53
|
+
logs[:stderr].write(r[:stderr])
|
54
|
+
r[:exit_code].zero?
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/eac_ruby_base1/sources/tests/base'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module EacRubyBase1
|
7
|
+
module Sources
|
8
|
+
module Tests
|
9
|
+
class Minitest < ::Avm::EacRubyBase1::Sources::Tests::Base
|
10
|
+
def bundle_exec_args
|
11
|
+
%w[rake test]
|
12
|
+
end
|
13
|
+
|
14
|
+
def dependency_gem
|
15
|
+
'minitest'
|
16
|
+
end
|
17
|
+
|
18
|
+
def elegible?
|
19
|
+
super && gem.rakefile_path.exist?
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_directory
|
23
|
+
'test'
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,52 @@
|
|
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 Tests
|
9
|
+
class Multiple
|
10
|
+
class DecoratedGem < ::SimpleDelegator
|
11
|
+
enable_speaker
|
12
|
+
|
13
|
+
def prepare
|
14
|
+
return unless gemfile_path.exist?
|
15
|
+
|
16
|
+
log('running "bundle install"...')
|
17
|
+
return if bundle('install').execute.fetch(:exit_code).zero?
|
18
|
+
|
19
|
+
unless can_remove_gemfile_lock?
|
20
|
+
raise '"bundle install" failed and the Gemfile.lock is part of gem' \
|
21
|
+
'(Should be changed by developer)'
|
22
|
+
end
|
23
|
+
|
24
|
+
prepare_with_removable_gemfile_lock
|
25
|
+
end
|
26
|
+
|
27
|
+
def tests
|
28
|
+
[::Avm::EacRubyBase1::Sources::Tests::Minitest.new(__getobj__),
|
29
|
+
::Avm::EacRubyBase1::Sources::Tests::Rspec.new(__getobj__)]
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def log(message)
|
35
|
+
infov self, message
|
36
|
+
end
|
37
|
+
|
38
|
+
def prepare_with_removable_gemfile_lock
|
39
|
+
log('"bundle install" failed, removing Gemfile.lock and trying again...')
|
40
|
+
gemfile_lock_path.unlink if gemfile_lock_path.exist?
|
41
|
+
bundle('install').execute!
|
42
|
+
end
|
43
|
+
|
44
|
+
def can_remove_gemfile_lock?
|
45
|
+
!files.include?(gemfile_lock_path.relative_path_from(root))
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module EacRubyBase1
|
5
|
+
module Sources
|
6
|
+
module Tests
|
7
|
+
class Multiple
|
8
|
+
class Result
|
9
|
+
common_constructor :result
|
10
|
+
|
11
|
+
COLORS = {
|
12
|
+
::Avm::EacRubyBase1::Sources::Tests::Base::RESULT_FAILED => :red,
|
13
|
+
::Avm::EacRubyBase1::Sources::Tests::Base::RESULT_NONEXISTENT => :white,
|
14
|
+
::Avm::EacRubyBase1::Sources::Tests::Base::RESULT_SUCCESSFUL => :green
|
15
|
+
}.freeze
|
16
|
+
|
17
|
+
def tag
|
18
|
+
result.to_s.send(color)
|
19
|
+
end
|
20
|
+
|
21
|
+
def color
|
22
|
+
COLORS.fetch(result)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/eac_ruby_base1/sources/tests/minitest'
|
4
|
+
require 'avm/eac_ruby_base1/sources/tests/rspec'
|
5
|
+
require 'eac_ruby_utils/core_ext'
|
6
|
+
|
7
|
+
module Avm
|
8
|
+
module EacRubyBase1
|
9
|
+
module Sources
|
10
|
+
module Tests
|
11
|
+
class Multiple
|
12
|
+
require_sub __FILE__
|
13
|
+
enable_speaker
|
14
|
+
enable_simple_cache
|
15
|
+
common_constructor :gems, :options, default: [{}]
|
16
|
+
set_callback :initialize, :after, :run
|
17
|
+
|
18
|
+
def ok?
|
19
|
+
failed_tests.none?
|
20
|
+
end
|
21
|
+
|
22
|
+
def only
|
23
|
+
options[:only]
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def all_tests_uncached
|
29
|
+
decorated_gems.flat_map(&:tests)
|
30
|
+
end
|
31
|
+
|
32
|
+
def clear_logs
|
33
|
+
all_tests.each do |test|
|
34
|
+
test.logs.remove_all
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def prepare_all_gems
|
39
|
+
infom 'Preparing all gems...'
|
40
|
+
decorated_gems.each(&:prepare)
|
41
|
+
end
|
42
|
+
|
43
|
+
def decorated_gems_uncached
|
44
|
+
r = gems
|
45
|
+
r = r.select { |gem| only.include?(gem.name) } if only.present?
|
46
|
+
r.map { |gem| DecoratedGem.new(gem) }
|
47
|
+
end
|
48
|
+
|
49
|
+
def failed_tests_uncached
|
50
|
+
all_tests.select do |r|
|
51
|
+
r.result == ::Avm::EacRubyBase1::Sources::Tests::Base::RESULT_FAILED
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
def final_results_banner
|
56
|
+
if failed_tests.any?
|
57
|
+
warn 'Some test did not pass:'
|
58
|
+
failed_tests.each do |test|
|
59
|
+
infov ' * Test', test
|
60
|
+
info test.logs.truncate_all
|
61
|
+
end
|
62
|
+
else
|
63
|
+
success 'All tests passed'
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def run
|
68
|
+
start_banner
|
69
|
+
prepare_all_gems
|
70
|
+
test_all_gems
|
71
|
+
final_results_banner
|
72
|
+
ensure
|
73
|
+
clear_logs
|
74
|
+
end
|
75
|
+
|
76
|
+
def start_banner
|
77
|
+
infov 'Gems to test', decorated_gems.count
|
78
|
+
end
|
79
|
+
|
80
|
+
def test_all_gems
|
81
|
+
infom 'Running tests...'
|
82
|
+
all_tests.each do |test|
|
83
|
+
infov test, Result.new(test.result).tag
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/eac_ruby_base1/sources/tests/base'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module EacRubyBase1
|
7
|
+
module Sources
|
8
|
+
module Tests
|
9
|
+
class Rspec < ::Avm::EacRubyBase1::Sources::Tests::Base
|
10
|
+
def bundle_exec_args
|
11
|
+
%w[rspec]
|
12
|
+
end
|
13
|
+
|
14
|
+
def dependency_gem
|
15
|
+
'rspec-core'
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_directory
|
19
|
+
'spec'
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'avm/eac_ruby_base1/sources/base'
|
4
|
+
|
3
5
|
module Avm
|
4
6
|
module EacRubyBase1
|
5
7
|
module Sources
|
@@ -28,13 +30,14 @@ module Avm
|
|
28
30
|
update_scm.if_present { |commit| on_scm_updated(commit) }
|
29
31
|
end
|
30
32
|
|
33
|
+
# @return [Avm::EacRubyBase1::Sources::Base]
|
31
34
|
def ruby_gem_uncached
|
32
|
-
::
|
35
|
+
::Avm::EacRubyBase1::Sources::Base.new(sub.path)
|
33
36
|
end
|
34
37
|
|
35
38
|
def no_scm_update_commit_message
|
36
39
|
source_update.i18n_translate(__method__, __locale: source.locale,
|
37
|
-
name: ruby_gem.
|
40
|
+
name: ruby_gem.gem_name,
|
38
41
|
version: ruby_gem.version)
|
39
42
|
end
|
40
43
|
|
@@ -15,9 +15,9 @@ module Avm
|
|
15
15
|
|
16
16
|
def bundle_update
|
17
17
|
infom 'Running "bundle update"...'
|
18
|
-
|
18
|
+
source.bundle('update').execute!
|
19
19
|
infom 'Running "bundle install"...'
|
20
|
-
|
20
|
+
source.bundle('install').execute!
|
21
21
|
end
|
22
22
|
|
23
23
|
protected
|
@@ -42,10 +42,6 @@ module Avm
|
|
42
42
|
::Avm::EacRubyBase1::Sources::Update::SubUpdate.new(self, sub)
|
43
43
|
end
|
44
44
|
end
|
45
|
-
|
46
|
-
def ruby_gem_uncached
|
47
|
-
::EacRubyGemsUtils::Gem.new(source.path)
|
48
|
-
end
|
49
45
|
end
|
50
46
|
end
|
51
47
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: avm-eac_ruby_base1
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Put here the authors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-07-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: avm
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.22'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0.
|
26
|
+
version: '0.22'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: avm-eac_generic_base0
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -39,39 +39,39 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0.2'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: eac_ruby_utils
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0.
|
48
|
-
- - ">="
|
49
|
-
- !ruby/object:Gem::Version
|
50
|
-
version: 0.9.8
|
47
|
+
version: '0.80'
|
51
48
|
type: :runtime
|
52
49
|
prerelease: false
|
53
50
|
version_requirements: !ruby/object:Gem::Requirement
|
54
51
|
requirements:
|
55
52
|
- - "~>"
|
56
53
|
- !ruby/object:Gem::Version
|
57
|
-
version: '0.
|
58
|
-
- - ">="
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: 0.9.8
|
54
|
+
version: '0.80'
|
61
55
|
- !ruby/object:Gem::Dependency
|
62
|
-
name:
|
56
|
+
name: aranha-parsers
|
63
57
|
requirement: !ruby/object:Gem::Requirement
|
64
58
|
requirements:
|
65
59
|
- - "~>"
|
66
60
|
- !ruby/object:Gem::Version
|
67
|
-
version: '0.
|
68
|
-
|
61
|
+
version: '0.14'
|
62
|
+
- - ">="
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: 0.14.1
|
65
|
+
type: :development
|
69
66
|
prerelease: false
|
70
67
|
version_requirements: !ruby/object:Gem::Requirement
|
71
68
|
requirements:
|
72
69
|
- - "~>"
|
73
70
|
- !ruby/object:Gem::Version
|
74
|
-
version: '0.
|
71
|
+
version: '0.14'
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: 0.14.1
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: eac_ruby_gem_support
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -97,14 +97,38 @@ files:
|
|
97
97
|
- lib/avm/eac_ruby_base1/bundler/gemfile.rb
|
98
98
|
- lib/avm/eac_ruby_base1/bundler/gemfile/add_or_replace_gem_line.rb
|
99
99
|
- lib/avm/eac_ruby_base1/bundler/gemfile/dependency.rb
|
100
|
+
- lib/avm/eac_ruby_base1/bundler/incompatible_parser.rb
|
101
|
+
- lib/avm/eac_ruby_base1/bundler/incompatible_parser/depends_on.rb
|
102
|
+
- lib/avm/eac_ruby_base1/bundler/incompatible_parser/gem_conflict.rb
|
103
|
+
- lib/avm/eac_ruby_base1/bundler/incompatible_parser/in_gemfile.rb
|
104
|
+
- lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_buffer.rb
|
105
|
+
- lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_factory.rb
|
106
|
+
- lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_parser_base.rb
|
107
|
+
- lib/avm/eac_ruby_base1/bundler/incompatible_parser/version_requirement.rb
|
100
108
|
- lib/avm/eac_ruby_base1/rubocop.rb
|
101
109
|
- lib/avm/eac_ruby_base1/rubocop/configured.rb
|
102
110
|
- lib/avm/eac_ruby_base1/rubocop/envvar.rb
|
103
111
|
- lib/avm/eac_ruby_base1/rubocop/gemfile.rb
|
112
|
+
- lib/avm/eac_ruby_base1/rubygems.rb
|
113
|
+
- lib/avm/eac_ruby_base1/rubygems/version_file.rb
|
104
114
|
- lib/avm/eac_ruby_base1/sources.rb
|
105
115
|
- lib/avm/eac_ruby_base1/sources/base.rb
|
116
|
+
- lib/avm/eac_ruby_base1/sources/base/bundle_command.rb
|
117
|
+
- lib/avm/eac_ruby_base1/sources/base/bundler.rb
|
118
|
+
- lib/avm/eac_ruby_base1/sources/base/rake.rb
|
119
|
+
- lib/avm/eac_ruby_base1/sources/base/rubygems.rb
|
106
120
|
- lib/avm/eac_ruby_base1/sources/base/version_bump.rb
|
121
|
+
- lib/avm/eac_ruby_base1/sources/runners.rb
|
122
|
+
- lib/avm/eac_ruby_base1/sources/runners/bundler.rb
|
123
|
+
- lib/avm/eac_ruby_base1/sources/runners/bundler/incompatible.rb
|
107
124
|
- lib/avm/eac_ruby_base1/sources/tester.rb
|
125
|
+
- lib/avm/eac_ruby_base1/sources/tests.rb
|
126
|
+
- lib/avm/eac_ruby_base1/sources/tests/base.rb
|
127
|
+
- lib/avm/eac_ruby_base1/sources/tests/minitest.rb
|
128
|
+
- lib/avm/eac_ruby_base1/sources/tests/multiple.rb
|
129
|
+
- lib/avm/eac_ruby_base1/sources/tests/multiple/decorated_gem.rb
|
130
|
+
- lib/avm/eac_ruby_base1/sources/tests/multiple/result.rb
|
131
|
+
- lib/avm/eac_ruby_base1/sources/tests/rspec.rb
|
108
132
|
- lib/avm/eac_ruby_base1/sources/update.rb
|
109
133
|
- lib/avm/eac_ruby_base1/sources/update/sub_update.rb
|
110
134
|
- lib/avm/eac_ruby_base1/version.rb
|