eac_tools 0.116.0 → 0.117.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +17 -17
  3. data/eac_tools.gemspec +2 -2
  4. data/lib/eac_tools/version.rb +1 -1
  5. data/sub/avm/lib/avm/launcher/context/instance_discovery/source_wrapper.rb +4 -5
  6. data/sub/avm/lib/avm/sources/base/update.rb +41 -13
  7. data/sub/avm/lib/avm/sources/change.rb +22 -0
  8. data/sub/avm/lib/avm/version.rb +1 -1
  9. data/sub/avm-eac_ruby_base1/.gitignore +2 -0
  10. data/sub/avm-eac_ruby_base1/.gitrepo +7 -0
  11. data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +25 -0
  12. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/add_or_replace_gem_line.rb +54 -0
  13. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/dependency.rb +17 -0
  14. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile.rb +32 -0
  15. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/depends_on.rb +22 -0
  16. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/gem_conflict.rb +41 -0
  17. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/in_gemfile.rb +14 -0
  18. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_buffer.rb +73 -0
  19. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_factory.rb +26 -0
  20. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_parser_base.rb +17 -0
  21. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/ruby_requirement.rb +13 -0
  22. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/version_requirement.rb +23 -0
  23. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser.rb +21 -0
  24. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/file_formats/base/file_resource_name.rb +44 -0
  25. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/file_formats/base.rb +19 -0
  26. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/instances/mixin.rb +24 -0
  27. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher/gem/build.rb +120 -0
  28. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher/gem/specification.rb +61 -0
  29. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/local_project_mixin.rb +24 -0
  30. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish/internal_check.rb +70 -0
  31. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish/local_gem.rb +31 -0
  32. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish/remote_gem.rb +45 -0
  33. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish.rb +32 -0
  34. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base.rb +32 -0
  35. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/preferred_version_requirements.rb +40 -0
  36. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec/setup.rb +13 -0
  37. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec/source_generator.rb +20 -0
  38. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/configured.rb +29 -0
  39. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/envvar.rb +15 -0
  40. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/gemfile.rb +39 -0
  41. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop.rb +54 -0
  42. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gem_search_parser.rb +34 -0
  43. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec/add_or_replace_gem_line.rb +69 -0
  44. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec/dependency.rb +28 -0
  45. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec.rb +57 -0
  46. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/base.rb +46 -0
  47. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/nexus.rb +29 -0
  48. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/rubygems_org.rb +37 -0
  49. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/remote.rb +31 -0
  50. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/version_file.rb +43 -0
  51. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base/lib_rename.rb +74 -0
  52. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base/rubocop.rb +27 -0
  53. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base.rb +14 -0
  54. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners.rb +8 -0
  55. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/dependencies.rb +59 -0
  56. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/gemfile_lock.rb +23 -0
  57. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/gemspec.rb +81 -0
  58. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/options.rb +32 -0
  59. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/root_module.rb +46 -0
  60. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/version_builder.rb +58 -0
  61. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base.rb +48 -0
  62. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundle_command.rb +35 -0
  63. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundler.rb +62 -0
  64. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/gem_provider.rb +46 -0
  65. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rake.rb +39 -0
  66. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubocop.rb +23 -0
  67. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubocop_command.rb +70 -0
  68. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubygems.rb +50 -0
  69. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/update.rb +30 -0
  70. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/version.rb +30 -0
  71. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/version_bump.rb +16 -0
  72. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base.rb +55 -0
  73. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/bundle_update.rb +21 -0
  74. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/gemfile_local/sibling.rb +51 -0
  75. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/gemfile_local.rb +65 -0
  76. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/namespace_replacer.rb +66 -0
  77. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundle.rb +26 -0
  78. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_local.rb +55 -0
  79. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_lock/git.rb +58 -0
  80. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_lock.rb +87 -0
  81. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/incompatible.rb +73 -0
  82. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler.rb +16 -0
  83. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/base.rb +57 -0
  84. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/minitest.rb +27 -0
  85. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple/decorated_gem.rb +50 -0
  86. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple/result.rb +29 -0
  87. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple.rb +85 -0
  88. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/rspec.rb +23 -0
  89. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update/changes/bundle_update.rb +28 -0
  90. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update/changes/update_requirements.rb +55 -0
  91. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update/sub_update.rb +57 -0
  92. data/sub/{avm-eac_generic_base0/lib/avm/eac_generic_base0 → avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/version.rb +2 -2
  93. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1.rb +15 -0
  94. data/sub/avm-eac_ruby_base1/locale/en.yml +19 -0
  95. data/sub/avm-eac_ruby_base1/locale/pt-BR.yml +19 -0
  96. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec.rb +5 -0
  97. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.source.out +192 -0
  98. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.target.yaml +300 -0
  99. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.source.out +245 -0
  100. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.target.yaml +355 -0
  101. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/3.source.out +0 -0
  102. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/3.target.yaml +305 -0
  103. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec.rb +13 -0
  104. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/Gemfile.source +6 -0
  105. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/Gemfile.target +3 -0
  106. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/ruby_code.rb.source +6 -0
  107. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/ruby_code.rb.target +5 -0
  108. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher/gem/build_spec.rb +43 -0
  109. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher/gem/specification_spec.rb +57 -0
  110. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish_spec.rb +25 -0
  111. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher_stereotypes/base_spec.rb +21 -0
  112. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/preferred_version_requirements_spec.rb +21 -0
  113. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec.rb +5 -0
  114. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec_files/empty.source +1 -0
  115. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec_files/empty.target.yaml +1 -0
  116. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec_files/many_versions.source +1 -0
  117. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec_files/many_versions.target.yaml +123 -0
  118. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec.rb +35 -0
  119. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec_files/changes1.source.yaml +5 -0
  120. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec_files/changes1.target.txt +15 -0
  121. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec_files/the_gem.gemspec +15 -0
  122. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/version_file_spec.rb +13 -0
  123. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/version_file_spec_files/a_version_file.rb +7 -0
  124. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec.rb +33 -0
  125. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir1/.avm.yml +4 -0
  126. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir1/dir3/Gemfile +5 -0
  127. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir1/dir3/Gemfile.lock +27 -0
  128. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir2/empty.rb +1 -0
  129. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir4/.avm.yml +4 -0
  130. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir4/false_command.rb +4 -0
  131. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec.rb +16 -0
  132. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/.rspec +1 -0
  133. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/.rubocop.yml +3 -0
  134. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/Gemfile +8 -0
  135. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/Gemfile.lock +1 -0
  136. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/_gitignore +2 -0
  137. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/dashed-mygem.gemspec +20 -0
  138. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem/version.rb +7 -0
  139. data/sub/{avm-eac_generic_base0/lib/avm/eac_generic_base0.rb → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem.rb} +2 -4
  140. data/sub/{avm-eac_generic_base0 → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem}/spec/spec_helper.rb +1 -1
  141. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/.rspec +1 -0
  142. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/.rubocop.yml +3 -0
  143. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/Gemfile +8 -0
  144. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/Gemfile.lock +1 -0
  145. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/_gitignore +2 -0
  146. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/lib/mygem/version.rb +5 -0
  147. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/lib/mygem.rb +7 -0
  148. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/mygem.gemspec +20 -0
  149. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/spec/meta/rubocop_spec.rb +3 -0
  150. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/spec/spec_helper.rb +5 -0
  151. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec.rb +28 -0
  152. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Gemfile +5 -0
  153. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Gemfile.lock +19 -0
  154. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Rakefile +14 -0
  155. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/exe/myrunner +5 -0
  156. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/lib/mygem/version.rb +5 -0
  157. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/lib/mygem.rb +7 -0
  158. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/mygem.gemspec +17 -0
  159. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base_spec.rb +13 -0
  160. data/sub/avm-eac_ruby_base1/spec/meta/rubocop_spec.rb +3 -0
  161. data/sub/avm-eac_ruby_base1/spec/spec_helper.rb +5 -0
  162. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/gemspec.template +19 -0
  163. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/root_lib.template +8 -0
  164. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/.gitignore +2 -0
  165. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/.rspec +1 -0
  166. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/.rubocop.yml +3 -0
  167. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/Gemfile +8 -0
  168. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/spec/meta/rubocop_spec.rb +3 -0
  169. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/spec/spec_helper.rb.template +5 -0
  170. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/version.template +5 -0
  171. metadata +173 -35
  172. data/sub/avm-eac_generic_base0/.gitignore +0 -2
  173. data/sub/avm-eac_generic_base0/.gitrepo +0 -7
  174. data/sub/avm-eac_generic_base0/avm-eac_generic_base0.gemspec +0 -21
  175. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/apply.rb +0 -29
  176. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/file_resource_name_helper.rb +0 -21
  177. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/match.rb +0 -65
  178. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb +0 -38
  179. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/instances/base.rb +0 -10
  180. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/base.rb +0 -40
  181. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/docker/runner.rb +0 -59
  182. data/sub/avm-eac_generic_base0/locale/en.yml +0 -6
  183. data/sub/avm-eac_generic_base0/locale/pt-BR.yml +0 -6
  184. data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/file_formats/base_spec.rb +0 -5
  185. data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/file_formats/base_spec_files/plain_text.source +0 -3
  186. data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/file_formats/base_spec_files/plain_text.target +0 -3
  187. data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/sources/base_spec.rb +0 -5
  188. /data/sub/{avm-eac_generic_base0 → avm-eac_ruby_base1}/.rspec +0 -0
  189. /data/sub/{avm-eac_generic_base0 → avm-eac_ruby_base1}/.rubocop.yml +0 -0
  190. /data/sub/{avm-eac_generic_base0 → avm-eac_ruby_base1}/Gemfile +0 -0
  191. /data/sub/{avm-eac_generic_base0/spec → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/spec/meta}/rubocop_spec.rb +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 12cba04d2fca4d8decd2065f615918155947c6f0b9d08b52ac3d55d12f189dc2
4
- data.tar.gz: ac8a37832d991d81e8dd685d95fb2ec2a844275ef555c54da5df40c0f43b9739
3
+ metadata.gz: b9d602c2d1834e92b6a22f3ccdae155d42a281ad51c5689baa7a2c444742573e
4
+ data.tar.gz: b4f40cfeab8da22ba922c11b5f4d55f0a0e22c4d478cd92b76d3223f7520c714
5
5
  SHA512:
6
- metadata.gz: 39eb9e006d4a8fa38366e5164c4dab73aac8f8345a66aa8f80fdca15ce0f43ac01428ebae510ce6e8132e1875289497d24fc8f84ba29f8c0bfa1058da08825b0
7
- data.tar.gz: 97fa9487da030ebcf7ddc6ec3970c4f7d3c69302309e2c0867951e8f04aa5b0acef5132a2012c60711910b07a33c45e9b102a379a9db10159ab0d00f5b097f93
6
+ metadata.gz: 50f81a0b8c5e24d53e9a34cce2d6e98592df12f70749e8ee98430b9a258541310dc6c2800981d919847d4e3bf9542924bf9f01630ae57985822aad93f87684e2
7
+ data.tar.gz: 4088c021ae1979c991a8fd48c66fa177f965cae11b4267f722fcf3363404c4cce15ca465b4193dfee125542cebedd25414079a2cd374bdbbef5e77ba131fc160
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eac_tools (0.116.0)
5
- avm (~> 0.101)
4
+ eac_tools (0.117.0)
5
+ avm (~> 0.102)
6
6
  avm-eac_asciidoctor_base0 (~> 0.27)
7
7
  avm-eac_generic_base0 (~> 0.15, >= 0.15.3)
8
8
  avm-eac_github_base0 (~> 0.4, >= 0.4.1)
@@ -16,7 +16,7 @@ PATH
16
16
  avm-eac_redmine_base0 (~> 0.26)
17
17
  avm-eac_redmine_plugin_base0 (~> 0.5)
18
18
  avm-eac_ruby_base0 (~> 0.2, >= 0.2.1)
19
- avm-eac_ruby_base1 (~> 0.41, >= 0.41.1)
19
+ avm-eac_ruby_base1 (~> 0.42)
20
20
  avm-eac_webapp_base0 (~> 0.22, >= 0.22.2)
21
21
  avm-eac_wordpress_base0 (~> 0.3, >= 0.3.2)
22
22
  avm-git (~> 0.21, >= 0.21.2)
@@ -24,16 +24,19 @@ PATH
24
24
  eac_ruby_utils (~> 0.131)
25
25
 
26
26
  PATH
27
- remote: sub/avm-eac_generic_base0
27
+ remote: sub/avm-eac_ruby_base1
28
28
  specs:
29
- avm-eac_generic_base0 (0.15.3)
30
- avm (~> 0.100)
29
+ avm-eac_ruby_base1 (0.42.0)
30
+ aranha-parsers (~> 0.29)
31
+ avm (~> 0.101)
32
+ avm-eac_generic_base0 (~> 0.15, >= 0.15.3)
33
+ eac_envs-http (~> 0.7, >= 0.7.1)
31
34
  eac_ruby_utils (~> 0.131)
32
35
 
33
36
  PATH
34
37
  remote: sub/avm
35
38
  specs:
36
- avm (0.101.0)
39
+ avm (0.102.0)
37
40
  eac_cli (~> 0.47)
38
41
  eac_config (~> 0.15)
39
42
  eac_docker (~> 0.8)
@@ -72,6 +75,9 @@ GEM
72
75
  eac_ruby_utils (~> 0.130)
73
76
  os (~> 1.1, >= 1.1.4)
74
77
  rouge (~> 3.30)
78
+ avm-eac_generic_base0 (0.15.3)
79
+ avm (~> 0.100)
80
+ eac_ruby_utils (~> 0.131)
75
81
  avm-eac_github_base0 (0.4.1)
76
82
  avm (~> 0.98, >= 0.98.5)
77
83
  avm-git (~> 0.21, >= 0.21.2)
@@ -116,12 +122,6 @@ GEM
116
122
  avm-eac_ruby_base0 (0.2.1)
117
123
  avm-eac_ruby_base1 (~> 0.41)
118
124
  eac_ruby_utils (~> 0.131)
119
- avm-eac_ruby_base1 (0.41.1)
120
- aranha-parsers (~> 0.27)
121
- avm (~> 0.100)
122
- avm-eac_generic_base0 (~> 0.15, >= 0.15.2)
123
- eac_envs-http (~> 0.7, >= 0.7.1)
124
- eac_ruby_utils (~> 0.131)
125
125
  avm-eac_ubuntu_base0 (0.7.0)
126
126
  avm (~> 0.98, >= 0.98.2)
127
127
  eac_ruby_utils (~> 0.128, >= 0.128.6)
@@ -232,7 +232,7 @@ GEM
232
232
  i18n (1.15.2)
233
233
  concurrent-ruby (~> 1.0)
234
234
  json (2.20.0)
235
- language_server-protocol (3.17.0.5)
235
+ language_server-protocol (3.17.0.6)
236
236
  lint_roller (1.1.0)
237
237
  logger (1.7.0)
238
238
  memoized (1.1.3)
@@ -281,7 +281,7 @@ GEM
281
281
  diff-lcs (>= 1.2.0, < 2.0)
282
282
  rspec-support (~> 3.13.0)
283
283
  rspec-support (3.13.7)
284
- rubocop (1.88.0)
284
+ rubocop (1.88.1)
285
285
  json (~> 2.3)
286
286
  language_server-protocol (~> 3.17.0.2)
287
287
  lint_roller (~> 1.1.0)
@@ -292,7 +292,7 @@ GEM
292
292
  rubocop-ast (>= 1.49.0, < 2.0)
293
293
  ruby-progressbar (~> 1.7)
294
294
  unicode-display_width (>= 2.4.0, < 4.0)
295
- rubocop-ast (1.49.1)
295
+ rubocop-ast (1.50.0)
296
296
  parser (>= 3.3.7.2)
297
297
  prism (~> 1.7)
298
298
  rubocop-rails (2.35.5)
@@ -337,7 +337,7 @@ PLATFORMS
337
337
 
338
338
  DEPENDENCIES
339
339
  avm!
340
- avm-eac_generic_base0!
340
+ avm-eac_ruby_base1!
341
341
  eac_ruby_gem_support (~> 0.13)
342
342
  eac_tools!
343
343
 
data/eac_tools.gemspec CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
18
18
 
19
19
  s.required_ruby_version = '>= 3.2'
20
20
 
21
- s.add_dependency 'avm', '~> 0.101'
21
+ s.add_dependency 'avm', '~> 0.102'
22
22
  s.add_dependency 'avm-eac_asciidoctor_base0', '~> 0.27'
23
23
  s.add_dependency 'avm-eac_generic_base0', '~> 0.15', '>= 0.15.3'
24
24
  s.add_dependency 'avm-eac_github_base0', '~> 0.4', '>= 0.4.1'
@@ -32,7 +32,7 @@ Gem::Specification.new do |s|
32
32
  s.add_dependency 'avm-eac_redmine_base0', '~> 0.26'
33
33
  s.add_dependency 'avm-eac_redmine_plugin_base0', '~> 0.5'
34
34
  s.add_dependency 'avm-eac_ruby_base0', '~> 0.2', '>= 0.2.1'
35
- s.add_dependency 'avm-eac_ruby_base1', '~> 0.41', '>= 0.41.1'
35
+ s.add_dependency 'avm-eac_ruby_base1', '~> 0.42'
36
36
  s.add_dependency 'avm-eac_webapp_base0', '~> 0.22', '>= 0.22.2'
37
37
  s.add_dependency 'avm-eac_wordpress_base0', '~> 0.3', '>= 0.3.2'
38
38
  s.add_dependency 'avm-git', '~> 0.21', '>= 0.21.2'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacTools
4
- VERSION = '0.116.0'
4
+ VERSION = '0.117.0'
5
5
  end
@@ -7,7 +7,7 @@ module Avm
7
7
  class Context
8
8
  class InstanceDiscovery
9
9
  class SourceWrapper
10
- enable_simple_cache
10
+ enable_memoized
11
11
  enable_speaker
12
12
 
13
13
  common_constructor :owner, :logical_path, :parent_project
@@ -24,9 +24,10 @@ module Avm
24
24
  end
25
25
 
26
26
  # @return [Avm::Launcher::Instances::Base, nil]
27
- def self_project
27
+ memoize def self_project
28
28
  return nil unless logical_path.project?
29
29
 
30
+ infov logical_path, logical_path.real
30
31
  ::Avm::Launcher::Instances::Base.instanciate(logical_path,
31
32
  parent_project)
32
33
  end
@@ -49,10 +50,8 @@ module Avm
49
50
  []
50
51
  end
51
52
 
52
- protected
53
-
54
53
  # @return [Avm::Sources::Base]
55
- def warped_source_uncached
54
+ memoize def warped_source
56
55
  ::Avm::Registry.sources.detect(logical_path.warped)
57
56
  end
58
57
  end
@@ -4,32 +4,60 @@ module Avm
4
4
  module Sources
5
5
  class Base
6
6
  module Update
7
+ common_concern do
8
+ enable_speaker
9
+ end
10
+
7
11
  # To override in subclasses.
8
12
  def on_sub_updated
9
13
  # Do nothing
10
14
  end
11
15
 
16
+ # @return [void]
12
17
  def update
13
- update_self
18
+ update_self_before_subs
14
19
  update_subs
20
+ update_self_after_subs
15
21
  end
16
22
 
17
- def update_self
18
- scm.commit_if_change(-> { update_self_commit_message }) do
19
- update_self_content
20
- parent.if_present(&:on_sub_updated)
21
- end
23
+ # @param changes [Enumerable<Avm::Sources::Change>]
24
+ # @return [void]
25
+ def update_self(changes)
26
+ changes.each { |change| update_self_with_change(change) }
22
27
  end
23
28
 
24
- # Update source self content.
25
- #
26
- # To override in subclasses.
27
- def update_self_content
28
- # Do nothing
29
+ # @return [void]
30
+ def update_self_after_subs
31
+ infov __method__, self
32
+ update_self(update_self_changes_after_subs)
33
+ end
34
+
35
+ # @return [void]
36
+ def update_self_before_subs
37
+ infov __method__, self
38
+ update_self(update_self_changes_before_subs)
39
+ end
40
+
41
+ # Changes for update after subs' updating.
42
+ # @return [Enumerable<Avm::Sources::Change>]
43
+ def update_self_changes_after_subs
44
+ []
29
45
  end
30
46
 
31
- def update_self_commit_message
32
- i18n_translate(__method__)
47
+ # Changes for update before subs' updating.
48
+ # @return [Enumerable<Avm::Sources::Change>]
49
+ def update_self_changes_before_subs
50
+ []
51
+ end
52
+
53
+ # @param change [Avm::Sources::Change]
54
+ # @return [void]
55
+ def update_self_with_change(change)
56
+ infov 'Performing change', change
57
+ scm.commit_if_change(-> { change.commit_message }) do
58
+ change.perform
59
+ parent.if_present(&:on_sub_updated)
60
+ end
33
61
  end
34
62
  end
35
63
  end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Sources
5
+ class Change
6
+ acts_as_abstract
7
+ common_constructor :source
8
+
9
+ # Message for the commit.
10
+ # @return [String]
11
+ def commit_message
12
+ i18n_translate(__method__)
13
+ end
14
+
15
+ # Apply the changes to the source.
16
+ # @return [void]
17
+ def perform
18
+ raise_abstract_method __method__
19
+ end
20
+ end
21
+ end
22
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Avm
4
- VERSION = '0.101.0'
4
+ VERSION = '0.102.0'
5
5
  end
@@ -0,0 +1,2 @@
1
+ /Gemfile.local
2
+ /Gemfile.lock
@@ -0,0 +1,7 @@
1
+ [subrepo]
2
+ cmdver = 0.4.9
3
+ commit = 3e1b3f87d7d8296504ccf506db546bc52ef492ee
4
+ method = merge
5
+ parent = 8877b6b4c21c1d4e50c213f03816288681485ce5
6
+ branch = master
7
+ remote = https://github.com/esquilo-azul/avm-eac_ruby_base1.git
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
4
+
5
+ require 'avm/eac_ruby_base1/version'
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = 'avm-eac_ruby_base1'
9
+ s.version = Avm::EacRubyBase1::VERSION
10
+ s.authors = ['Put here the authors']
11
+ s.summary = 'Put here de description.'
12
+
13
+ s.add_dependency 'aranha-parsers', '~> 0.29'
14
+
15
+ s.files = Dir.glob('{lib,locale,template}/**/*', File::FNM_DOTMATCH)
16
+ .reject { |f| ['.', '..'].include?(File.basename(f)) }
17
+ s.required_ruby_version = '>= 3.2'
18
+
19
+ s.add_dependency 'avm', '~> 0.101'
20
+ s.add_dependency 'avm-eac_generic_base0', '~> 0.15', '>= 0.15.3'
21
+ s.add_dependency 'eac_envs-http', '~> 0.7', '>= 0.7.1'
22
+ s.add_dependency 'eac_ruby_utils', '~> 0.131'
23
+
24
+ s.add_development_dependency 'eac_ruby_gem_support', '~> 0.13'
25
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Bundler
6
+ class Gemfile
7
+ class AddOrReplaceGemLine
8
+ enable_method_class
9
+ common_constructor :sender, :gem_name, :gem_specs
10
+ delegate :lines, to: :sender
11
+
12
+ def existing_gem_line_index
13
+ lines.index { |line| line.start_with?(gem_line_prefix) }
14
+ end
15
+
16
+ def result
17
+ if existing_gem_line_index.present?
18
+ replace_line
19
+ else
20
+ add_line
21
+ end
22
+ end
23
+
24
+ def add_line
25
+ lines.insert(add_line_index, new_gem_line)
26
+ end
27
+
28
+ def add_line_index
29
+ (gems_lines_start_index..(lines.count - 1)).each do |e|
30
+ return e if new_gem_line < lines[e]
31
+ end
32
+ lines.count
33
+ end
34
+
35
+ def gems_lines_start_index
36
+ lines.index { |line| line.start_with?('gem ') } || lines.count
37
+ end
38
+
39
+ def new_gem_line
40
+ ([gem_line_prefix] + gem_specs).join(', ')
41
+ end
42
+
43
+ def gem_line_prefix
44
+ "gem '#{gem_name}'"
45
+ end
46
+
47
+ def replace_line
48
+ lines[existing_gem_line_index] = new_gem_line
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Bundler
6
+ class Gemfile
7
+ class Dependency
8
+ common_constructor :gemfile, :gem_name
9
+
10
+ def version_specs=(version_specs)
11
+ gemfile.add_or_replace_gem_line(gem_name, version_specs)
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Bundler
6
+ class Gemfile
7
+ require_sub __FILE__, require_mode: :kernel
8
+
9
+ class << self
10
+ def from_file(path)
11
+ new(path.read.each_line.map(&:rstrip))
12
+ end
13
+ end
14
+
15
+ common_constructor :lines
16
+
17
+ # @return [Avm::EacRubyBase1::Bundler::Gemfile::Dependency]
18
+ def dependency(gem_name)
19
+ ::Avm::EacRubyBase1::Bundler::Gemfile::Dependency.new(self, gem_name)
20
+ end
21
+
22
+ def write(path)
23
+ path.to_pathname.write(to_text)
24
+ end
25
+
26
+ def to_text
27
+ lines.map { |line| "#{line}\n" }.join
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Bundler
6
+ class IncompatibleParser
7
+ class DependsOn < ::Avm::EacRubyBase1::Bundler::IncompatibleParser::LineParserBase
8
+ LINE_PARSER = /(.+) was resolved to (.+), which depends on/
9
+ .to_parser { |m| new(m[1], m[2]) }
10
+
11
+ common_constructor :gem_name, :version do
12
+ self.version = ::Gem::Version.new(version)
13
+ end
14
+
15
+ def data
16
+ { gem_name: gem_name, version: version }
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Bundler
6
+ class IncompatibleParser
7
+ class GemConflict < ::Avm::EacRubyBase1::Bundler::IncompatibleParser::LineParserBase
8
+ LINE_PARSER = /Bundler could not find compatible versions for gem "(.+)":/
9
+ .to_parser { |m| new(m[1]) }
10
+
11
+ enable_simple_cache
12
+ common_constructor :gem_name
13
+
14
+ def add_depends_on(depends_on)
15
+ depends_on_stack << depends_on
16
+ end
17
+
18
+ def add_version_requirement(version_requirement)
19
+ version_requirement.stack = depends_on_stack
20
+ versions_requirements << version_requirement
21
+ @depends_on_stack = nil
22
+ end
23
+
24
+ def data
25
+ { gem_name: gem_name, versions_requirements: versions_requirements.map(&:data) }
26
+ end
27
+
28
+ def versions_requirements
29
+ @versions_requirements ||= []
30
+ end
31
+
32
+ private
33
+
34
+ def depends_on_stack
35
+ @depends_on_stack ||= []
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Bundler
6
+ class IncompatibleParser
7
+ class InGemfile < ::Avm::EacRubyBase1::Bundler::IncompatibleParser::LineParserBase
8
+ LINE_PARSER = /In Gemfile:/
9
+ .to_parser { |_m| new }
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,73 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Bundler
6
+ class IncompatibleParser
7
+ class LineBuffer
8
+ class << self
9
+ def from_file(path)
10
+ new(::File.read(path.to_s))
11
+ end
12
+ end
13
+
14
+ attr_reader :gems_in_conflict
15
+
16
+ def initialize(content)
17
+ self.gems_in_conflict = []
18
+ self.parsing_required = false
19
+ content.each_line { |string_line| add_line(LineFactory.new(string_line)) }
20
+ end
21
+
22
+ private
23
+
24
+ attr_accessor :parsing_required
25
+ attr_writer :gems_in_conflict
26
+
27
+ def add_line(line)
28
+ return if line.blank?
29
+
30
+ return if LineFactory::TYPES.any? do |type|
31
+ next false unless line.result.is_a?(type)
32
+
33
+ send("on_#{type.name.demodulize.underscore.variableize}_line", line.result)
34
+ true
35
+ end
36
+
37
+ return unless parsing_required
38
+
39
+ raise(::ArgumentError, "Unparsed line: \"#{line.content}\"")
40
+ end
41
+
42
+ def on_gem_conflict_line(result)
43
+ self.parsing_required = true
44
+ gems_in_conflict << result
45
+ end
46
+
47
+ def on_in_gemfile_line(result)
48
+ # Do nothing
49
+ end
50
+
51
+ def on_depends_on_line(result)
52
+ current_gem_conflict.add_depends_on(result)
53
+ end
54
+
55
+ def on_ruby_requirement_line(result)
56
+ # Do nothing
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,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Bundler
6
+ class IncompatibleParser
7
+ class LineFactory
8
+ TYPES = [GemConflict, InGemfile, DependsOn, RubyRequirement, VersionRequirement].freeze
9
+
10
+ enable_simple_cache
11
+ common_constructor :content do
12
+ self.content = content.strip
13
+ end
14
+
15
+ delegate :blank?, to: :content
16
+
17
+ private
18
+
19
+ def result_uncached
20
+ TYPES.lazy.map { |type| type.parse(content) }.find(&:present?)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Bundler
6
+ class IncompatibleParser
7
+ class LineParserBase
8
+ class << self
9
+ def parse(line_content)
10
+ const_get('LINE_PARSER').parse(line_content)
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Bundler
6
+ class IncompatibleParser
7
+ class RubyRequirement < ::Avm::EacRubyBase1::Bundler::IncompatibleParser::LineParserBase
8
+ LINE_PARSER = /\Aruby/.to_parser { |_m| new }
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Bundler
6
+ class IncompatibleParser
7
+ class VersionRequirement < ::Avm::EacRubyBase1::Bundler::IncompatibleParser::LineParserBase
8
+ LINE_PARSER = /\A([a-z][a-z\-_0-9]*)(?: \((.+)\))?\z/
9
+ .to_parser { |m| new(m[1], m[2]) }
10
+
11
+ enable_simple_cache
12
+ attr_accessor :stack
13
+
14
+ common_constructor :gem_name, :requirements_source
15
+
16
+ def data
17
+ { requirements_source: requirements_source, stack: stack.map(&:data) }
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Bundler
6
+ class IncompatibleParser
7
+ enable_simple_cache
8
+ attr_reader :gems_in_conflict
9
+
10
+ def initialize(path)
11
+ @gems_in_conflict = ::Avm::EacRubyBase1::Bundler::IncompatibleParser::LineBuffer
12
+ .from_file(path).gems_in_conflict.freeze
13
+ end
14
+
15
+ def data
16
+ gems_in_conflict.map(&:data)
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end