avm-tools 0.103.1 → 0.104.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avm/tools/version.rb +1 -1
  3. data/vendor/avm-eac_asciidoctor_base0/avm-eac_asciidoctor_base0.gemspec +1 -0
  4. data/{lib → vendor/avm-eac_asciidoctor_base0/lib}/avm/eac_asciidoctor_base0/apache_host.rb +0 -0
  5. data/{lib → vendor/avm-eac_asciidoctor_base0/lib}/avm/eac_asciidoctor_base0/apache_path.rb +0 -0
  6. data/{lib → vendor/avm-eac_asciidoctor_base0/lib}/avm/eac_asciidoctor_base0/deploy.rb +0 -0
  7. data/{lib → vendor/avm-eac_asciidoctor_base0/lib}/avm/eac_asciidoctor_base0/instance.rb +0 -0
  8. data/vendor/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/version.rb +1 -1
  9. data/vendor/avm/avm.gemspec +3 -0
  10. data/{lib → vendor/avm/lib}/avm/executables.rb +1 -1
  11. data/{lib → vendor/avm/lib}/avm/files.rb +0 -0
  12. data/{lib → vendor/avm/lib}/avm/files/appendable.rb +0 -0
  13. data/{lib → vendor/avm/lib}/avm/files/appendable/file_content.rb +0 -0
  14. data/{lib → vendor/avm/lib}/avm/files/appendable/plain_directory.rb +0 -0
  15. data/{lib → vendor/avm/lib}/avm/files/appendable/resource_base.rb +0 -0
  16. data/{lib → vendor/avm/lib}/avm/files/appendable/tar_output_command.rb +0 -0
  17. data/{lib → vendor/avm/lib}/avm/files/appendable/templatized_directory.rb +1 -0
  18. data/{lib → vendor/avm/lib}/avm/files/appender.rb +0 -0
  19. data/{lib → vendor/avm/lib}/avm/files/deploy.rb +0 -1
  20. data/{lib → vendor/avm/lib}/avm/files/formatter.rb +1 -1
  21. data/{lib → vendor/avm/lib}/avm/files/formatter/formats.rb +0 -0
  22. data/{lib → vendor/avm/lib}/avm/files/formatter/formats/base.rb +0 -0
  23. data/{lib → vendor/avm/lib}/avm/files/formatter/formats/generic_plain.rb +0 -0
  24. data/{lib → vendor/avm/lib}/avm/files/formatter/formats/html.rb +0 -0
  25. data/vendor/avm/lib/avm/files/formatter/formats/javascript.rb +23 -0
  26. data/{lib → vendor/avm/lib}/avm/files/formatter/formats/json.rb +0 -0
  27. data/{lib → vendor/avm/lib}/avm/files/formatter/formats/php.rb +0 -0
  28. data/{lib → vendor/avm/lib}/avm/files/formatter/formats/python.rb +0 -0
  29. data/{lib → vendor/avm/lib}/avm/files/formatter/formats/ruby.rb +0 -0
  30. data/{lib → vendor/avm/lib}/avm/files/formatter/formats/xml.rb +0 -0
  31. data/{lib → vendor/avm/lib}/avm/files/formatter/utf8_assert.rb +0 -0
  32. data/{lib → vendor/avm/lib}/avm/files/info.rb +0 -0
  33. data/{lib → vendor/avm/lib}/avm/files/rotate.rb +0 -0
  34. data/{lib → vendor/avm/lib}/avm/git.rb +0 -0
  35. data/{lib → vendor/avm/lib}/avm/git/auto_commit/commit_info.rb +0 -0
  36. data/{lib → vendor/avm/lib}/avm/git/auto_commit/rules.rb +0 -0
  37. data/{lib → vendor/avm/lib}/avm/git/auto_commit/rules/base.rb +0 -0
  38. data/{lib → vendor/avm/lib}/avm/git/auto_commit/rules/last.rb +0 -0
  39. data/{lib → vendor/avm/lib}/avm/git/auto_commit/rules/manual.rb +0 -0
  40. data/{lib → vendor/avm/lib}/avm/git/auto_commit/rules/new.rb +0 -0
  41. data/{lib → vendor/avm/lib}/avm/git/auto_commit/rules/nth.rb +0 -0
  42. data/{lib → vendor/avm/lib}/avm/git/auto_commit/rules/unique.rb +0 -0
  43. data/{lib → vendor/avm/lib}/avm/git/auto_commit_path.rb +1 -1
  44. data/{lib → vendor/avm/lib}/avm/git/auto_commit_path/ruby.rb +0 -0
  45. data/{lib → vendor/avm/lib}/avm/git/commit.rb +3 -2
  46. data/{lib → vendor/avm/lib}/avm/git/commit/class_methods.rb +0 -0
  47. data/{lib → vendor/avm/lib}/avm/git/commit/deploy.rb +0 -1
  48. data/{lib → vendor/avm/lib}/avm/git/commit/deploy_methods.rb +0 -0
  49. data/{lib → vendor/avm/lib}/avm/git/commit/diff_tree_line.rb +0 -0
  50. data/{lib → vendor/avm/lib}/avm/git/commit/file.rb +2 -2
  51. data/{lib → vendor/avm/lib}/avm/git/file_auto_fixup.rb +0 -0
  52. data/{lib → vendor/avm/lib}/avm/git/issue.rb +0 -0
  53. data/{lib → vendor/avm/lib}/avm/git/issue/complete.rb +0 -0
  54. data/{lib → vendor/avm/lib}/avm/git/issue/complete/commits.rb +0 -0
  55. data/{lib → vendor/avm/lib}/avm/git/issue/complete/git_subrepos.rb +0 -0
  56. data/{lib → vendor/avm/lib}/avm/git/issue/complete/local_branch.rb +0 -0
  57. data/{lib → vendor/avm/lib}/avm/git/issue/complete/local_tag.rb +0 -0
  58. data/{lib → vendor/avm/lib}/avm/git/issue/complete/push.rb +0 -0
  59. data/{lib → vendor/avm/lib}/avm/git/issue/complete/remote.rb +0 -0
  60. data/{lib → vendor/avm/lib}/avm/git/issue/complete/test.rb +0 -0
  61. data/{lib → vendor/avm/lib}/avm/git/issue/complete/tracker.rb +0 -0
  62. data/{lib → vendor/avm/lib}/avm/git/issue/complete/validation.rb +0 -0
  63. data/{lib → vendor/avm/lib}/avm/git/issue/complete/validations.rb +0 -0
  64. data/{lib → vendor/avm/lib}/avm/git/issue/complete/working_tree.rb +0 -0
  65. data/{lib → vendor/avm/lib}/avm/git/issue/deliver.rb +0 -0
  66. data/{lib → vendor/avm/lib}/avm/git/organize.rb +0 -0
  67. data/{lib → vendor/avm/lib}/avm/git/organize/reference_update.rb +0 -0
  68. data/{lib → vendor/avm/lib}/avm/git/organize/repository.rb +0 -0
  69. data/{lib → vendor/avm/lib}/avm/git/revision_test.rb +0 -0
  70. data/{lib → vendor/avm/lib}/avm/git/subrepo_check.rb +0 -1
  71. data/{lib → vendor/avm/lib}/avm/git/subrepo_check/parent.rb +0 -0
  72. data/{lib → vendor/avm/lib}/avm/git/subrepo_check/remote.rb +0 -0
  73. data/{lib → vendor/avm/lib}/avm/git/subrepo_check/show_result.rb +0 -1
  74. data/{lib → vendor/avm/lib}/avm/git/subrepo_checks.rb +1 -1
  75. data/{lib → vendor/avm/lib}/avm/result.rb +0 -0
  76. data/vendor/avm/lib/avm/version.rb +1 -1
  77. data/vendor/avm/spec/lib/avm/git/auto_commit_path_spec.rb +20 -0
  78. data/vendor/avm/spec/lib/avm/git/commit/deploy_spec.rb +93 -0
  79. data/vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec.rb +14 -0
  80. data/vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.source.out +1 -0
  81. data/vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.target.yaml +7 -0
  82. data/vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.source.out +1 -0
  83. data/vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.target.yaml +7 -0
  84. data/vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.source.out +1 -0
  85. data/vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.target.yaml +7 -0
  86. data/vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.source.out +2 -0
  87. data/vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.target.yaml +13 -0
  88. data/vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.source.out +2 -0
  89. data/vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.target.yaml +13 -0
  90. data/vendor/avm/spec/lib/avm/git/commit_spec.rb +56 -0
  91. data/vendor/avm/spec/spec_helper.rb +3 -86
  92. data/vendor/eac_cli/lib/eac_cli/config/entry.rb +0 -2
  93. data/vendor/eac_cli/lib/eac_cli/version.rb +1 -1
  94. metadata +87 -72
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bee250c84ba8f56a38c3e10bc301116cab8098d23cf7f75a5027a7ae43b66d80
4
- data.tar.gz: db17fbed340f859c761618bb94f6d83baa59b6e4c6d15fd7d053589d875175d3
3
+ metadata.gz: 4585c23cae62880e31d062cc01fbef21cd4736371756e717eaef78ddf16291bc
4
+ data.tar.gz: 7f45edf7e390d0ca3fbaf0de62ce51820090d9fc1fe5e692b9e6c0a6624efb3a
5
5
  SHA512:
