eac_tools 0.112.0 → 0.113.1

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 (313) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +64 -74
  3. data/eac_tools.gemspec +6 -6
  4. data/lib/eac_tools/version.rb +1 -1
  5. data/sub/avm/avm.gemspec +4 -3
  6. data/sub/avm/lib/avm/rspec/shared_examples/avm_source_generated.rb +4 -0
  7. data/sub/avm/lib/avm/version.rb +1 -1
  8. data/sub/avm-eac_ruby_base0/avm-eac_ruby_base0.gemspec +21 -0
  9. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/rspec/setup.rb +13 -0
  10. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/rspec/source_generator.rb +31 -0
  11. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/source_generators/base/application.rb +33 -0
  12. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/source_generators/base/executable.rb +29 -0
  13. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/source_generators/base/runner.rb +33 -0
  14. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/source_generators/base.rb +49 -0
  15. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/sources/base/executable.rb +59 -0
  16. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/sources/base.rb +16 -0
  17. data/sub/{avm-eac_webapp_base0/lib/avm/eac_webapp_base0 → avm-eac_ruby_base0/lib/avm/eac_ruby_base0}/version.rb +2 -2
  18. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0.rb +11 -0
  19. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec.rb +42 -0
  20. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/Gemfile.lock +108 -0
  21. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/_gitignore +2 -0
  22. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/dashed-mygem.gemspec +24 -0
  23. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/exe/dashed-mygem +6 -0
  24. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem/runner.rb +17 -0
  25. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem/self.rb +13 -0
  26. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem/version.rb +7 -0
  27. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem.rb +11 -0
  28. data/sub/{avm-tools/lib/avm/tools/core_ext.rb → avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed.rb} +3 -0
  29. data/sub/{avm-tools → avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem}/spec/spec_helper.rb +1 -3
  30. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/Gemfile +8 -0
  31. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/Gemfile.lock +108 -0
  32. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/_gitignore +2 -0
  33. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/exe/mygem_underscore +6 -0
  34. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/lib/mygem_underscore/runner.rb +15 -0
  35. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/lib/mygem_underscore/self.rb +11 -0
  36. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/lib/mygem_underscore/version.rb +5 -0
  37. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/lib/mygem_underscore.rb +9 -0
  38. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/mygem_underscore.gemspec +24 -0
  39. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/spec/spec_helper.rb +5 -0
  40. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/sources/base_spec.rb +13 -0
  41. data/sub/avm-eac_ruby_base0/spec/meta/rubocop_spec.rb +3 -0
  42. data/sub/{avm-eac_webapp_base0 → avm-eac_ruby_base0}/spec/spec_helper.rb +1 -1
  43. data/sub/avm-eac_ruby_base0/template/avm/eac_ruby_base0/source_generators/base/application.template +11 -0
  44. data/sub/avm-eac_ruby_base0/template/avm/eac_ruby_base0/source_generators/base/executable.template +6 -0
  45. data/sub/avm-eac_ruby_base0/template/avm/eac_ruby_base0/source_generators/base/runner.template +15 -0
  46. data/sub/avm-eac_ruby_base1/Gemfile +8 -0
  47. data/sub/{avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec → avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec} +9 -8
  48. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/add_or_replace_gem_line.rb +54 -0
  49. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/dependency.rb +17 -0
  50. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile.rb +32 -0
  51. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/depends_on.rb +22 -0
  52. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/gem_conflict.rb +41 -0
  53. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/in_gemfile.rb +14 -0
  54. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_buffer.rb +73 -0
  55. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_factory.rb +26 -0
  56. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_parser_base.rb +17 -0
  57. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/ruby_requirement.rb +13 -0
  58. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/version_requirement.rb +23 -0
  59. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser.rb +21 -0
  60. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/file_formats/base/file_resource_name.rb +44 -0
  61. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/file_formats/base.rb +19 -0
  62. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/instances/mixin.rb +24 -0
  63. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher/gem/build.rb +120 -0
  64. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher/gem/specification.rb +61 -0
  65. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/local_project_mixin.rb +24 -0
  66. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish/internal_check.rb +70 -0
  67. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish/local_gem.rb +31 -0
  68. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish/remote_gem.rb +45 -0
  69. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish.rb +32 -0
  70. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base.rb +32 -0
  71. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/preferred_version_requirements.rb +40 -0
  72. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec/setup.rb +13 -0
  73. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec/source_generator.rb +20 -0
  74. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/configured.rb +29 -0
  75. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/envvar.rb +15 -0
  76. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/gemfile.rb +39 -0
  77. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop.rb +54 -0
  78. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gem_search_parser.rb +34 -0
  79. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec/add_or_replace_gem_line.rb +69 -0
  80. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec/dependency.rb +23 -0
  81. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec.rb +57 -0
  82. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/base.rb +46 -0
  83. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/nexus.rb +29 -0
  84. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/rubygems_org.rb +37 -0
  85. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/remote.rb +31 -0
  86. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/version_file.rb +43 -0
  87. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base/lib_rename.rb +74 -0
  88. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base/rubocop.rb +27 -0
  89. data/sub/{avm-tools/lib/avm/tools/runner/applications.rb → avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base.rb} +4 -3
  90. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners.rb +8 -0
  91. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/dependencies.rb +59 -0
  92. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/gemfile_lock.rb +23 -0
  93. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/gemspec.rb +81 -0
  94. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/options.rb +32 -0
  95. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/root_module.rb +46 -0
  96. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/version_builder.rb +58 -0
  97. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base.rb +48 -0
  98. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundle_command.rb +35 -0
  99. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundler.rb +62 -0
  100. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/gem_provider.rb +46 -0
  101. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rake.rb +39 -0
  102. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubocop.rb +23 -0
  103. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubocop_command.rb +70 -0
  104. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubygems.rb +50 -0
  105. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/update.rb +29 -0
  106. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/version.rb +30 -0
  107. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/version_bump.rb +16 -0
  108. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base.rb +55 -0
  109. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/bundle_update.rb +21 -0
  110. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/gemfile_local/sibling.rb +51 -0
  111. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/gemfile_local.rb +65 -0
  112. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/namespace_replacer.rb +66 -0
  113. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundle.rb +26 -0
  114. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_local.rb +55 -0
  115. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_lock/git.rb +58 -0
  116. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_lock.rb +87 -0
  117. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/incompatible.rb +73 -0
  118. data/sub/{avm-tools/lib/avm/tools/runner/source/issue.rb → avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler.rb} +5 -5
  119. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/update_dependencies_requirements.rb +64 -0
  120. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/base.rb +57 -0
  121. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/minitest.rb +27 -0
  122. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple/decorated_gem.rb +50 -0
  123. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple/result.rb +29 -0
  124. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple.rb +85 -0
  125. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/rspec.rb +23 -0
  126. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update/sub_update.rb +57 -0
  127. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update_dependency_requirements.rb +61 -0
  128. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +7 -0
  129. data/sub/{avm-eac_webapp_base0/lib/avm/eac_webapp_base0.rb → avm-eac_ruby_base1/lib/avm/eac_ruby_base1.rb} +4 -3
  130. data/sub/avm-eac_ruby_base1/locale/en.yml +16 -0
  131. data/sub/avm-eac_ruby_base1/locale/pt-BR.yml +16 -0
  132. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec.rb +5 -0
  133. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.source.out +192 -0
  134. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.target.yaml +300 -0
  135. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.source.out +245 -0
  136. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.target.yaml +355 -0
  137. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/3.source.out +0 -0
  138. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/3.target.yaml +305 -0
  139. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec.rb +13 -0
  140. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/Gemfile.source +6 -0
  141. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/Gemfile.target +3 -0
  142. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/ruby_code.rb.source +6 -0
  143. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/ruby_code.rb.target +5 -0
  144. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher/gem/build_spec.rb +43 -0
  145. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher/gem/specification_spec.rb +57 -0
  146. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish_spec.rb +25 -0
  147. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher_stereotypes/base_spec.rb +21 -0
  148. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/preferred_version_requirements_spec.rb +21 -0
  149. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec.rb +5 -0
  150. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec_files/empty.source +1 -0
  151. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec_files/empty.target.yaml +1 -0
  152. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec_files/many_versions.source +1 -0
  153. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec_files/many_versions.target.yaml +123 -0
  154. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec.rb +35 -0
  155. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec_files/changes1.source.yaml +5 -0
  156. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec_files/changes1.target.txt +15 -0
  157. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec_files/the_gem.gemspec +15 -0
  158. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/version_file_spec.rb +13 -0
  159. data/sub/{avm-tools/lib/avm/tools/version.rb → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/version_file_spec_files/a_version_file.rb} +1 -1
  160. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec.rb +33 -0
  161. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir1/dir3/Gemfile +5 -0
  162. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir1/dir3/Gemfile.lock +27 -0
  163. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir2/empty.rb +1 -0
  164. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir4/false_command.rb +4 -0
  165. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec.rb +16 -0
  166. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/Gemfile +8 -0
  167. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/Gemfile.lock +1 -0
  168. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/_gitignore +2 -0
  169. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/dashed-mygem.gemspec +20 -0
  170. 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
  171. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem.rb +9 -0
  172. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/spec/meta/rubocop_spec.rb +3 -0
  173. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/spec/spec_helper.rb +5 -0
  174. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/Gemfile +8 -0
  175. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/Gemfile.lock +1 -0
  176. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/_gitignore +2 -0
  177. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/lib/mygem/version.rb +5 -0
  178. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/lib/mygem.rb +7 -0
  179. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/mygem.gemspec +20 -0
  180. 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
  181. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/spec/spec_helper.rb +5 -0
  182. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec.rb +28 -0
  183. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Gemfile +5 -0
  184. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Gemfile.lock +19 -0
  185. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Rakefile +14 -0
  186. data/sub/{avm-tools/exe/avm → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/exe/myrunner} +1 -2
  187. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/lib/mygem/version.rb +5 -0
  188. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/lib/mygem.rb +7 -0
  189. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/mygem.gemspec +17 -0
  190. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base_spec.rb +13 -0
  191. data/sub/avm-eac_ruby_base1/spec/meta/rubocop_spec.rb +3 -0
  192. data/sub/avm-eac_ruby_base1/spec/spec_helper.rb +5 -0
  193. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/gemspec.template +19 -0
  194. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/root_lib.template +8 -0
  195. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/Gemfile +8 -0
  196. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/spec/meta/rubocop_spec.rb +3 -0
  197. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/spec/spec_helper.rb.template +5 -0
  198. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/version.template +5 -0
  199. metadata +213 -148
  200. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/executables.rb +0 -23
  201. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb +0 -44
  202. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css.rb +0 -17
  203. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/html.rb +0 -42
  204. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/javascript.rb +0 -19
  205. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/json.rb +0 -23
  206. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/provider.rb +0 -17
  207. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/xml.rb +0 -23
  208. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_base.rb +0 -28
  209. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_host.rb +0 -72
  210. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_path.rb +0 -37
  211. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/apache.rb +0 -42
  212. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/deploy.rb +0 -24
  213. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/deploy_info.rb +0 -27
  214. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/install.rb +0 -24
  215. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base.rb +0 -37
  216. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/appended_directories.rb +0 -25
  217. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/build.rb +0 -45
  218. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/info.rb +0 -44
  219. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/scm.rb +0 -88
  220. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/setup_files_unit.rb +0 -53
  221. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/write_on_target.rb +0 -18
  222. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy.rb +0 -70
  223. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy_info.rb +0 -35
  224. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/processes/web_server.rb +0 -34
  225. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/apache_host.rb +0 -34
  226. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/apache_path.rb +0 -38
  227. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/deploy.rb +0 -47
  228. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/deploy_info.rb +0 -24
  229. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/sources/base.rb +0 -13
  230. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec.rb +0 -7
  231. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec_files/css1.source.css +0 -11
  232. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec_files/css1.target.css +0 -11
  233. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec.rb +0 -7
  234. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.erb.source +0 -8
  235. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.erb.target +0 -8
  236. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.source +0 -5
  237. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.target +0 -5
  238. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec.rb +0 -7
  239. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec_files/javascript_code1.js.source +0 -29
  240. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec_files/javascript_code1.js.target +0 -21
  241. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec.rb +0 -7
  242. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec_files/json_code.json.source +0 -8
  243. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec_files/json_code.json.target +0 -7
  244. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec.rb +0 -7
  245. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec_files/xml_code.xml.source +0 -11
  246. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec_files/xml_code.xml.target +0 -9
  247. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/instances/base_spec.rb +0 -11
  248. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/sources/base_spec.rb +0 -7
  249. data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/instances/apache_host/no_ssl.conf +0 -11
  250. data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/instances/apache_path/default.conf +0 -7
  251. data/sub/avm-tools/README.textile +0 -28
  252. data/sub/avm-tools/avm-tools.gemspec +0 -24
  253. data/sub/avm-tools/lib/avm/tools/rspec/helpers/runner.rb +0 -19
  254. data/sub/avm-tools/lib/avm/tools/rspec/setup.rb +0 -21
  255. data/sub/avm-tools/lib/avm/tools/runner/application/info.rb +0 -34
  256. data/sub/avm-tools/lib/avm/tools/runner/application.rb +0 -21
  257. data/sub/avm-tools/lib/avm/tools/runner/application_stereotypes/list.rb +0 -29
  258. data/sub/avm-tools/lib/avm/tools/runner/application_stereotypes.rb +0 -13
  259. data/sub/avm-tools/lib/avm/tools/runner/applications/list.rb +0 -29
  260. data/sub/avm-tools/lib/avm/tools/runner/config/load_path.rb +0 -48
  261. data/sub/avm-tools/lib/avm/tools/runner/config.rb +0 -14
  262. data/sub/avm-tools/lib/avm/tools/runner/files/format.rb +0 -46
  263. data/sub/avm-tools/lib/avm/tools/runner/files/rotate.rb +0 -28
  264. data/sub/avm-tools/lib/avm/tools/runner/files.rb +0 -14
  265. data/sub/avm-tools/lib/avm/tools/runner/instance/data/clear.rb +0 -15
  266. data/sub/avm-tools/lib/avm/tools/runner/instance/data/dump.rb +0 -17
  267. data/sub/avm-tools/lib/avm/tools/runner/instance/data/load.rb +0 -22
  268. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/clear.rb +0 -17
  269. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/dump.rb +0 -17
  270. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/load.rb +0 -22
  271. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit.rb +0 -40
  272. data/sub/avm-tools/lib/avm/tools/runner/instance/data.rb +0 -23
  273. data/sub/avm-tools/lib/avm/tools/runner/instance/entry.rb +0 -41
  274. data/sub/avm-tools/lib/avm/tools/runner/instance/info.rb +0 -35
  275. data/sub/avm-tools/lib/avm/tools/runner/instance/system.rb +0 -63
  276. data/sub/avm-tools/lib/avm/tools/runner/instance.rb +0 -10
  277. data/sub/avm-tools/lib/avm/tools/runner/launcher/instances.rb +0 -34
  278. data/sub/avm-tools/lib/avm/tools/runner/launcher/projects.rb +0 -37
  279. data/sub/avm-tools/lib/avm/tools/runner/launcher/publish.rb +0 -51
  280. data/sub/avm-tools/lib/avm/tools/runner/launcher.rb +0 -14
  281. data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes/list.rb +0 -38
  282. data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes.rb +0 -13
  283. data/sub/avm-tools/lib/avm/tools/runner/self/docker.rb +0 -12
  284. data/sub/avm-tools/lib/avm/tools/runner/self/registry.rb +0 -22
  285. data/sub/avm-tools/lib/avm/tools/runner/self.rb +0 -18
  286. data/sub/avm-tools/lib/avm/tools/runner/source/auto_commit.rb +0 -67
  287. data/sub/avm-tools/lib/avm/tools/runner/source/info.rb +0 -54
  288. data/sub/avm-tools/lib/avm/tools/runner/source/issue/complete.rb +0 -85
  289. data/sub/avm-tools/lib/avm/tools/runner/source/issue/deliver.rb +0 -32
  290. data/sub/avm-tools/lib/avm/tools/runner/source/sub/remove.rb +0 -20
  291. data/sub/avm-tools/lib/avm/tools/runner/source/sub.rb +0 -25
  292. data/sub/avm-tools/lib/avm/tools/runner/source/subs.rb +0 -70
  293. data/sub/avm-tools/lib/avm/tools/runner/source/test.rb +0 -90
  294. data/sub/avm-tools/lib/avm/tools/runner/source/update.rb +0 -20
  295. data/sub/avm-tools/lib/avm/tools/runner/source/version_bump.rb +0 -78
  296. data/sub/avm-tools/lib/avm/tools/runner/source.rb +0 -13
  297. data/sub/avm-tools/lib/avm/tools/runner/source_generate.rb +0 -10
  298. data/sub/avm-tools/lib/avm/tools/runner.rb +0 -19
  299. data/sub/avm-tools/lib/avm/tools/runner_with/include_exclude.rb +0 -20
  300. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_clear.rb +0 -19
  301. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb +0 -55
  302. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_load.rb +0 -64
  303. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_performer.rb +0 -37
  304. data/sub/avm-tools/lib/avm/tools/self.rb +0 -17
  305. data/sub/avm-tools/lib/avm/tools.rb +0 -16
  306. data/sub/avm-tools/spec/lib/avm/tools/runner/files/rotate_spec.rb +0 -71
  307. data/sub/avm-tools/spec/lib/avm/tools/runner/launcher_stereotypes/list_spec.rb +0 -15
  308. data/sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb +0 -47
  309. data/sub/avm-tools/spec/lib/avm/tools/runner_spec.rb +0 -12
  310. /data/sub/{avm-eac_webapp_base0 → avm-eac_ruby_base0}/Gemfile +0 -0
  311. /data/sub/{avm-tools → avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem}/Gemfile +0 -0
  312. /data/sub/{avm-eac_webapp_base0 → avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem}/spec/meta/rubocop_spec.rb +0 -0
  313. /data/sub/{avm-tools → avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore}/spec/meta/rubocop_spec.rb +0 -0
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module LauncherStereotypes
6
+ class Base
7
+ class Publish < ::Avm::Launcher::Publish::Base
8
+ module RemoteGem
9
+ def gem_provider
10
+ instance.source.gem_provider
11
+ end
12
+
13
+ def gem_published?
14
+ gem_versions.any?
15
+ end
16
+
17
+ def gem_version_max
18
+ remote_gem.maximum_number
19
+ end
20
+
21
+ # @return [Array]
22
+ def gem_versions
23
+ remote_gem.versions
24
+ end
25
+
26
+ def outdated_version?
27
+ gem_version_max.present? && ::Gem::Version.new(gem_spec.version) < gem_version_max
28
+ end
29
+
30
+ def version_published?
31
+ gem_versions.any? { |v| v['number'] == gem_spec.version }
32
+ end
33
+
34
+ protected
35
+
36
+ # @return [Avm::EacRubyBase1::Rubygems::Remote]
37
+ def remote_gem_uncached
38
+ ::Avm::EacRubyBase1::Rubygems::Remote.new(gem_spec.name, gem_provider)
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module LauncherStereotypes
6
+ class Base
7
+ class Publish < ::Avm::Launcher::Publish::Base
8
+ include ::EacRubyUtils::SimpleCache
9
+
10
+ enable_speaker
11
+
12
+ private
13
+
14
+ def publish
15
+ gem_build.build
16
+ push_gem
17
+ ensure
18
+ gem_build.close
19
+ end
20
+
21
+ def push_gem
22
+ info("Pushing gem #{gem_spec}...")
23
+ gem_provider.push_gem(gem_build.output_file)
24
+ info('Pushed!')
25
+ end
26
+
27
+ require_sub __FILE__, include_modules: true, require_mode: :kernel
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module LauncherStereotypes
6
+ class Base
7
+ include ::Avm::Launcher::Stereotype
8
+
9
+ STEREOTYPE_NAME = 'EacRubyBase1'
10
+
11
+ class << self
12
+ def match?(path)
13
+ Dir.glob(File.join(path.real, '*.gemspec')).any?
14
+ end
15
+
16
+ def color
17
+ :red
18
+ end
19
+
20
+ def load_gemspec(gemspec_file)
21
+ ::Avm::EacRubyBase1::Launcher::Gem::Specification.new(gemspec_file)
22
+ end
23
+
24
+ # @return [String]
25
+ def stereotype_name
26
+ STEREOTYPE_NAME
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ class PreferredVersionRequirements
6
+ enable_simple_cache
7
+ common_constructor :version do
8
+ self.version = ::Avm::VersionNumber.new(version)
9
+ end
10
+
11
+ # @return [Avm::VersionNumber]
12
+ def prefix_version
13
+ ::Avm::VersionNumber.new(
14
+ normalized_version.segments[0..(normalized_version.segments.count - 2)]
15
+ )
16
+ end
17
+
18
+ # @return [Gem::Requirement]
19
+ def to_requirement
20
+ r = ["~> #{prefix_version}"]
21
+ r << ">= #{normalized_version}" unless normalized_version.segments[-1].zero?
22
+ ::Gem::Requirement.new(r)
23
+ end
24
+
25
+ # @return [Array<String>]
26
+ def to_requirements_list
27
+ to_requirement.requirements.map { |r| "#{r[0]} #{r[1]}" }
28
+ end
29
+
30
+ private
31
+
32
+ # @return [Avm::VersionNumber]
33
+ def normalized_version_uncached
34
+ r = version
35
+ r = ::Avm::VersionNumber.new(r.segments + [0]) while r.segments.count < 3
36
+ r
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Rspec
6
+ module Setup
7
+ def self.extended(obj)
8
+ obj.rspec_config.include(::Avm::EacRubyBase1::Rspec::SourceGenerator)
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Rspec
6
+ module SourceGenerator
7
+ APPLICATION_STEREOTYPE = 'EacRubyBase1'
8
+ DEFAULT_EAC_RUBY_GEM_SUPPORT_VERSION = '0.5.1'
9
+ DEFAULT_EAC_RUBY_UTILS_VERSION = '0.104.0'
10
+
11
+ # @return [Avm::EacRubyBase1::Sources::Base]
12
+ def avm_eac_ruby_base1_source(options = {})
13
+ options['eac-ruby-utils-version'] ||= DEFAULT_EAC_RUBY_UTILS_VERSION
14
+ options['eac-ruby-gem-support-version'] ||= DEFAULT_EAC_RUBY_GEM_SUPPORT_VERSION
15
+ avm_source(APPLICATION_STEREOTYPE, options)
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ class Rubocop
6
+ module Configured
7
+ def configured_rubocop_command_uncached
8
+ configured_rubocop_command_by_command || configured_rubocop_command_by_gemfile
9
+ end
10
+
11
+ def configured_rubocop_command_by_command
12
+ configuration.if_present(&:rubocop_command)
13
+ end
14
+
15
+ def configured_rubocop_command_by_gemfile
16
+ configuration.if_present(&:rubocop_gemfile).if_present do |v|
17
+ rubocop_command_by_gemfile_path(v.parent)
18
+ end
19
+ end
20
+
21
+ private
22
+
23
+ def configuration_uncached
24
+ ::Avm::Sources::Configuration.find_by_path(base_path)
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ class Rubocop
6
+ module Envvar
7
+ RUBOCOP_COMMAND_ENVVAR_NAME = 'RUBOCOP_COMMAND'
8
+
9
+ def env_rubocop_command
10
+ ENV[RUBOCOP_COMMAND_ENVVAR_NAME].present? ? cmd(ENV[RUBOCOP_COMMAND_ENVVAR_NAME]) : nil
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ class Rubocop
6
+ module Gemfile
7
+ def gemfile_rubocop_command
8
+ return nil unless rubocop_gemfile?
9
+
10
+ rubocop_command_by_gemfile_path(mygem.path)
11
+ end
12
+
13
+ def rubocop_command_by_gemfile_path(path)
14
+ ::Avm::EacRubyBase1::Sources::Base.new(path).bundle('exec', 'rubocop').chdir_root
15
+ end
16
+
17
+ def rubocop_gemfile?
18
+ return false if mygem.blank?
19
+
20
+ mygem.bundle('install').execute!
21
+ mygem.gemfile_lock_gem_version('rubocop').present?
22
+ end
23
+
24
+ private
25
+
26
+ def mygem_uncached
27
+ find_gem(::Pathname.new(base_path).expand_path)
28
+ end
29
+
30
+ def find_gem(path)
31
+ r = ::Avm::EacRubyBase1::Sources::Base.new(path)
32
+ return r if r.gemfile_path.exist?
33
+
34
+ find_gem(path.dirname) unless path.root?
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ class Rubocop
6
+ require_sub __FILE__, include_modules: true
7
+ enable_speaker
8
+ enable_simple_cache
9
+ common_constructor :base_path, :rubocop_args
10
+ set_callback :initialize, :after do
11
+ @base_path = ::Pathname.new(base_path.to_s) unless base_path.is_a?(::Pathname)
12
+ end
13
+
14
+ def run
15
+ start_banner
16
+ run_rubocop
17
+ end
18
+
19
+ private
20
+
21
+ def cmd(*args)
22
+ ::EacRubyUtils::Envs.local.command(*args)
23
+ end
24
+
25
+ def rubocop_command_uncached
26
+ %w[env configured gemfile].each do |s|
27
+ cmd = send("#{s}_rubocop_command")
28
+ return cmd if cmd.present?
29
+ end
30
+ cmd('rubocop')
31
+ end
32
+
33
+ def rubocop_command_with_args
34
+ rubocop_command.append(rubocop_args)
35
+ end
36
+
37
+ def rubocop_version_uncached
38
+ ::EacRubyUtils::Ruby.on_clean_environment do
39
+ rubocop_command.append(['--ignore-parent-exclusion', '--version']).execute!.strip
40
+ rescue EacRubyUtils::Envs::ExecutionError
41
+ rubocop_command.append(['--version']).execute!.strip
42
+ end
43
+ end
44
+
45
+ def run_rubocop
46
+ ::EacRubyUtils::Ruby.on_clean_environment { rubocop_command_with_args.system }
47
+ end
48
+
49
+ def start_banner
50
+ infov 'Rubocop version', rubocop_version
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Rubygems
6
+ class GemSearchParser < ::Aranha::Parsers::Base
7
+ GEM_STRUCT = ::Struct.new(:name, :versions)
8
+ LINE_PARSER = /\A\s*(\S+)\s*\(([^)]+)\)\s*\z/.to_parser do |m|
9
+ GEM_STRUCT.new(m[1], m[2].split(',').map(&:strip).reject(&:blank?))
10
+ end
11
+
12
+ # @return [Hash<String, Enumerable<String>]
13
+ def data
14
+ r = {}
15
+ content.each_line do |line|
16
+ parse_line(line).then do |line_parsed|
17
+ next if line.blank?
18
+
19
+ r[line_parsed.name] = line_parsed.versions
20
+ end
21
+ end
22
+ r
23
+ end
24
+
25
+ # @param line [String]
26
+ # @return [GEM_STRUCT]
27
+ def parse_line(line)
28
+ stripped_line = line.to_s.strip
29
+ stripped_line.if_present(nil) { |v| LINE_PARSER.parse!(v) }
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Rubygems
6
+ class Gemspec
7
+ class AddOrReplaceGemLine
8
+ enable_method_class
9
+ common_constructor :sender, :gem_name, :gem_specs, :dependency_type do
10
+ self.dependency_type = ::Avm::EacRubyBase1::Rubygems::Gemspec::Dependency.lists.type
11
+ .value_validate!(dependency_type)
12
+ end
13
+ delegate :lines, to: :sender
14
+
15
+ DEPENDENCY_PREFIX = ' s.add%<dependency_type>s_dependency \'%<gem_name>s\''
16
+
17
+ # @return [Integer]
18
+ def existing_gem_line_index
19
+ lines.index do |line|
20
+ ::Avm::EacRubyBase1::Rubygems::Gemspec::DEPENDENCY_LINE_PARSER.parse(line)
21
+ .if_present(&:first) == gem_name
22
+ end
23
+ end
24
+
25
+ def result
26
+ if existing_gem_line_index.present?
27
+ replace_line
28
+ else
29
+ add_line
30
+ end
31
+ end
32
+
33
+ def add_line
34
+ lines.insert(add_line_index, new_gem_line)
35
+ end
36
+
37
+ def add_line_index
38
+ (gems_lines_start_index..(lines.count - 1)).each do |e|
39
+ return e if new_gem_line < lines[e]
40
+ end
41
+ lines.count
42
+ end
43
+
44
+ # @return [Integer]
45
+ def gems_lines_start_index
46
+ existing_gem_line_index || (lines.count - 1)
47
+ end
48
+
49
+ def new_gem_line
50
+ ([gem_line_prefix] + quoted_gem_specs).join(', ')
51
+ end
52
+
53
+ # @return [String]
54
+ def gem_line_prefix
55
+ format(DEPENDENCY_PREFIX, { dependency_type: dependency_type, gem_name: gem_name })
56
+ end
57
+
58
+ def replace_line
59
+ lines[existing_gem_line_index] = new_gem_line
60
+ end
61
+
62
+ def quoted_gem_specs
63
+ gem_specs.map { |gem_spec| "'#{gem_spec}'" }
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Rubygems
6
+ class Gemspec
7
+ class Dependency
8
+ enable_listable
9
+ lists.add_string :type, '' => :common, '_development' => :development,
10
+ '_runtime' => :runtime
11
+
12
+ common_constructor :gemspec, :gem_name, :type do
13
+ self.type = self.class.lists.type.value_validate!(type)
14
+ end
15
+
16
+ def version_specs=(version_specs)
17
+ gemspec.add_or_replace_gem_line(gem_name, version_specs, type)
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Rubygems
6
+ class Gemspec
7
+ require_sub __FILE__, require_mode: :kernel
8
+ enable_simple_cache
9
+
10
+ DEPENDENCY_LINE_PARSER = /s\.add([a-zA-Z0-9_]*)_dependency\s*'(\S+)'/
11
+ .to_parser { |m| [m[2], m[1]] }
12
+
13
+ class << self
14
+ def from_file(path)
15
+ new(path.read.each_line.map(&:rstrip))
16
+ end
17
+ end
18
+
19
+ common_constructor :lines
20
+
21
+ # @param gem_name [String]
22
+ # @return [Avm::EacRubyBase1::Bundler::Gemfile::Dependency]
23
+ def dependency(gem_name)
24
+ dependencies_hash.fetch(gem_name)
25
+ end
26
+
27
+ # @return [Array<Avm::EacRubyBase1::Bundler::Gemfile::Dependency>]
28
+ def dependencies
29
+ dependencies_hash.values
30
+ end
31
+
32
+ def write(path)
33
+ path.to_pathname.write(to_text)
34
+ end
35
+
36
+ def to_text
37
+ lines.map { |line| "#{line}\n" }.join
38
+ end
39
+
40
+ protected
41
+
42
+ # @param gem_name [String]
43
+ # @param type [String] Avm::EacRubyBase1::Rubygems::Gemspec::Dependency::TYPE_*
44
+ # @return [Avm::EacRubyBase1::Bundler::Gemfile::Dependency]
45
+ def create_dependency(gem_name, type)
46
+ ::Avm::EacRubyBase1::Rubygems::Gemspec::Dependency.new(self, gem_name, type)
47
+ end
48
+
49
+ # @return [Hash<String, Avm::EacRubyBase1::Bundler::Gemfile::Dependency>]
50
+ def dependencies_hash_uncached
51
+ lines.lazy.map { |line| DEPENDENCY_LINE_PARSER.parse(line) }.compact_blank
52
+ .map { |dependency_args| create_dependency(*dependency_args) }.index_by(&:gem_name)
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Rubygems
6
+ module Providers
7
+ class Base
8
+ acts_as_abstract
9
+
10
+ common_constructor :root_http_url do
11
+ self.root_http_url = root_http_url.to_uri
12
+ root_http_url.assert_argument(::Addressable::URI, 'root_http_url')
13
+ end
14
+
15
+ # @param gem_name [String]
16
+ # @return [Enumerable<Hash>]
17
+ def gem_versions(gem_name)
18
+ raise_abstract __method__, gem_name
19
+ end
20
+
21
+ # @param gem_package_path [Pathname]
22
+ # @return [Boolean]
23
+ def push_gem(gem_package_path)
24
+ command_args = push_gem_command_args(gem_package_path)
25
+ command_args = %w[echo] + command_args + %w[(Dry-run)] unless
26
+ ::Avm::Launcher::Context.current.publish_options[:confirm]
27
+ ::EacRubyUtils::Ruby.on_clean_environment do
28
+ EacRubyUtils::Envs.local.command(*command_args).system
29
+ end
30
+ end
31
+
32
+ # @param gem_package_path [Pathname]
33
+ # @return [Enumerable<String>]
34
+ def push_gem_command_args(gem_package_path)
35
+ raise_abstract __method__, gem_package_path
36
+ end
37
+
38
+ # @return [String]
39
+ def to_s
40
+ "#{self.class.name.demodulize}[#{root_http_url}]"
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Rubygems
6
+ module Providers
7
+ class Nexus < ::Avm::EacRubyBase1::Rubygems::Providers::Base
8
+ # @return [Enumerable<String>]
9
+ def gem_versions(gem_name)
10
+ search_result = ::Avm::EacRubyBase1::Rubygems::GemSearchParser.from_string(
11
+ EacRubyUtils::Envs.local.command(
12
+ 'gem', 'search', '--quiet', '--exact', '--all',
13
+ '--remote', '--clear-sources', '--source', root_http_url, gem_name
14
+ ).execute!
15
+ ).data
16
+ (search_result.key?(gem_name) ? search_result.fetch(gem_name) : [])
17
+ .map { |e| { 'number' => e } }
18
+ end
19
+
20
+ # @param gem_package_path [Pathname]
21
+ # @return [Enumerable<String>]
22
+ def push_gem_command_args(gem_package_path)
23
+ ['gem', 'nexus', '--clear-repo', '--url', root_http_url, gem_package_path]
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Rubygems
6
+ module Providers
7
+ class RubygemsOrg < ::Avm::EacRubyBase1::Rubygems::Providers::Base
8
+ DEFAULT_ROOT_HTTP_URL = 'https://rubygems.org'.to_uri
9
+
10
+ # @param root_http_url [Pathname]
11
+ def initialize(root_http_url = DEFAULT_ROOT_HTTP_URL)
12
+ super
13
+ end
14
+
15
+ # @return [Enumerable<Hash>]
16
+ def gem_versions(gem_name)
17
+ ::EacEnvs::Http::Request.new
18
+ .url(root_http_url + "/api/v1/versions/#{gem_name}.json")
19
+ .response.body_data_or_raise
20
+ rescue EacEnvs::Http::Response => e
21
+ e.status == 404 ? [] : raise(e)
22
+ end
23
+
24
+ # @param gem_package_path [Pathname]
25
+ # @return [Enumerable<String>]
26
+ def push_gem_command_args(gem_package_path)
27
+ command = ['gem', 'push', gem_package_path]
28
+ unless ::Avm::Launcher::Context.current.publish_options[:confirm]
29
+ command = %w[echo] + command + %w[(Dry-run)]
30
+ end
31
+ command
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Rubygems
6
+ class Remote
7
+ enable_simple_cache
8
+ common_constructor :name, :provider, default: [nil] do
9
+ self.provider ||= ::Avm::EacRubyBase1::Rubygems::Providers::RubygemsOrg.new
10
+ end
11
+
12
+ # @return [Gem::Version, nil]
13
+ def maximum_number
14
+ numbers.max.if_present { |v| ::Gem::Version.new(v) }
15
+ end
16
+
17
+ # @return [Array<Gem::Version>]
18
+ def numbers
19
+ versions.map { |v| ::Gem::Version.new(v.fetch('number')) }
20
+ end
21
+
22
+ protected
23
+
24
+ # @return [Array<String>]
25
+ def versions_uncached
26
+ provider.gem_versions(name)
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end