eac_tools 0.96.0 → 0.96.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (217) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +26 -32
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +22 -0
  5. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/add_or_replace_gem_line.rb +56 -0
  6. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/dependency.rb +19 -0
  7. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile.rb +34 -0
  8. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/depends_on.rb +25 -0
  9. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/gem_conflict.rb +44 -0
  10. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/in_gemfile.rb +17 -0
  11. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_buffer.rb +77 -0
  12. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_factory.rb +33 -0
  13. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_parser_base.rb +19 -0
  14. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/ruby_requirement.rb +16 -0
  15. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/version_requirement.rb +26 -0
  16. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser.rb +25 -0
  17. data/sub/{avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/logging.rb → avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler.rb} +2 -2
  18. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/file_formats/base/file_resource_name.rb +47 -0
  19. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/file_formats/base.rb +22 -0
  20. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/file_formats.rb +11 -0
  21. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/instances/mixin.rb +19 -0
  22. data/sub/{avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0 → avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/instances.rb +1 -1
  23. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher/gem/build.rb +126 -0
  24. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher/gem/specification.rb +63 -0
  25. data/sub/{avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros.rb → avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher/gem.rb} +3 -3
  26. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher.rb +11 -0
  27. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/local_project_mixin.rb +28 -0
  28. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish.rb +130 -0
  29. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base.rb +37 -0
  30. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes.rb +11 -0
  31. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/preferred_version_requirements.rb +43 -0
  32. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec/setup.rb +16 -0
  33. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec/source_generator.rb +22 -0
  34. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec.rb +11 -0
  35. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/configured.rb +31 -0
  36. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/envvar.rb +17 -0
  37. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/gemfile.rb +42 -0
  38. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop.rb +55 -0
  39. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec/add_or_replace_gem_line.rb +71 -0
  40. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec/dependency.rb +25 -0
  41. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec.rb +59 -0
  42. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/remote.rb +36 -0
  43. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/version_file.rb +45 -0
  44. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems.rb +11 -0
  45. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base/lib_rename.rb +77 -0
  46. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base/rubocop.rb +30 -0
  47. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base.rb +18 -0
  48. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners.rb +11 -0
  49. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/dependencies.rb +63 -0
  50. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/gemfile_lock.rb +27 -0
  51. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/options.rb +35 -0
  52. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/version_builder.rb +62 -0
  53. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base.rb +112 -0
  54. data/sub/{avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0 → avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/source_generators.rb +1 -1
  55. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundle_command.rb +39 -0
  56. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundler.rb +68 -0
  57. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rake.rb +42 -0
  58. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubocop.rb +28 -0
  59. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubocop_command.rb +73 -0
  60. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubygems.rb +43 -0
  61. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/update.rb +25 -0
  62. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/version.rb +31 -0
  63. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/version_bump.rb +19 -0
  64. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base.rb +61 -0
  65. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/bundle_update.rb +23 -0
  66. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/gemfile_local/sibling.rb +53 -0
  67. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/gemfile_local.rb +69 -0
  68. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/namespace_replacer.rb +55 -0
  69. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundle.rb +29 -0
  70. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_local.rb +58 -0
  71. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_lock/git.rb +60 -0
  72. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_lock.rb +89 -0
  73. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/incompatible.rb +76 -0
  74. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler.rb +19 -0
  75. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/update_dependencies_requirements.rb +68 -0
  76. data/sub/{avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0 → avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/sources/runners.rb +1 -1
  77. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/base.rb +59 -0
  78. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/minitest.rb +29 -0
  79. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple/decorated_gem.rb +52 -0
  80. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple/result.rb +29 -0
  81. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple.rb +90 -0
  82. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/rspec.rb +25 -0
  83. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests.rb +13 -0
  84. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update/sub_update.rb +59 -0
  85. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update_dependency_requirements.rb +64 -0
  86. data/sub/{avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0 → avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/sources.rb +1 -1
  87. data/sub/{avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0 → avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/version.rb +2 -2
  88. data/sub/{avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0.rb → avm-eac_ruby_base1/lib/avm/eac_ruby_base1.rb} +1 -1
  89. data/sub/avm-eac_ruby_base1/locale/en.yml +9 -0
  90. data/sub/avm-eac_ruby_base1/locale/pt-BR.yml +9 -0
  91. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec.rb +7 -0
  92. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.source.out +192 -0
  93. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.target.yaml +300 -0
  94. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.source.out +245 -0
  95. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.target.yaml +355 -0
  96. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/3.source.out +0 -0
  97. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/3.target.yaml +305 -0
  98. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec.rb +15 -0
  99. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/Gemfile.source +6 -0
  100. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/Gemfile.target +3 -0
  101. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/ruby_code.rb.source +6 -0
  102. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/ruby_code.rb.target +5 -0
  103. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher/gem/build_spec.rb +46 -0
  104. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher/gem/specification_spec.rb +59 -0
  105. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish_spec.rb +29 -0
  106. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher_stereotypes/base_spec.rb +23 -0
  107. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/preferred_version_requirements_spec.rb +23 -0
  108. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec.rb +37 -0
  109. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec_files/changes1.source.yaml +5 -0
  110. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec_files/changes1.target.txt +15 -0
  111. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec_files/the_gem.gemspec +15 -0
  112. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/version_file_spec.rb +15 -0
  113. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/version_file_spec_files/a_version_file.rb +7 -0
  114. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec.rb +36 -0
  115. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir1/dir3/Gemfile +5 -0
  116. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir1/dir3/Gemfile.lock +27 -0
  117. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir2/empty.rb +1 -0
  118. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir4/false_command.rb +4 -0
  119. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec.rb +19 -0
  120. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/Gemfile +8 -0
  121. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/Gemfile.lock +1 -0
  122. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/_gitignore +2 -0
  123. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/dashed-mygem.gemspec +19 -0
  124. 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
  125. 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
  126. data/sub/{avm-eac_asciidoctor_base0 → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem}/spec/spec_helper.rb +0 -4
  127. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/Gemfile +8 -0
  128. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/Gemfile.lock +1 -0
  129. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/_gitignore +2 -0
  130. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/lib/mygem/version.rb +5 -0
  131. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/lib/mygem.rb +7 -0
  132. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/mygem.gemspec +19 -0
  133. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/spec/rubocop_spec.rb +3 -0
  134. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/spec/spec_helper.rb +4 -0
  135. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec.rb +30 -0
  136. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Gemfile +5 -0
  137. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Gemfile.lock +19 -0
  138. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Rakefile +14 -0
  139. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/exe/myrunner +5 -0
  140. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/lib/mygem/version.rb +5 -0
  141. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/lib/mygem.rb +5 -0
  142. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/mygem.gemspec +17 -0
  143. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base_spec.rb +16 -0
  144. data/sub/avm-eac_ruby_base1/spec/rubocop_spec.rb +3 -0
  145. data/sub/avm-eac_ruby_base1/spec/spec_helper.rb +4 -0
  146. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/gemspec.template +19 -0
  147. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/root_lib.template +7 -0
  148. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/Gemfile +8 -0
  149. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/spec/rubocop_spec.rb +3 -0
  150. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/spec/spec_helper.rb +4 -0
  151. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/version.template +5 -0
  152. metadata +158 -90
  153. data/sub/avm-eac_asciidoctor_base0/avm-eac_asciidoctor_base0.gemspec +0 -26
  154. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/documents_owner.rb +0 -30
  155. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/file_formats/base/file_resource_name.rb +0 -37
  156. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/file_formats/base.rb +0 -17
  157. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/apache_host.rb +0 -19
  158. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/apache_path.rb +0 -12
  159. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/base.rb +0 -33
  160. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/body_target.rb +0 -47
  161. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/header_lines.rb +0 -92
  162. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/media.rb +0 -28
  163. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb +0 -64
  164. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document.rb +0 -101
  165. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/theme.rb +0 -41
  166. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build.rb +0 -60
  167. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/deploy.rb +0 -28
  168. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/base.rb +0 -21
  169. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/breadcrumbs.rb +0 -55
  170. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb +0 -63
  171. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/child_docs.rb +0 -35
  172. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/default_body.rb +0 -21
  173. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/logging/catcher.rb +0 -47
  174. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/logging/error.rb +0 -18
  175. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/source_generators/base.rb +0 -28
  176. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/instance_to_build.rb +0 -45
  177. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/theme.rb +0 -46
  178. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base.rb +0 -49
  179. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document/media.rb +0 -28
  180. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document/title.rb +0 -31
  181. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document.rb +0 -56
  182. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb +0 -54
  183. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/document/build.rb +0 -46
  184. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/document.rb +0 -30
  185. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/documents.rb +0 -28
  186. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/file_formats/base_spec.rb +0 -13
  187. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec.rb +0 -81
  188. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec_files/pre_processed_root_body.adoc +0 -25
  189. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec.rb +0 -22
  190. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/_media/a_media_file +0 -1
  191. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/_media/a_media_file +0 -1
  192. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/body.adoc +0 -11
  193. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/title +0 -1
  194. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/body.adoc +0 -11
  195. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/_media/a_media_file +0 -1
  196. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/body.adoc +0 -11
  197. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/title +0 -1
  198. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/title +0 -1
  199. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/_media/a_media_file +0 -1
  200. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/_theme/main.css +0 -1
  201. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc1/_media/a_media_file +0 -1
  202. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc1/index.html +0 -1
  203. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/doc2_1/_media/a_media_file +0 -1
  204. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/doc2_1/index.html +0 -1
  205. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/index.html +0 -1
  206. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/index.html +0 -1
  207. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec.rb +0 -8
  208. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/content/body.adoc +0 -11
  209. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/content/title +0 -1
  210. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/theme/main.css +0 -1
  211. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/sources/base_spec.rb +0 -16
  212. data/sub/avm-eac_asciidoctor_base0/spec/spec_helper/eac_asciidoctor_base0_stubs.rb +0 -55
  213. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/content/body.adoc +0 -11
  214. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/content/title +0 -1
  215. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/theme/main.css +0 -1
  216. /data/sub/{avm-eac_asciidoctor_base0 → avm-eac_ruby_base1}/Gemfile +0 -0
  217. /data/sub/{avm-eac_asciidoctor_base0 → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem}/spec/rubocop_spec.rb +0 -0
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacRubyBase1
7
+ module Sources
8
+ class GemfileLocal
9
+ enable_simple_cache
10
+ common_constructor :source
11
+
12
+ def dependency_sub?(sub)
13
+ sub.is_a?(::Avm::EacRubyBase1::Sources::Base) &&
14
+ sub.gem_name != source.gem_name &&
15
+ source.gemfile_lock_gem_version(sub.gem_name).present?
16
+ end
17
+
18
+ # @return [String]
19
+ def target_content
20
+ siblings.map(&:target_content).join
21
+ end
22
+
23
+ # @return [Pathname]
24
+ def target_path
25
+ source.path.join('Gemfile.local')
26
+ end
27
+
28
+ def on_unexisting_gemfile_local
29
+ return yield unless target_path.exist?
30
+
31
+ ::EacRubyUtils::Fs::Temp.on_file do |temp_file|
32
+ ::FileUtils.cp(target_path, temp_file)
33
+ begin
34
+ ::FileUtils.rm_f(target_path)
35
+ yield
36
+ ensure
37
+ ::FileUtils.cp(temp_file, target_path)
38
+ end
39
+ end
40
+ end
41
+
42
+ def run_bundle
43
+ on_unexisting_gemfile_local do
44
+ source.bundle.execute!
45
+ rescue ::RuntimeError
46
+ source.bundle('update').execute!
47
+ end
48
+ end
49
+
50
+ # @return [void]
51
+ def write_target_file
52
+ target_path.write(target_content)
53
+ end
54
+
55
+ private
56
+
57
+ def siblings_uncached
58
+ source.parent.if_present([]) do |v|
59
+ v.subs.select { |sub| dependency_sub?(sub) }.map do |sub|
60
+ ::Avm::EacRubyBase1::Sources::GemfileLocal::Sibling.new(self, sub)
61
+ end
62
+ end
63
+ end
64
+
65
+ require_sub __FILE__
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Sources
6
+ class NamespaceReplacer
7
+ common_constructor :from, :to
8
+
9
+ def concat_regex(regexes)
10
+ r = regexes.first
11
+ regexes[1..].each do |x|
12
+ r = ::Regexp.new(r.source + x.source)
13
+ end
14
+ r
15
+ end
16
+
17
+ def from_result
18
+ /\n#{from_open.source}(.+)#{from_close.source}/m
19
+ end
20
+
21
+ def from_open
22
+ concat_regex(from.split('::')
23
+ .map { |v| / *(?:class|module) +#{::Regexp.quote(v)} *\n/m })
24
+ end
25
+
26
+ def from_close
27
+ concat_regex(from.split('::').count.times.map { / *end *\n/m })
28
+ end
29
+
30
+ def to_result
31
+ "\n\n#{to_open}\\1#{to_close}"
32
+ end
33
+
34
+ def to_open
35
+ s = ''
36
+ to.split('::').each_with_index do |part, index|
37
+ s += (' ' * index) + "module #{part}\n"
38
+ end
39
+ s
40
+ end
41
+
42
+ def to_close
43
+ parts = to.split('::')
44
+ s = ''
45
+ parts.each_with_index do |_part, index|
46
+ tabc = (parts.count - 1 - index)
47
+ tabc -= 1 if index.zero?
48
+ s += "#{' ' * tabc}end\n"
49
+ end
50
+ s
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/core_ext'
4
+ require 'shellwords'
5
+
6
+ module Avm
7
+ module EacRubyBase1
8
+ module Sources
9
+ module Runners
10
+ class Bundle
11
+ runner_with :help do
12
+ desc 'Runs "bundle ...".'
13
+ pos_arg :'bundle-args', repeat: true, optional: true
14
+ end
15
+
16
+ def run
17
+ bundle_command.system!
18
+ end
19
+
20
+ def bundle_command
21
+ runner_context.call(:source).bundle(*bundle_args)
22
+ end
23
+
24
+ delegate :bundle_args, to: :parsed
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_ruby_base1/sources/gemfile_local'
4
+ require 'eac_cli/core_ext'
5
+
6
+ module Avm
7
+ module EacRubyBase1
8
+ module Sources
9
+ module Runners
10
+ class Bundler
11
+ class GemfileLocal
12
+ runner_with :help do
13
+ bool_opt '-w', '--write', 'Write the Gemfile.local file.'
14
+ end
15
+ delegate :siblings, to: :builder
16
+
17
+ def run
18
+ start_banner
19
+ builder.run_bundle
20
+ siblings_banner
21
+ write_gemfile_local
22
+ end
23
+
24
+ private
25
+
26
+ def start_banner
27
+ runner_context.call(:source_banner)
28
+ infov 'Parent', the_source.parent
29
+ end
30
+
31
+ def siblings_banner
32
+ infov 'Siblings', siblings.count
33
+ siblings.each do |sibling|
34
+ infov ' * ', sibling.relative_path
35
+ end
36
+ end
37
+
38
+ def write_gemfile_local
39
+ return unless parsed.write?
40
+
41
+ infom "Writing #{builder.target_path}..."
42
+ builder.write_target_file
43
+ end
44
+
45
+ def the_source
46
+ runner_context.call(:source)
47
+ end
48
+
49
+ # @return [Avm::EacRubyBase1::Sources::GemfileLocal]
50
+ def builder_uncached
51
+ ::Avm::EacRubyBase1::Sources::GemfileLocal.new(the_source)
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacRubyBase1
7
+ module Sources
8
+ module Runners
9
+ class Bundler
10
+ class GemfileLock
11
+ module Git
12
+ private
13
+
14
+ def git_continue
15
+ infom "Adding \"#{gemfile_lock}\"..."
16
+ git_repo.command('add', gemfile_lock).execute!
17
+ if rebase_conflict?
18
+ git_continue_run('rebase')
19
+ elsif cherry_conflict?
20
+ git_continue_run('cherry-pick')
21
+ else
22
+ raise 'Unknown how to continue'
23
+ end
24
+ end
25
+
26
+ def git_continue_run(command)
27
+ infom "\"#{command}\" --continue..."
28
+ cmd = git_repo.command(command, '--continue')
29
+ .envvar('GIT_EDITOR', 'true')
30
+ return unless !cmd.system && !conflict?
31
+
32
+ fatal_error "\"#{cmd}\" failed and there is no conflict"
33
+ end
34
+
35
+ def git_repo
36
+ instance.scm.git_repo
37
+ end
38
+
39
+ def git_reset_checkout
40
+ git_reset_gemfile_lock
41
+ git_checkout_gemfile_lock
42
+ end
43
+
44
+ def git_checkout_gemfile_lock
45
+ infom 'Checkouting...'
46
+ git_repo.command('checkout', '--', gemfile_lock).system!
47
+ end
48
+
49
+ def git_reset_gemfile_lock
50
+ infom 'Reseting...'
51
+ git_repo.command('reset', gemfile_lock).system! if
52
+ ::File.exist?(gemfile_lock)
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,89 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/core_ext'
4
+
5
+ module Avm
6
+ module EacRubyBase1
7
+ module Sources
8
+ module Runners
9
+ class Bundler
10
+ class GemfileLock
11
+ require_sub __FILE__, include_modules: true
12
+ runner_with :help do
13
+ desc 'Manipulage a "Gemfile.lock" file.'
14
+ bool_opt '-c', '--continue', 'Continue Git rebase/cherry-pick.'
15
+ bool_opt '-i', '--install', 'Run "bundle install".'
16
+ bool_opt '-u', '--update', 'Run "bundle update".'
17
+ bool_opt '-r', '--recursive', 'Run until Git rebase/cherry-pick is finished.'
18
+ bool_opt '-a', '--all', 'Same as "-cirud".'
19
+ bool_opt '-d', '--delete', 'Delete Gemfile.lock'
20
+ end
21
+
22
+ def run
23
+ loop do
24
+ git_reset_checkout
25
+ delete_gemfile_lock
26
+ bundle_update
27
+ bundle_install
28
+ git_continue
29
+ break if complete?
30
+ end
31
+ end
32
+
33
+ private
34
+
35
+ def complete?
36
+ !option_or_all?(:recursive) || !conflict?
37
+ end
38
+
39
+ def delete_gemfile_lock
40
+ ::FileUtils.rm_f(gemfile_lock)
41
+ end
42
+
43
+ def rebasing?
44
+ git_repo.root_path.join('.git', 'rebase-merge').exist?
45
+ end
46
+
47
+ def bundle_install
48
+ infom '"bundle install"...'
49
+ bundle_run('install')
50
+ end
51
+
52
+ def bundle_update
53
+ infom '"bundle update"...'
54
+ bundle_run('update')
55
+ end
56
+
57
+ def gemfile_lock
58
+ 'Gemfile.lock'
59
+ end
60
+
61
+ def bundle_run(*args)
62
+ instance.bundle(*args).system!
63
+ end
64
+
65
+ def conflict?
66
+ rebase_conflict? || cherry_conflict?
67
+ end
68
+
69
+ def rebase_conflict?
70
+ git_repo.root_path.join('.git', 'REBASE_HEAD').exist?
71
+ end
72
+
73
+ def cherry_conflict?
74
+ git_repo.root_path.join('.git', 'CHERRY_PICK_HEAD').exist?
75
+ end
76
+
77
+ def option_or_all?(option)
78
+ parsed[option] || parsed.all?
79
+ end
80
+
81
+ def instance
82
+ runner_context.call(:subject)
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_ruby_base1/bundler/incompatible_parser'
4
+ require 'eac_cli/core_ext'
5
+
6
+ module Avm
7
+ module EacRubyBase1
8
+ module Sources
9
+ module Runners
10
+ class Bundler
11
+ class Incompatible
12
+ runner_with :help do
13
+ desc 'Identify incompatible gems in a "Gemfile.lock" file.'
14
+ bool_opt '-l', '--last', 'Process the last \"bundle update\" result.'
15
+ end
16
+
17
+ def run
18
+ infov 'Cache path', fs_cache.content_path
19
+ infov 'Cached?', fs_cache.stored?
20
+ parser.gems_in_conflict.each do |gem_in_conflict|
21
+ print_gem_in_conflict(gem_in_conflict)
22
+ end
23
+ end
24
+
25
+ private
26
+
27
+ def bundle_update
28
+ infom 'Running "bundle update"...'
29
+ runner_context.call(:subject).bundle('update').execute[:stdout]
30
+ end
31
+
32
+ def content_path
33
+ fs_cache.write(bundle_update) unless fs_cache.stored? && parsed.last?
34
+ fs_cache.content_path
35
+ end
36
+
37
+ def fs_object_id
38
+ runner_context.call(:subject).path.to_s.variableize
39
+ end
40
+
41
+ def gem_title(gem_in_conflict)
42
+ gem_in_conflict.gem_name
43
+ end
44
+
45
+ def parser_uncached
46
+ ::Avm::EacRubyBase1::Bundler::IncompatibleParser.new(content_path)
47
+ end
48
+
49
+ def print_gem_in_conflict(gem_in_conflict)
50
+ infov 'Gem', gem_title(gem_in_conflict)
51
+ gem_in_conflict.versions_requirements.each do |requirement|
52
+ print_requirement(requirement)
53
+ end
54
+ end
55
+
56
+ def print_requirement(req)
57
+ infov " #{requirement_title(req)}", requirement_value(req)
58
+ end
59
+
60
+ def requirement_stack(req)
61
+ req.stack.map { |d| "#{d.gem_name} (#{d.version})" }.join(' > '.green)
62
+ end
63
+
64
+ def requirement_title(req)
65
+ req.requirements_source.if_present('*')
66
+ end
67
+
68
+ def requirement_value(req)
69
+ requirement_stack(req)
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/core_ext'
4
+
5
+ module Avm
6
+ module EacRubyBase1
7
+ module Sources
8
+ module Runners
9
+ class Bundler
10
+ require_sub __FILE__
11
+ runner_with :help, :subcommands do
12
+ desc 'Ruby\'s bundler utitilies for local projects.'
13
+ subcommands
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_ruby_base1/rubygems/gemspec'
4
+ require 'avm/eac_ruby_base1/sources/update_dependency_requirements'
5
+ require 'eac_cli/core_ext'
6
+
7
+ module Avm
8
+ module EacRubyBase1
9
+ module Sources
10
+ module Runners
11
+ class UpdateDependenciesRequirements
12
+ runner_with :help do
13
+ bool_opt '-a', '--all'
14
+ arg_opt '-e', '--exclude', repeat: true
15
+ pos_arg :gem_name, repeat: true, optional: true
16
+ end
17
+
18
+ def run
19
+ start_banner
20
+ update_gemfile_lock
21
+ process_all_gems
22
+ end
23
+
24
+ def gemspec
25
+ ::Avm::EacRubyBase1::Rubygems::Gemspec.from_file(
26
+ runner_context.call(:source).gemspec_path
27
+ )
28
+ end
29
+
30
+ private
31
+
32
+ def exclude?(gem_name)
33
+ parsed.exclude.include?(gem_name)
34
+ end
35
+
36
+ def gem_names_uncached
37
+ ::Set.new(parsed.gem_name + gem_names_from_all).reject { |gem_name| exclude?(gem_name) }
38
+ .sort
39
+ end
40
+
41
+ def gem_names_from_all
42
+ return [] unless parsed.all?
43
+
44
+ gemspec.dependencies.map(&:gem_name)
45
+ end
46
+
47
+ def process_all_gems
48
+ gem_names.each do |gem_name|
49
+ infov 'Gem to update', gem_name
50
+ ::Avm::EacRubyBase1::Sources::UpdateDependencyRequirements
51
+ .new(runner_context.call(:source), gem_name).perform
52
+ end
53
+ end
54
+
55
+ def start_banner
56
+ runner_context.call(:source_banner)
57
+ infov 'Gems to update', gem_names.count
58
+ end
59
+
60
+ def update_gemfile_lock
61
+ infom 'Updating Gemfile\'s lock...'
62
+ runner_context.call(:source).bundle('update').execute!
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -3,7 +3,7 @@
3
3
  require 'eac_ruby_utils/core_ext'
4
4
 
5
5
  module Avm
6
- module EacAsciidoctorBase0
6
+ module EacRubyBase1
7
7
  module Sources
8
8
  module Runners
9
9
  require_sub __FILE__
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+ require 'eac_fs/logs'
5
+ require 'eac_ruby_utils/listable'
6
+
7
+ module Avm
8
+ module EacRubyBase1
9
+ module Sources
10
+ class Base
11
+ include ::EacRubyUtils::Listable
12
+
13
+ enable_simple_cache
14
+ lists.add_string :result, :failed, :nonexistent, :successful
15
+
16
+ common_constructor :gem
17
+
18
+ def elegible?
19
+ dependency_present? && gem.root.join(test_directory).exist?
20
+ end
21
+
22
+ def dependency_present?
23
+ gem.gemfile_path.exist? && gem.gemfile_lock_gem_version(dependency_gem).present?
24
+ end
25
+
26
+ def name
27
+ self.class.name.demodulize.gsub(/Test\z/, '')
28
+ end
29
+
30
+ def to_s
31
+ "#{gem}[#{name}]"
32
+ end
33
+
34
+ private
35
+
36
+ def logs_uncached
37
+ ::EacFs::Logs.new.add(:stdout).add(:stderr)
38
+ end
39
+
40
+ def result_uncached
41
+ return RESULT_NONEXISTENT unless elegible?
42
+
43
+ exec_run_with_log ? RESULT_SUCCESSFUL : RESULT_FAILED
44
+ end
45
+
46
+ def exec_run
47
+ gem.bundle('exec', *bundle_exec_args).chdir_root.execute
48
+ end
49
+
50
+ def exec_run_with_log
51
+ r = exec_run
52
+ logs[:stdout].write(r[:stdout])
53
+ logs[:stderr].write(r[:stderr])
54
+ r[:exit_code].zero?
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_ruby_base1/sources/tests/base'
4
+
5
+ module Avm
6
+ module EacRubyBase1
7
+ module Sources
8
+ module Tests
9
+ class Minitest < ::Avm::EacRubyBase1::Sources::Tests::Base
10
+ def bundle_exec_args
11
+ %w[rake test]
12
+ end
13
+
14
+ def dependency_gem
15
+ 'minitest'
16
+ end
17
+
18
+ def elegible?
19
+ super && gem.rakefile_path.exist?
20
+ end
21
+
22
+ def test_directory
23
+ 'test'
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacRubyBase1
7
+ module Sources
8
+ module Tests
9
+ class Multiple
10
+ class DecoratedGem < ::SimpleDelegator
11
+ enable_speaker
12
+
13
+ def prepare
14
+ return unless gemfile_path.exist?
15
+
16
+ log('running "bundle install"...')
17
+ return if bundle('install').execute.fetch(:exit_code).zero?
18
+
19
+ unless can_remove_gemfile_lock?
20
+ raise '"bundle install" failed and the Gemfile.lock is part of gem' \
21
+ '(Should be changed by developer)'
22
+ end
23
+
24
+ prepare_with_removable_gemfile_lock
25
+ end
26
+
27
+ def tests
28
+ [::Avm::EacRubyBase1::Sources::Tests::Minitest.new(__getobj__),
29
+ ::Avm::EacRubyBase1::Sources::Tests::Rspec.new(__getobj__)]
30
+ end
31
+
32
+ private
33
+
34
+ def log(message)
35
+ infov self, message
36
+ end
37
+
38
+ def prepare_with_removable_gemfile_lock
39
+ log('"bundle install" failed, removing Gemfile.lock and trying again...')
40
+ gemfile_lock_path.unlink if gemfile_lock_path.exist?
41
+ bundle('install').execute!
42
+ end
43
+
44
+ def can_remove_gemfile_lock?
45
+ files.exclude?(gemfile_lock_path.relative_path_from(root))
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end