6
- metadata.gz: 7088176c3a9109762de09fbd347836bc9f86fb856f1fc4703c7f7f91e5309b596935466231dd8bb316285ae613a29f611bc992d8ae43cc03f8daf308bce0740c
7
- data.tar.gz: ff79f6f21852b281262254df6d3f0eccab89129f972b83e8b9e524edfee9e32484afe0cbf46f502284c0df6d3fe5c8cc57c3a342c9331e0b7be0c468fbf0738d
6
+ metadata.gz: 1fa3e825fae8f70e9defcb19e44252ecd10872cf250fe043dfb8a6e40a5ccd12f6ce159f94afe602ad23a435e2e8ed84381d165f6498cb85ecfb6cdd3efe9033
7
+ data.tar.gz: 426f5496fe6e1701dc078f02ccd038d932a09fc362da23a89c9ce1e883ba0a515e1562031d0faaf0c817717a4fc92899af8820484297e0b183f860df33036f8d
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module Tools
5
- VERSION = '0.103.1'
5
+ VERSION = '0.104.0'
6
6
  end
7
7
  end
@@ -13,6 +13,7 @@ Gem::Specification.new do |s|
13
13
  s.files = Dir['{lib}/**/*']
14
14
 
15
15
  s.add_dependency 'asciidoctor', '~> 2.0', '>= 2.0.12'
16
+ s.add_dependency 'avm-eac_webapp_base0', '~> 0.1'
16
17
  s.add_dependency 'eac_ruby_utils', '~> 0.63'
17
18
  s.add_dependency 'os'
18
19
  s.add_dependency 'rouge', '~> 3.26'
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacAsciidoctorBase0
5
- VERSION = '0.2.1'
5
+ VERSION = '0.3.0'
6
6
  end
7
7
  end
@@ -13,7 +13,10 @@ Gem::Specification.new do |s|
13
13
  s.files = Dir['{lib}/**/*']
14
14
 
15
15
  s.add_dependency 'eac_docker', '~> 0.3'
16
+ s.add_dependency 'eac_git', '~> 0.6'
16
17
  s.add_dependency 'eac_ruby_utils', '~> 0.68'
18
+ s.add_dependency 'eac_templates', '~> 0.1', '>= 0.1.1'
17
19
 
20
+ s.add_development_dependency 'aranha-parsers', '~> 0.7', '>= 0.7.2'
18
21
  s.add_development_dependency 'eac_ruby_gem_support', '~> 0.2'
19
22
  end
@@ -14,7 +14,7 @@ module Avm
14
14
 
15
15
  private
16
16
 
17
- %w[docker file git latex php-cs-fixer tidy yapf xdg-open].each do |program|
17
+ %w[file git js-beautify latex php-cs-fixer tidy yapf xdg-open].each do |program|
18
18
  define_method(program.underscore + '_uncached') do
19
19
  env.executable(program, '--version')
20
20
  end
File without changes
File without changes
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'eac_ruby_utils/core_ext'
4
4
  require 'avm/files/appendable/resource_base'
5
+ require 'eac_templates/directory'
5
6
 
6
7
  module Avm
7
8
  module Files
File without changes
@@ -2,7 +2,6 @@
2
2
 
3
3
  require 'addressable'
4
4
  require 'avm/files/appendable'
5
- require 'avm/patches/object/template'
6
5
  require 'eac_ruby_utils/core_ext'
7
6
 
8
7
  module Avm
@@ -16,7 +16,7 @@ module Avm
16
16
  options.assert_valid_keys(self.class.lists.option.values)
17
17
  end
18
18
 
19
- FORMATS = %w[ruby php html python xml json generic_plain].freeze
19
+ FORMATS = %w[ruby php html python xml javascript json generic_plain].freeze
20
20
 
21
21
  def run
22
22
  clear
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/files/formatter/formats/generic_plain'
4
+
5
+ module Avm
6
+ module Files
7
+ class Formatter
8
+ module Formats
9
+ class Javascript < ::Avm::Files::Formatter::Formats::GenericPlain
10
+ VALID_BASENAMES = %w[*.js].freeze
11
+ VALID_TYPES = [].freeze
12
+
13
+ def internal_apply(files)
14
+ ::Avm::Executables.js_beautify.command.append(
15
+ ['--indent-size=2', '--end-with-newline', '--replace', *files]
16
+ ).system!
17
+ super(files)
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
File without changes
File without changes
File without changes
@@ -21,7 +21,7 @@ module Avm
21
21
  end
22
22
 
23
23
  def relative_path
24
- path.relative_path_from(git.root_path)
24
+ path.expand_path.relative_path_from(git.root_path.expand_path)
25
25
  end
26
26
  end
27
27
  end
@@ -18,13 +18,14 @@ module Avm
18
18
 
19
19
  attr_reader :git, :sha1
20
20
 
21
+ # @param git [EacGit::Local]
21
22
  def initialize(git, sha1)
22
23
  @git = git
23
24
  @sha1 = sha1
24
25
  end
25
26
 
26
27
  def format(format)
27
- git.execute!('--no-pager', 'log', '-1', "--pretty=format:#{format}", sha1).strip
28
+ git.command('--no-pager', 'log', '-1', "--pretty=format:#{format}", sha1).execute!.strip
28
29
  end
29
30
 
30
31
  FIELDS.each do |field, format|
@@ -51,7 +52,7 @@ module Avm
51
52
  args = []
52
53
  args << '--root' if root_child?
53
54
  args << sha1
54
- git.execute!(*::Avm::Git::Commit::DiffTreeLine::GIT_COMMAND_ARGS, *args)
55
+ git.command(*::Avm::Git::Commit::DiffTreeLine::GIT_COMMAND_ARGS, *args).execute!
55
56
  end
56
57
  end
57
58
  end
@@ -4,7 +4,6 @@ require 'addressable'
4
4
  require 'eac_ruby_utils/core_ext'
5
5
  require 'avm/files/appendable'
6
6
  require 'avm/files/deploy'
7
- require 'avm/patches/object/template'
8
7
 
9
8
  module Avm
10
9
  module Git
@@ -12,7 +12,7 @@ module Avm
12
12
 
13
13
  attr_reader :git, :diff_tree
14
14
 
15
- # git: [Avm::Launcher::Git::Base]
15
+ # git: [EacGit::Local]
16
16
  # diff_tree_tree: a line of command "git diff-tree --no-commit-id -r --full-index"'s output
17
17
  def initialize(git, diff_tree_line)
18
18
  @git = git
@@ -38,7 +38,7 @@ module Avm
38
38
  def size(sha1)
39
39
  return 0 if /\A0+\z/.match(sha1)
40
40
 
41
- git.execute!('cat-file', '-s', sha1).strip.to_i
41
+ git.command('cat-file', '-s', sha1).execute!.strip.to_i
42
42
  end
43
43
  end
44
44
  end
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/launcher/git/base'
4
3
  require 'eac_ruby_utils/core_ext'
5
4
 
6
5
  module Avm
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/launcher/git/base'
4
3
  require 'eac_ruby_utils/core_ext'
5
4
 
6
5
  module Avm
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/launcher/git/base'
3
+ require 'avm/git/subrepo_check'
4
4
  require 'eac_ruby_utils/core_ext'
5
5
 
6
6
  module Avm
File without changes
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Avm
4
- VERSION = '0.2.0'
4
+ VERSION = '0.3.0'
5
5
  end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/git/auto_commit_path'
4
+
5
+ RSpec.describe ::Avm::Git::AutoCommitPath, git: true do
6
+ let(:git) { stubbed_git_local_repo }
7
+
8
+ describe '#class_name' do
9
+ {
10
+ 'app/models/mynamespace/the_class.rb' => 'Mynamespace::TheClass',
11
+ 'lib/ruby/lib/cliutils/eac_redmine_base0/activity.rb' => 'Cliutils::EacRedmineBase0::Activity'
12
+ }.each do |path, expected_class_name|
13
+ context "when path is \"#{path}\"" do
14
+ let(:instance) { described_class.new(git, "#{git}/#{path}") }
15
+
16
+ it { expect(instance.class_name).to eq(expected_class_name) }
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,93 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/git/commit'
4
+ require 'avm/git/commit/deploy'
5
+ require 'eac_ruby_utils/fs/temp'
6
+
7
+ RSpec.describe ::Avm::Git::Commit::Deploy, git: true do
8
+ class << self
9
+ FROM_DEPLOY = %w[a.txt b.txt c.txt appended].freeze # rubocop:disable RSpec/LeakyConstantDeclaration
10
+ NOT_FROM_DEPLOY = %w[to_be_removed].freeze # rubocop:disable RSpec/LeakyConstantDeclaration
11
+
12
+ def check_files(from_deploy_exist)
13
+ if from_deploy_exist
14
+ check_files_exist(FROM_DEPLOY)
15
+ check_files_not_exist(NOT_FROM_DEPLOY)
16
+ else
17
+ check_files_not_exist(FROM_DEPLOY)
18
+ check_files_exist(NOT_FROM_DEPLOY)
19
+ end
20
+ end
21
+
22
+ def check_file_exist(basename)
23
+ it("expect \"#{basename}\" to exist") { expect(target_dir.join(basename)).to exist }
24
+ end
25
+
26
+ def check_file_not_exist(basename)
27
+ it("expect \"#{basename}\" to not exist") { expect(target_dir.join(basename)).not_to exist }
28
+ end
29
+
30
+ def check_files_exist(basenames)
31
+ basenames.each { |basename| check_file_exist(basename) }
32
+ end
33
+
34
+ def check_files_not_exist(basenames)
35
+ basenames.each { |basename| check_file_not_exist(basename) }
36
+ end
37
+ end
38
+
39
+ let(:git) { stubbed_git_local_repo }
40
+
41
+ let(:commit_sha1) do
42
+ git.file('a.txt').write('AAA')
43
+ git.file('b.txt').write('BBB')
44
+ git.command('add', '.').execute!
45
+ git.command('commit', '-m', 'First commit.').execute!
46
+ git.rev_parse('HEAD')
47
+ end
48
+
49
+ let(:appended_dir) do
50
+ r = ::EacRubyUtils::Fs::Temp.directory
51
+ r.join('appended.template').write('Needs a %%ABC%% value.')
52
+ r
53
+ end
54
+
55
+ let(:target_dir) do
56
+ r = ::EacRubyUtils::Fs::Temp.directory
57
+ ::FileUtils.touch(r.join('to_be_removed').to_path)
58
+ r
59
+ end
60
+
61
+ let(:commit) { ::Avm::Git::Commit.new(git, commit_sha1) }
62
+ let(:variables_source_class) do
63
+ ::Class.new do
64
+ attr_reader :abc
65
+
66
+ def initialize(abc)
67
+ @abc = abc
68
+ end
69
+ end
70
+ end
71
+ let(:variables_source) { variables_source_class.new('Any value') }
72
+ let(:target_env) { ::EacRubyUtils::Envs.local }
73
+ let(:instance) do
74
+ described_class.new(commit, target_env, target_dir).append_templatized_directory(appended_dir)
75
+ .append_file_content('c.txt', 'Any content')
76
+ .variables_source_set(variables_source)
77
+ end
78
+
79
+ after do
80
+ appended_dir.remove
81
+ target_dir.remove
82
+ end
83
+
84
+ context 'without run' do # rubocop:disable RSpec/EmptyExampleGroup
85
+ check_files(false)
86
+ end
87
+
88
+ context 'with run' do # rubocop:disable RSpec/EmptyExampleGroup
89
+ before { instance.run }
90
+
91
+ check_files(true)
92
+ end
93
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'aranha/parsers/spec/source_target_fixtures_example'
4
+ require 'avm/git/commit/diff_tree_line'
5
+
6
+ RSpec.describe ::Avm::Git::Commit::DiffTreeLine, git: true do
7
+ include_examples 'source_target_fixtures', __FILE__ do
8
+ def source_data(source_file)
9
+ ::File.read(source_file).each_line.map do |line|
10
+ described_class.new(line).fields
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1 @@
1
+ :000000 100644 0000000000000000000000000000000000000000 f380aec0bd8dd777edac43b11636e46cad04273a A nomes.txt
@@ -0,0 +1,7 @@
1
+ ---
2
+ - src_mode: '000000'
3
+ dst_mode: '100644'
4
+ src_sha1: '0000000000000000000000000000000000000000'
5
+ dst_sha1: f380aec0bd8dd777edac43b11636e46cad04273a
6
+ status: A
7
+ path: nomes.txt
@@ -0,0 +1 @@
1
+ :100644 100644 40bcdecb4214cd8a3fcf96cd25a2beb87e7e7cd8 4a30dfae816b984f05cfb594e0d5958bb8c387ae M nomes.txt
@@ -0,0 +1,7 @@
1
+ ---
2
+ - src_mode: '100644'
3
+ dst_mode: '100644'
4
+ src_sha1: 40bcdecb4214cd8a3fcf96cd25a2beb87e7e7cd8
5
+ dst_sha1: 4a30dfae816b984f05cfb594e0d5958bb8c387ae
6
+ status: M
7
+ path: nomes.txt
@@ -0,0 +1 @@
1
+ :100644 000000 10728718a2915256ab162f1e05178ebff9efa6ce 0000000000000000000000000000000000000000 D nomes3.txt
@@ -0,0 +1,7 @@
1
+ ---
2
+ - src_mode: '100644'
3
+ dst_mode: '000000'
4
+ src_sha1: 10728718a2915256ab162f1e05178ebff9efa6ce
5
+ dst_sha1: '0000000000000000000000000000000000000000'
6
+ status: D
7
+ path: nomes3.txt
@@ -0,0 +1,2 @@
1
+ :100644 000000 4a30dfae816b984f05cfb594e0d5958bb8c387ae 0000000000000000000000000000000000000000 D nomes.txt
2
+ :000000 100644 0000000000000000000000000000000000000000 4a30dfae816b984f05cfb594e0d5958bb8c387ae A nomes2.txt
@@ -0,0 +1,13 @@
1
+ ---
2
+ - src_mode: '100644'
3
+ dst_mode: '000000'
4
+ src_sha1: 4a30dfae816b984f05cfb594e0d5958bb8c387ae
5
+ dst_sha1: '0000000000000000000000000000000000000000'
6
+ status: D
7
+ path: nomes.txt
8
+ - src_mode: '000000'
9
+ dst_mode: '100644'
10
+ src_sha1: '0000000000000000000000000000000000000000'
11
+ dst_sha1: 4a30dfae816b984f05cfb594e0d5958bb8c387ae
12
+ status: A
13
+ path: nomes2.txt
@@ -0,0 +1,2 @@
1
+ :100644 000000 4a30dfae816b984f05cfb594e0d5958bb8c387ae 0000000000000000000000000000000000000000 D nomes2.txt
2
+ :000000 100644 0000000000000000000000000000000000000000 10728718a2915256ab162f1e05178ebff9efa6ce A nomes3.txt
@@ -0,0 +1,13 @@
1
+ ---
2
+ - src_mode: '100644'
3
+ dst_mode: '000000'
4
+ src_sha1: 4a30dfae816b984f05cfb594e0d5958bb8c387ae
5
+ dst_sha1: '0000000000000000000000000000000000000000'
6
+ status: D
7
+ path: nomes2.txt
8
+ - src_mode: '000000'
9
+ dst_mode: '100644'
10
+ src_sha1: '0000000000000000000000000000000000000000'
11
+ dst_sha1: 10728718a2915256ab162f1e05178ebff9efa6ce
12
+ status: A
13
+ path: nomes3.txt
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/git/commit'
4
+
5
+ RSpec.describe ::Avm::Git::Commit, git: true do
6
+ let(:git) { stubbed_git_local_repo }
7
+
8
+ let(:first_commit_sha1) do
9
+ git.file('a.txt').write('AAA')
10
+ git.file('b.txt').write('BBB')
11
+ git.command('add', '.').execute!
12
+ git.command('commit', '-m', 'First commit.').execute!
13
+ git.rev_parse('HEAD')
14
+ end
15
+
16
+ let(:second_commit_sha1) do
17
+ first_commit_sha1
18
+ git.file('a.txt').write('AAAAA')
19
+ git.file('b.txt').delete
20
+ git.file('ç.txt').write('CCC')
21
+ git.command('add', '.').execute!
22
+ git.command('commit', '-m', 'Second commit.').execute!
23
+ git.rev_parse('HEAD')
24
+ end
25
+
26
+ let(:first_commit) { described_class.new(git, first_commit_sha1) }
27
+ let(:second_commit) { described_class.new(git, second_commit_sha1) }
28
+
29
+ describe '#files' do
30
+ it { expect(first_commit.files.count).to eq(2) }
31
+ it { expect(second_commit.files.count).to eq(3) }
32
+
33
+ {
34
+ 'first_commit' => %w[a.txt b.txt],
35
+ 'second_commit' => %w[a.txt b.txt ç.txt]
36
+ }.each do |commit_name, filenames|
37
+ filenames.each do |filename|
38
+ it "find file \"#{filename}\" in commit \"#{commit_name}\"" do
39
+ commit = send(commit_name)
40
+ file = commit.files.find { |f| f.path == filename }
41
+ expect(file).to be_a(::Avm::Git::Commit::File)
42
+ end
43
+ end
44
+ end
45
+ end
46
+
47
+ describe '#files_size' do
48
+ it { expect(first_commit.files_size).to eq(6) }
49
+ it { expect(second_commit.files_size).to eq(8) }
50
+ end
51
+
52
+ describe '#root_child?' do
53
+ it { expect(first_commit.root_child?).to eq(true) }
54
+ it { expect(second_commit.root_child?).to eq(false) }
55
+ end
56
+ end
@@ -1,102 +1,19 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This file was generated by the `rspec --init` command. Conventionally, all
4
- # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
5
- # The generated `.rspec` file contains `--require spec_helper` which will cause
6
- # this file to always be loaded, without a need to explicitly require it in any
7
- # files.
8
- #
9
- # Given that it is always loaded, you are encouraged to keep this file as
10
- # light-weight as possible. Requiring heavyweight dependencies from this file
11
- # will add to the boot time of your test suite on EVERY test run, even for an
12
- # individual file that may not need all of that loaded. Instead, consider making
13
- # a separate helper file that requires the additional dependencies and performs
14
- # the additional setup, and require it from the spec files that actually need
15
- # it.
16
- #
17
- # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
18
3
  RSpec.configure do |config|
19
- # rspec-expectations config goes here. You can use an alternate
20
- # assertion/expectation library such as wrong or the stdlib/minitest
21
- # assertions if you prefer.
22
4
  config.expect_with :rspec do |expectations|
23
- # This option will default to `true` in RSpec 4. It makes the `description`
24
- # and `failure_message` of custom matchers include text for helper methods
25
- # defined using `chain`, e.g.:
26
- # be_bigger_than(2).and_smaller_than(4).description
27
- # # => "be bigger than 2 and smaller than 4"
28
- # ...rather than:
29
- # # => "be bigger than 2"
30
5
  expectations.include_chain_clauses_in_custom_matcher_descriptions = true
31
6
  end
32
7
 
33
- # rspec-mocks config goes here. You can use an alternate test double
34
- # library (such as bogus or mocha) by changing the `mock_with` option here.
35
8
  config.mock_with :rspec do |mocks|
36
- # Prevents you from mocking or stubbing a method that does not exist on
37
- # a real object. This is generally recommended, and will default to
38
- # `true` in RSpec 4.
39
9
  mocks.verify_partial_doubles = true
40
10
  end
41
11
 
42
- # This option will default to `:apply_to_host_groups` in RSpec 4 (and will
43
- # have no way to turn it off -- the option exists only for backwards
44
- # compatibility in RSpec 3). It causes shared context metadata to be
45
- # inherited by the metadata hash of host groups and examples, rather than
46
- # triggering implicit auto-inclusion in groups with matching metadata.
47
12
  config.shared_context_metadata_behavior = :apply_to_host_groups
48
13
 
49
- # The settings below are suggested to provide a good initial experience
50
- # with RSpec, but feel free to customize to your heart's content.
51
- # # This allows you to limit a spec run to individual examples or groups
52
- # # you care about by tagging them with `:focus` metadata. When nothing
53
- # # is tagged with `:focus`, all examples get run. RSpec also provides
54
- # # aliases for `it`, `describe`, and `context` that include `:focus`
55
- # # metadata: `fit`, `fdescribe` and `fcontext`, respectively.
56
- # config.filter_run_when_matching :focus
57
- #
58
- # # Allows RSpec to persist some state between runs in order to support
59
- # # the `--only-failures` and `--next-failure` CLI options. We recommend
60
- # # you configure your source control system to ignore this file.
61
- # config.example_status_persistence_file_path = "spec/examples.txt"
62
- #
63
- # # Limits the available syntax to the non-monkey patched syntax that is
64
- # # recommended. For more details, see:
65
- # # - http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/
66
- # # - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
67
- # # - http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/#zero-monkey-patching-mode
68
- # config.disable_monkey_patching!
69
- #
70
- # # This setting enables warnings. It's recommended, but in some cases may
71
- # # be too noisy due to issues in dependencies.
72
- # config.warnings = true
73
- #
74
- # # Many RSpec users commonly either run the entire suite or an individual
75
- # # file, and it's useful to allow more verbose output when running an
76
- # # individual spec file.
77
- # if config.files_to_run.one?
78
- # # Use the documentation formatter for detailed output,
79
- # # unless a formatter has already been configured
80
- # # (e.g. via a command-line flag).
81
- # config.default_formatter = "doc"
82
- # end
83
- #
84
- # # Print the 10 slowest examples and example groups at the
85
- # # end of the spec run, to help surface which specs are running
86
- # # particularly slow.
87
- # config.profile_examples = 10
88
- #
89
- # # Run specs in random order to surface order dependencies. If you find an
90
- # # order dependency and want to debug it, you can fix the order by providing
91
- # # the seed, which is printed after each run.
92
- # # --seed 1234
93
- # config.order = :random
94
- #
95
- # # Seed global randomization in this process using the `--seed` CLI option.
96
- # # Setting this allows you to use `--seed` to deterministically reproduce
97
- # # test failures related to randomization by passing the same `--seed` value
98
- # # as the one that triggered the failure.
99
- # Kernel.srand config.seed
100
14
  require 'eac_ruby_gem_support/rspec'
101
15
  ::EacRubyGemSupport::Rspec.setup(::File.expand_path('..', __dir__))
102
16
  end
17
+
18
+ require 'eac_git/rspec'
19
+ ::EacGit::Rspec.configure
@@ -21,8 +21,6 @@ module EacCli
21
21
  return sub_value_to_return if sub_entry.found?
22
22
  return nil unless options.required?
23
23
 
24
- puts "|#{sub_entry.path}|"
25
-
26
24
  input_value
27
25
  end
28
26
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacCli
4
- VERSION = '0.22.0'
4
+ VERSION = '0.22.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avm-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.103.1
4
+ version: 0.104.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esquilo Azul Company
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-07-07 00:00:00.000000000 Z
11
+ date: 2021-07-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aranha-parsers
@@ -348,10 +348,6 @@ files:
348
348
  - lib/avm/data/package/load.rb
349
349
  - lib/avm/data/unit.rb
350
350
  - lib/avm/eac_asciidoctor_base0.rb
351
- - lib/avm/eac_asciidoctor_base0/apache_host.rb
352
- - lib/avm/eac_asciidoctor_base0/apache_path.rb
353
- - lib/avm/eac_asciidoctor_base0/deploy.rb
354
- - lib/avm/eac_asciidoctor_base0/instance.rb
355
351
  - lib/avm/eac_rails_base0.rb
356
352
  - lib/avm/eac_rails_base0/apache_host.rb
357
353
  - lib/avm/eac_rails_base0/apache_path.rb
@@ -378,71 +374,7 @@ files:
378
374
  - lib/avm/eac_writings_base0/project_build.rb
379
375
  - lib/avm/eac_writings_base0/project_build/chapters_content.rb
380
376
  - lib/avm/eac_writings_base0/project_build/copy_files.rb
381
- - lib/avm/executables.rb
382
- - lib/avm/files.rb
383
- - lib/avm/files/appendable.rb
384
- - lib/avm/files/appendable/file_content.rb
385
- - lib/avm/files/appendable/plain_directory.rb
386
- - lib/avm/files/appendable/resource_base.rb
387
- - lib/avm/files/appendable/tar_output_command.rb
388
- - lib/avm/files/appendable/templatized_directory.rb
389
- - lib/avm/files/appender.rb
390
- - lib/avm/files/deploy.rb
391
- - lib/avm/files/formatter.rb
392
- - lib/avm/files/formatter/formats.rb
393
- - lib/avm/files/formatter/formats/base.rb
394
- - lib/avm/files/formatter/formats/generic_plain.rb
395
- - lib/avm/files/formatter/formats/html.rb
396
- - lib/avm/files/formatter/formats/json.rb
397
- - lib/avm/files/formatter/formats/php.rb
398
- - lib/avm/files/formatter/formats/python.rb
399
- - lib/avm/files/formatter/formats/ruby.rb
400
- - lib/avm/files/formatter/formats/xml.rb
401
- - lib/avm/files/formatter/utf8_assert.rb
402
- - lib/avm/files/info.rb
403
- - lib/avm/files/rotate.rb
404
377
  - lib/avm/fs_cache.rb
405
- - lib/avm/git.rb
406
- - lib/avm/git/auto_commit/commit_info.rb
407
- - lib/avm/git/auto_commit/rules.rb
408
- - lib/avm/git/auto_commit/rules/base.rb
409
- - lib/avm/git/auto_commit/rules/last.rb
410
- - lib/avm/git/auto_commit/rules/manual.rb
411
- - lib/avm/git/auto_commit/rules/new.rb
412
- - lib/avm/git/auto_commit/rules/nth.rb
413
- - lib/avm/git/auto_commit/rules/unique.rb
414
- - lib/avm/git/auto_commit_path.rb
415
- - lib/avm/git/auto_commit_path/ruby.rb
416
- - lib/avm/git/commit.rb
417
- - lib/avm/git/commit/class_methods.rb
418
- - lib/avm/git/commit/deploy.rb
419
- - lib/avm/git/commit/deploy_methods.rb
420
- - lib/avm/git/commit/diff_tree_line.rb
421
- - lib/avm/git/commit/file.rb
422
- - lib/avm/git/file_auto_fixup.rb
423
- - lib/avm/git/issue.rb
424
- - lib/avm/git/issue/complete.rb
425
- - lib/avm/git/issue/complete/commits.rb
426
- - lib/avm/git/issue/complete/git_subrepos.rb
427
- - lib/avm/git/issue/complete/local_branch.rb
428
- - lib/avm/git/issue/complete/local_tag.rb
429
- - lib/avm/git/issue/complete/push.rb
430
- - lib/avm/git/issue/complete/remote.rb
431
- - lib/avm/git/issue/complete/test.rb
432
- - lib/avm/git/issue/complete/tracker.rb
433
- - lib/avm/git/issue/complete/validation.rb
434
- - lib/avm/git/issue/complete/validations.rb
435
- - lib/avm/git/issue/complete/working_tree.rb
436
- - lib/avm/git/issue/deliver.rb
437
- - lib/avm/git/organize.rb
438
- - lib/avm/git/organize/reference_update.rb
439
- - lib/avm/git/organize/repository.rb
440
- - lib/avm/git/revision_test.rb
441
- - lib/avm/git/subrepo_check.rb
442
- - lib/avm/git/subrepo_check/parent.rb
443
- - lib/avm/git/subrepo_check/remote.rb
444
- - lib/avm/git/subrepo_check/show_result.rb
445
- - lib/avm/git/subrepo_checks.rb
446
378
  - lib/avm/instances.rb
447
379
  - lib/avm/instances/application.rb
448
380
  - lib/avm/instances/base.rb
@@ -544,7 +476,6 @@ files:
544
476
  - lib/avm/projects/stereotypes/ruby_gem/update.rb
545
477
  - lib/avm/projects/stereotypes/ruby_gem/version_bump.rb
546
478
  - lib/avm/rails.rb
547
- - lib/avm/result.rb
548
479
  - lib/avm/ruby.rb
549
480
  - lib/avm/ruby/bundler.rb
550
481
  - lib/avm/ruby/bundler/incompatible_parser.rb
@@ -669,6 +600,10 @@ files:
669
600
  - vendor/avm-eac_asciidoctor_base0/Gemfile
670
601
  - vendor/avm-eac_asciidoctor_base0/avm-eac_asciidoctor_base0.gemspec
671
602
  - vendor/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0.rb
603
+ - vendor/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/apache_host.rb
604
+ - vendor/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/apache_path.rb
605
+ - vendor/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/deploy.rb
606
+ - vendor/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instance.rb
672
607
  - vendor/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources.rb
673
608
  - vendor/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base.rb
674
609
  - vendor/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/build.rb
@@ -746,9 +681,89 @@ files:
746
681
  - vendor/avm/lib/avm/docker/container.rb
747
682
  - vendor/avm/lib/avm/docker/image.rb
748
683
  - vendor/avm/lib/avm/docker/runner.rb
684
+ - vendor/avm/lib/avm/executables.rb
685
+ - vendor/avm/lib/avm/files.rb
686
+ - vendor/avm/lib/avm/files/appendable.rb
687
+ - vendor/avm/lib/avm/files/appendable/file_content.rb
688
+ - vendor/avm/lib/avm/files/appendable/plain_directory.rb
689
+ - vendor/avm/lib/avm/files/appendable/resource_base.rb
690
+ - vendor/avm/lib/avm/files/appendable/tar_output_command.rb
691
+ - vendor/avm/lib/avm/files/appendable/templatized_directory.rb
692
+ - vendor/avm/lib/avm/files/appender.rb
693
+ - vendor/avm/lib/avm/files/deploy.rb
694
+ - vendor/avm/lib/avm/files/formatter.rb
695
+ - vendor/avm/lib/avm/files/formatter/formats.rb
696
+ - vendor/avm/lib/avm/files/formatter/formats/base.rb
697
+ - vendor/avm/lib/avm/files/formatter/formats/generic_plain.rb
698
+ - vendor/avm/lib/avm/files/formatter/formats/html.rb
699
+ - vendor/avm/lib/avm/files/formatter/formats/javascript.rb
700
+ - vendor/avm/lib/avm/files/formatter/formats/json.rb
701
+ - vendor/avm/lib/avm/files/formatter/formats/php.rb
702
+ - vendor/avm/lib/avm/files/formatter/formats/python.rb
703
+ - vendor/avm/lib/avm/files/formatter/formats/ruby.rb
704
+ - vendor/avm/lib/avm/files/formatter/formats/xml.rb
705
+ - vendor/avm/lib/avm/files/formatter/utf8_assert.rb
706
+ - vendor/avm/lib/avm/files/info.rb
707
+ - vendor/avm/lib/avm/files/rotate.rb
708
+ - vendor/avm/lib/avm/git.rb
709
+ - vendor/avm/lib/avm/git/auto_commit/commit_info.rb
710
+ - vendor/avm/lib/avm/git/auto_commit/rules.rb
711
+ - vendor/avm/lib/avm/git/auto_commit/rules/base.rb
712
+ - vendor/avm/lib/avm/git/auto_commit/rules/last.rb
713
+ - vendor/avm/lib/avm/git/auto_commit/rules/manual.rb
714
+ - vendor/avm/lib/avm/git/auto_commit/rules/new.rb
715
+ - vendor/avm/lib/avm/git/auto_commit/rules/nth.rb
716
+ - vendor/avm/lib/avm/git/auto_commit/rules/unique.rb
717
+ - vendor/avm/lib/avm/git/auto_commit_path.rb
718
+ - vendor/avm/lib/avm/git/auto_commit_path/ruby.rb
719
+ - vendor/avm/lib/avm/git/commit.rb
720
+ - vendor/avm/lib/avm/git/commit/class_methods.rb
721
+ - vendor/avm/lib/avm/git/commit/deploy.rb
722
+ - vendor/avm/lib/avm/git/commit/deploy_methods.rb
723
+ - vendor/avm/lib/avm/git/commit/diff_tree_line.rb
724
+ - vendor/avm/lib/avm/git/commit/file.rb
725
+ - vendor/avm/lib/avm/git/file_auto_fixup.rb
726
+ - vendor/avm/lib/avm/git/issue.rb
727
+ - vendor/avm/lib/avm/git/issue/complete.rb
728
+ - vendor/avm/lib/avm/git/issue/complete/commits.rb
729
+ - vendor/avm/lib/avm/git/issue/complete/git_subrepos.rb
730
+ - vendor/avm/lib/avm/git/issue/complete/local_branch.rb
731
+ - vendor/avm/lib/avm/git/issue/complete/local_tag.rb
732
+ - vendor/avm/lib/avm/git/issue/complete/push.rb
733
+ - vendor/avm/lib/avm/git/issue/complete/remote.rb
734
+ - vendor/avm/lib/avm/git/issue/complete/test.rb
735
+ - vendor/avm/lib/avm/git/issue/complete/tracker.rb
736
+ - vendor/avm/lib/avm/git/issue/complete/validation.rb
737
+ - vendor/avm/lib/avm/git/issue/complete/validations.rb
738
+ - vendor/avm/lib/avm/git/issue/complete/working_tree.rb
739
+ - vendor/avm/lib/avm/git/issue/deliver.rb
740
+ - vendor/avm/lib/avm/git/organize.rb
741
+ - vendor/avm/lib/avm/git/organize/reference_update.rb
742
+ - vendor/avm/lib/avm/git/organize/repository.rb
743
+ - vendor/avm/lib/avm/git/revision_test.rb
744
+ - vendor/avm/lib/avm/git/subrepo_check.rb
745
+ - vendor/avm/lib/avm/git/subrepo_check/parent.rb
746
+ - vendor/avm/lib/avm/git/subrepo_check/remote.rb
747
+ - vendor/avm/lib/avm/git/subrepo_check/show_result.rb
748
+ - vendor/avm/lib/avm/git/subrepo_checks.rb
749
749
  - vendor/avm/lib/avm/instances/docker_image.rb
750
+ - vendor/avm/lib/avm/result.rb
750
751
  - vendor/avm/lib/avm/version.rb
751
752
  - vendor/avm/lib/avm/version_number.rb
753
+ - vendor/avm/spec/lib/avm/git/auto_commit_path_spec.rb
754
+ - vendor/avm/spec/lib/avm/git/commit/deploy_spec.rb
755
+ - vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec.rb
756
+ - vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.source.out
757
+ - vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.target.yaml
758
+ - vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.source.out
759
+ - vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.target.yaml
760
+ - vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.source.out
761
+ - vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.target.yaml
762
+ - vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.source.out
763
+ - vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.target.yaml
764
+ - vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.source.out
765
+ - vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.target.yaml
766
+ - vendor/avm/spec/lib/avm/git/commit_spec.rb
752
767
  - vendor/avm/spec/rubocop_spec.rb
753
768
  - vendor/avm/spec/spec_helper.rb
754
769
  - vendor/eac_cli/Gemfile
@@ -1350,7 +1365,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1350
1365
  - !ruby/object:Gem::Version
1351
1366
  version: '0'
1352
1367
  requirements: []
1353
- rubygems_version: 3.0.9
1368
+ rubygems_version: 3.1.6
1354
1369
  signing_key:
1355
1370
  specification_version: 4
1356
1371
  summary: Tools for AVM.