eac_tools 0.91.1 → 0.92.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 (387) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +40 -40
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm/avm.gemspec +28 -0
  5. data/sub/avm/lib/avm/application_scms/base.rb +39 -0
  6. data/sub/avm/lib/avm/application_scms.rb +9 -0
  7. data/sub/avm/lib/avm/application_stereotypes/base.rb +31 -0
  8. data/sub/avm/lib/avm/application_stereotypes.rb +9 -0
  9. data/sub/avm/lib/avm/applications/base/auto_local_source_path.rb +24 -0
  10. data/sub/avm/lib/avm/applications/base/local_instance.rb +31 -0
  11. data/sub/avm/lib/avm/applications/base/local_source.rb +35 -0
  12. data/sub/avm/lib/avm/applications/base/naming.rb +28 -0
  13. data/sub/avm/lib/avm/applications/base/organization.rb +29 -0
  14. data/sub/avm/lib/avm/applications/base/publishing.rb +43 -0
  15. data/sub/avm/lib/avm/applications/base/scm.rb +27 -0
  16. data/sub/avm/lib/avm/applications/base/stereotype.rb +31 -0
  17. data/sub/avm/lib/avm/applications/base.rb +37 -0
  18. data/sub/{avm-eac_ruby_base1/lib/avm/eac_ruby_base1.rb → avm/lib/avm/applications.rb} +1 -1
  19. data/sub/avm/lib/avm/data/callbacks.rb +37 -0
  20. data/sub/avm/lib/avm/data/clearer.rb +20 -0
  21. data/sub/avm/lib/avm/data/dumper.rb +142 -0
  22. data/sub/avm/lib/avm/data/loader.rb +28 -0
  23. data/sub/avm/lib/avm/data/package/base_performer.rb +38 -0
  24. data/sub/avm/lib/avm/data/package/build_directory.rb +28 -0
  25. data/sub/avm/lib/avm/data/package/clear.rb +22 -0
  26. data/sub/avm/lib/avm/data/package/dump.rb +45 -0
  27. data/sub/avm/lib/avm/data/package/load.rb +36 -0
  28. data/sub/avm/lib/avm/data/package.rb +67 -0
  29. data/sub/avm/lib/avm/data/performer.rb +49 -0
  30. data/sub/avm/lib/avm/data/rotate.rb +107 -0
  31. data/sub/avm/lib/avm/data/unit.rb +49 -0
  32. data/sub/avm/lib/avm/data/unit_with_commands.rb +52 -0
  33. data/sub/avm/lib/avm/docker/container.rb +50 -0
  34. data/sub/avm/lib/avm/docker/image.rb +76 -0
  35. data/sub/avm/lib/avm/docker/runner.rb +132 -0
  36. data/sub/{avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem.rb → avm/lib/avm/docker.rb} +2 -2
  37. data/sub/avm/lib/avm/entries/auto_values/entry.rb +39 -0
  38. data/sub/avm/lib/avm/entries/auto_values/uri_entry.rb +24 -0
  39. data/sub/{avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec.rb → avm/lib/avm/entries/auto_values.rb} +2 -2
  40. data/sub/avm/lib/avm/entries/base/inherited_entry_value.rb +46 -0
  41. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/default_value.rb +28 -0
  42. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb +39 -0
  43. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/url_entry_value.rb +31 -0
  44. data/sub/avm/lib/avm/entries/base/uri_component_entry_value.rb +44 -0
  45. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/component_factory.rb +42 -0
  46. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb +63 -0
  47. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/path_component.rb +19 -0
  48. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/url_component.rb +28 -0
  49. data/sub/avm/lib/avm/entries/base/uri_components_entries_values.rb +25 -0
  50. data/sub/avm/lib/avm/entries/base.rb +57 -0
  51. data/sub/avm/lib/avm/entries/entry/no_context_entry.rb +23 -0
  52. data/sub/avm/lib/avm/entries/entry.rb +75 -0
  53. data/sub/avm/lib/avm/entries/jobs/base.rb +62 -0
  54. data/sub/avm/lib/avm/entries/jobs/variables_source/read_entry.rb +50 -0
  55. data/sub/avm/lib/avm/entries/jobs/variables_source.rb +15 -0
  56. data/sub/avm/lib/avm/entries/jobs/with_variables_source.rb +15 -0
  57. data/sub/{avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners.rb → avm/lib/avm/entries/jobs.rb} +2 -2
  58. data/sub/avm/lib/avm/entries/keys_constants_set.rb +43 -0
  59. data/sub/avm/lib/avm/entries/uri_builder.rb +91 -0
  60. data/sub/avm/lib/avm/entries.rb +9 -0
  61. data/sub/avm/lib/avm/executables.rb +24 -0
  62. data/sub/avm/lib/avm/file_formats/base.rb +35 -0
  63. data/sub/avm/lib/avm/file_formats/file_result.rb +13 -0
  64. data/sub/avm/lib/avm/file_formats/search_formatter.rb +87 -0
  65. data/sub/avm/lib/avm/file_formats/unknown.rb +18 -0
  66. data/sub/avm/lib/avm/file_formats/utf8_assert.rb +72 -0
  67. data/sub/avm/lib/avm/file_formats.rb +9 -0
  68. data/sub/avm/lib/avm/instances/base/auto_values/data.rb +30 -0
  69. data/sub/avm/lib/avm/instances/base/auto_values/database.rb +62 -0
  70. data/sub/avm/lib/avm/instances/base/auto_values/mailer.rb +35 -0
  71. data/sub/avm/lib/avm/instances/base/auto_values/source.rb +18 -0
  72. data/sub/avm/lib/avm/instances/base/auto_values.rb +14 -0
  73. data/sub/avm/lib/avm/instances/base/dockerizable.rb +45 -0
  74. data/sub/avm/lib/avm/instances/base/entry_keys.rb +27 -0
  75. data/sub/avm/lib/avm/instances/base/install.rb +31 -0
  76. data/sub/avm/lib/avm/instances/base/processes.rb +27 -0
  77. data/sub/avm/lib/avm/instances/base/production.rb +34 -0
  78. data/sub/avm/lib/avm/instances/base/subcommand_parent.rb +25 -0
  79. data/sub/avm/lib/avm/instances/base/web.rb +16 -0
  80. data/sub/avm/lib/avm/instances/base.rb +77 -0
  81. data/sub/avm/lib/avm/instances/data/files_unit.rb +59 -0
  82. data/sub/avm/lib/avm/instances/data/loading_denied_error.rb +10 -0
  83. data/sub/avm/lib/avm/instances/data/package.rb +27 -0
  84. data/sub/avm/lib/avm/instances/data/unit.rb +40 -0
  85. data/sub/{avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources.rb → avm/lib/avm/instances/data.rb} +2 -2
  86. data/sub/avm/lib/avm/instances/docker_image.rb +15 -0
  87. data/sub/avm/lib/avm/instances/entry_keys.rb +43 -0
  88. data/sub/avm/lib/avm/instances/ids.rb +30 -0
  89. data/sub/avm/lib/avm/instances/process.rb +31 -0
  90. data/sub/avm/lib/avm/instances/runner.rb +37 -0
  91. data/sub/avm/lib/avm/instances.rb +9 -0
  92. data/sub/avm/lib/avm/launcher/context/instance_collector.rb +46 -0
  93. data/sub/avm/lib/avm/launcher/context/instance_discovery/root_instance_paths.rb +53 -0
  94. data/sub/avm/lib/avm/launcher/context/instance_discovery.rb +75 -0
  95. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instance.rb +37 -0
  96. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instances.rb +35 -0
  97. data/sub/avm/lib/avm/launcher/context/instance_manager.rb +77 -0
  98. data/sub/avm/lib/avm/launcher/context/settings.rb +53 -0
  99. data/sub/avm/lib/avm/launcher/context.rb +100 -0
  100. data/sub/avm/lib/avm/launcher/errors/base.rb +10 -0
  101. data/sub/avm/lib/avm/launcher/errors/non_project.rb +15 -0
  102. data/sub/{avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler.rb → avm/lib/avm/launcher/errors.rb} +2 -2
  103. data/sub/avm/lib/avm/launcher/instances/base/cache.rb +43 -0
  104. data/sub/avm/lib/avm/launcher/instances/base/publishing.rb +53 -0
  105. data/sub/avm/lib/avm/launcher/instances/base.rb +78 -0
  106. data/sub/avm/lib/avm/launcher/instances/error.rb +10 -0
  107. data/sub/avm/lib/avm/launcher/instances/runner_helper.rb +47 -0
  108. data/sub/avm/lib/avm/launcher/instances/settings.rb +26 -0
  109. data/sub/{avm-eac_ruby_base1/lib/avm/eac_ruby_base1 → avm/lib/avm/launcher}/instances.rb +1 -1
  110. data/sub/avm/lib/avm/launcher/paths/logical.rb +80 -0
  111. data/sub/avm/lib/avm/launcher/paths/real.rb +44 -0
  112. data/sub/avm/lib/avm/launcher/paths.rb +11 -0
  113. data/sub/avm/lib/avm/launcher/project.rb +17 -0
  114. data/sub/avm/lib/avm/launcher/publish/base.rb +47 -0
  115. data/sub/avm/lib/avm/launcher/publish/check_result.rb +65 -0
  116. data/sub/avm/lib/avm/launcher/publish.rb +11 -0
  117. data/sub/avm/lib/avm/launcher/stereotype.rb +63 -0
  118. data/sub/avm/lib/avm/launcher.rb +9 -0
  119. data/sub/avm/lib/avm/launcher_stereotypes.rb +9 -0
  120. data/sub/avm/lib/avm/patches/eac_config/entry_path.rb +46 -0
  121. data/sub/avm/lib/avm/path_string.rb +27 -0
  122. data/sub/avm/lib/avm/registry/application_scms.rb +15 -0
  123. data/sub/avm/lib/avm/registry/application_stereotypes/build_available.rb +49 -0
  124. data/sub/avm/lib/avm/registry/application_stereotypes/stereotype_builder.rb +33 -0
  125. data/sub/avm/lib/avm/registry/application_stereotypes.rb +52 -0
  126. data/sub/avm/lib/avm/registry/applications.rb +38 -0
  127. data/sub/avm/lib/avm/registry/config_objects.rb +18 -0
  128. data/sub/avm/lib/avm/registry/file_formats.rb +20 -0
  129. data/sub/avm/lib/avm/registry/from_gems.rb +80 -0
  130. data/sub/avm/lib/avm/registry/instances.rb +16 -0
  131. data/sub/avm/lib/avm/registry/launcher_stereotypes.rb +11 -0
  132. data/sub/avm/lib/avm/registry/runners.rb +10 -0
  133. data/sub/avm/lib/avm/registry/scms.rb +10 -0
  134. data/sub/avm/lib/avm/registry/source_generators.rb +17 -0
  135. data/sub/avm/lib/avm/registry/sources.rb +40 -0
  136. data/sub/avm/lib/avm/registry/with_path/cache.rb +31 -0
  137. data/sub/avm/lib/avm/registry/with_path.rb +49 -0
  138. data/sub/avm/lib/avm/registry.rb +35 -0
  139. data/sub/avm/lib/avm/result.rb +82 -0
  140. data/sub/avm/lib/avm/rspec/setup/launcher.rb +20 -0
  141. data/sub/avm/lib/avm/rspec/setup/source_generator.rb +22 -0
  142. data/sub/avm/lib/avm/rspec/setup.rb +36 -0
  143. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_format_file_resource_name.rb +15 -0
  144. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_formats_with_fixtures.rb +31 -0
  145. data/sub/avm/lib/avm/rspec/shared_examples/avm_source_generated.rb +26 -0
  146. data/sub/avm/lib/avm/rspec/shared_examples/entries_values.rb +21 -0
  147. data/sub/avm/lib/avm/rspec/shared_examples/in_avm_registry.rb +11 -0
  148. data/sub/avm/lib/avm/rspec/shared_examples/not_in_avm_registry.rb +14 -0
  149. data/sub/avm/lib/avm/rspec/shared_examples/with_config.rb +11 -0
  150. data/sub/avm/lib/avm/rspec.rb +9 -0
  151. data/sub/avm/lib/avm/runners/base.rb +27 -0
  152. data/sub/avm/lib/avm/scms/auto_commit/file_resource_name.rb +39 -0
  153. data/sub/avm/lib/avm/scms/auto_commit/for_file.rb +82 -0
  154. data/sub/avm/lib/avm/scms/auto_commit/rules/base.rb +40 -0
  155. data/sub/avm/lib/avm/scms/auto_commit/rules/last.rb +19 -0
  156. data/sub/avm/lib/avm/scms/auto_commit/rules/manual.rb +40 -0
  157. data/sub/avm/lib/avm/scms/auto_commit/rules/new.rb +24 -0
  158. data/sub/avm/lib/avm/scms/auto_commit/rules/nth.rb +31 -0
  159. data/sub/avm/lib/avm/scms/auto_commit/rules/unique.rb +21 -0
  160. data/sub/avm/lib/avm/scms/auto_commit/rules.rb +36 -0
  161. data/sub/avm/lib/avm/scms/auto_commit.rb +11 -0
  162. data/sub/avm/lib/avm/scms/base/branches.rb +22 -0
  163. data/sub/avm/lib/avm/scms/base/commits.rb +34 -0
  164. data/sub/avm/lib/avm/scms/base/milestones.rb +21 -0
  165. data/sub/avm/lib/avm/scms/base/remotes.rb +22 -0
  166. data/sub/avm/lib/avm/scms/base.rb +61 -0
  167. data/sub/avm/lib/avm/scms/branch.rb +26 -0
  168. data/sub/avm/lib/avm/scms/changed_file.rb +26 -0
  169. data/sub/avm/lib/avm/scms/commit.rb +66 -0
  170. data/sub/avm/lib/avm/scms/commit_info.rb +39 -0
  171. data/sub/avm/lib/avm/scms/inflector.rb +22 -0
  172. data/sub/avm/lib/avm/scms/interval.rb +18 -0
  173. data/sub/avm/lib/avm/scms/null/commit.rb +15 -0
  174. data/sub/avm/lib/avm/scms/null.rb +21 -0
  175. data/sub/avm/lib/avm/scms/remote.rb +11 -0
  176. data/sub/avm/lib/avm/scms.rb +9 -0
  177. data/sub/avm/lib/avm/self/docker_image.rb +14 -0
  178. data/sub/avm/lib/avm/self/instance/entry_keys.rb +12 -0
  179. data/sub/avm/lib/avm/self/instance.rb +31 -0
  180. data/sub/avm/lib/avm/source_generators/base.rb +75 -0
  181. data/sub/avm/lib/avm/source_generators/option.rb +11 -0
  182. data/sub/avm/lib/avm/source_generators/option_list.rb +32 -0
  183. data/sub/avm/lib/avm/source_generators/runner.rb +58 -0
  184. data/sub/avm/lib/avm/source_generators.rb +9 -0
  185. data/sub/avm/lib/avm/sources/auto_commit/for_file.rb +31 -0
  186. data/sub/avm/lib/avm/sources/auto_commit.rb +11 -0
  187. data/sub/avm/lib/avm/sources/base/application.rb +36 -0
  188. data/sub/avm/lib/avm/sources/base/configuration.rb +92 -0
  189. data/sub/avm/lib/avm/sources/base/instance.rb +16 -0
  190. data/sub/avm/lib/avm/sources/base/locale.rb +33 -0
  191. data/sub/avm/lib/avm/sources/base/organizational.rb +32 -0
  192. data/sub/avm/lib/avm/sources/base/parent.rb +28 -0
  193. data/sub/avm/lib/avm/sources/base/stereotype.rb +18 -0
  194. data/sub/avm/lib/avm/sources/base/sub/remove.rb +38 -0
  195. data/sub/avm/lib/avm/sources/base/sub.rb +26 -0
  196. data/sub/avm/lib/avm/sources/base/subs.rb +67 -0
  197. data/sub/avm/lib/avm/sources/base/subs_paths.rb +32 -0
  198. data/sub/avm/lib/avm/sources/base/testing.rb +70 -0
  199. data/sub/avm/lib/avm/sources/base/update.rb +39 -0
  200. data/sub/avm/lib/avm/sources/base/update_sub.rb +57 -0
  201. data/sub/avm/lib/avm/sources/base/update_subs.rb +19 -0
  202. data/sub/avm/lib/avm/sources/base/version_bump.rb +29 -0
  203. data/sub/avm/lib/avm/sources/base.rb +61 -0
  204. data/sub/avm/lib/avm/sources/configuration/rubocop.rb +26 -0
  205. data/sub/avm/lib/avm/sources/configuration.rb +59 -0
  206. data/sub/avm/lib/avm/sources/issues/deliver.rb +52 -0
  207. data/sub/avm/lib/avm/sources/issues.rb +11 -0
  208. data/sub/avm/lib/avm/sources/runner.rb +40 -0
  209. data/sub/avm/lib/avm/sources/tests/builder.rb +96 -0
  210. data/sub/avm/lib/avm/sources/tests/performer.rb +35 -0
  211. data/sub/avm/lib/avm/sources/tests/result.rb +15 -0
  212. data/sub/avm/lib/avm/sources/tests/single.rb +75 -0
  213. data/sub/avm/lib/avm/sources/tests.rb +11 -0
  214. data/sub/avm/lib/avm/sources/update_error.rb +8 -0
  215. data/sub/avm/lib/avm/sources.rb +9 -0
  216. data/sub/avm/lib/avm/sync.rb +92 -0
  217. data/sub/{avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/lib/mygem → avm/lib/avm}/version.rb +2 -2
  218. data/sub/avm/lib/avm/version_number.rb +45 -0
  219. data/sub/avm/lib/avm/with/application_stereotype.rb +33 -0
  220. data/sub/avm/lib/avm/with/extra_subcommands.rb +44 -0
  221. data/sub/{avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/lib/mygem.rb → avm/lib/avm.rb} +1 -1
  222. data/sub/avm/locale/en.yml +6 -0
  223. data/sub/avm/locale/pt-BR.yml +6 -0
  224. data/sub/avm/spec/dummy/avm-tools_stub/avm-tools.gemspec +29 -0
  225. data/sub/{avm-eac_ruby_base1/lib/avm/eac_ruby_base1 → avm/spec/dummy/avm-tools_stub/lib/avm/tools}/version.rb +2 -2
  226. data/sub/{avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/version_file_spec_files/a_version_file.rb → avm/spec/dummy/avm-tools_stub/lib/avm/tools.rb} +0 -1
  227. data/sub/avm/spec/dummy/ruby_gem_stub/lib/ruby_gem_stub/version.rb +5 -0
  228. data/sub/avm/spec/dummy/ruby_gem_stub/lib/ruby_gem_stub.rb +3 -0
  229. data/sub/avm/spec/dummy/ruby_gem_stub/ruby_gem_stub.gemspec +16 -0
  230. data/sub/avm/spec/lib/avm/applications/base/entries_spec.rb +31 -0
  231. data/sub/avm/spec/lib/avm/applications/base/entries_spec_files/config.yml +12 -0
  232. data/sub/avm/spec/lib/avm/applications/base_spec.rb +23 -0
  233. data/sub/avm/spec/lib/avm/applications/base_spec_fixture.yml +3 -0
  234. data/sub/avm/spec/lib/avm/file_formats/base_spec.rb +11 -0
  235. data/sub/avm/spec/lib/avm/instances/base_spec.rb +107 -0
  236. data/sub/avm/spec/lib/avm/instances/base_spec_files/config.yml +50 -0
  237. data/sub/avm/spec/lib/avm/launcher/context_spec.rb +139 -0
  238. data/sub/avm/spec/lib/avm/launcher/context_spec.yml +5 -0
  239. data/sub/avm/spec/lib/avm/launcher/context_spec_files/config.yml +9 -0
  240. data/sub/avm/spec/lib/avm/launcher/instances/base_spec.rb +42 -0
  241. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/config.yml +5 -0
  242. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/settings.yaml +5 -0
  243. data/sub/avm/spec/lib/avm/patches/eac_config/entry_path_spec.rb +28 -0
  244. data/sub/avm/spec/lib/avm/scms/auto_commit/file_resource_name_spec.rb +21 -0
  245. data/sub/avm/spec/lib/avm/scms/base_spec.rb +7 -0
  246. data/sub/avm/spec/lib/avm/sources/base_spec.rb +7 -0
  247. data/sub/avm/spec/lib/avm/sources/runner_spec.rb +9 -0
  248. data/sub/avm/spec/spec_helper/launcher_context/settings.yml +6 -0
  249. data/sub/avm/spec/spec_helper/launcher_context.rb +75 -0
  250. data/sub/{avm-eac_ruby_base1 → avm}/spec/spec_helper.rb +1 -0
  251. data/sub/avm/template/avm/self/docker_image/Dockerfile +17 -0
  252. data/sub/avm/template/avm/self/docker_image/entrypoint.sh +12 -0
  253. metadata +255 -150
  254. data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +0 -22
  255. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/add_or_replace_gem_line.rb +0 -56
  256. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/dependency.rb +0 -19
  257. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile.rb +0 -34
  258. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/depends_on.rb +0 -25
  259. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/gem_conflict.rb +0 -44
  260. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/in_gemfile.rb +0 -17
  261. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_buffer.rb +0 -77
  262. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_factory.rb +0 -33
  263. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_parser_base.rb +0 -19
  264. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/ruby_requirement.rb +0 -16
  265. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/version_requirement.rb +0 -26
  266. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser.rb +0 -25
  267. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/file_formats/base/file_resource_name.rb +0 -47
  268. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/file_formats/base.rb +0 -22
  269. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/file_formats.rb +0 -11
  270. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/instances/mixin.rb +0 -19
  271. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher/gem/build.rb +0 -126
  272. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher/gem/specification.rb +0 -63
  273. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher/gem.rb +0 -13
  274. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher.rb +0 -11
  275. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/local_project_mixin.rb +0 -28
  276. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish.rb +0 -130
  277. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base.rb +0 -37
  278. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes.rb +0 -11
  279. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/preferred_version_requirements.rb +0 -43
  280. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec/setup.rb +0 -16
  281. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec/source_generator.rb +0 -22
  282. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/configured.rb +0 -31
  283. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/envvar.rb +0 -17
  284. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/gemfile.rb +0 -42
  285. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop.rb +0 -55
  286. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec/add_or_replace_gem_line.rb +0 -62
  287. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec/dependency.rb +0 -19
  288. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec.rb +0 -42
  289. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/remote.rb +0 -36
  290. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/version_file.rb +0 -45
  291. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems.rb +0 -11
  292. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base/lib_rename.rb +0 -77
  293. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base/rubocop.rb +0 -30
  294. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base.rb +0 -18
  295. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/dependencies.rb +0 -63
  296. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/gemfile_lock.rb +0 -27
  297. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/options.rb +0 -35
  298. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/version_builder.rb +0 -62
  299. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base.rb +0 -112
  300. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators.rb +0 -11
  301. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundle_command.rb +0 -39
  302. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundler.rb +0 -68
  303. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rake.rb +0 -42
  304. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubocop.rb +0 -28
  305. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubocop_command.rb +0 -73
  306. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubygems.rb +0 -43
  307. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/update.rb +0 -25
  308. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/version.rb +0 -31
  309. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/version_bump.rb +0 -19
  310. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base.rb +0 -61
  311. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/bundle_update.rb +0 -23
  312. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/gemfile_local/sibling.rb +0 -53
  313. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/gemfile_local.rb +0 -69
  314. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/namespace_replacer.rb +0 -55
  315. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundle.rb +0 -29
  316. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_local.rb +0 -58
  317. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_lock/git.rb +0 -60
  318. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_lock.rb +0 -89
  319. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/incompatible.rb +0 -76
  320. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler.rb +0 -19
  321. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/update_dependencies_requirements.rb +0 -68
  322. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners.rb +0 -13
  323. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/base.rb +0 -59
  324. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/minitest.rb +0 -29
  325. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple/decorated_gem.rb +0 -52
  326. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple/result.rb +0 -29
  327. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple.rb +0 -90
  328. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/rspec.rb +0 -25
  329. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests.rb +0 -13
  330. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update/sub_update.rb +0 -59
  331. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update_dependency_requirements.rb +0 -64
  332. data/sub/avm-eac_ruby_base1/locale/en.yml +0 -9
  333. data/sub/avm-eac_ruby_base1/locale/pt-BR.yml +0 -9
  334. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec.rb +0 -7
  335. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.source.out +0 -192
  336. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.target.yaml +0 -300
  337. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.source.out +0 -245
  338. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.target.yaml +0 -355
  339. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/3.source.out +0 -0
  340. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/3.target.yaml +0 -305
  341. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec.rb +0 -15
  342. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/Gemfile.source +0 -6
  343. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/Gemfile.target +0 -3
  344. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/ruby_code.rb.source +0 -6
  345. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/ruby_code.rb.target +0 -5
  346. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher/gem/build_spec.rb +0 -46
  347. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher/gem/specification_spec.rb +0 -49
  348. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish_spec.rb +0 -29
  349. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher_stereotypes/base_spec.rb +0 -23
  350. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/preferred_version_requirements_spec.rb +0 -23
  351. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/version_file_spec.rb +0 -14
  352. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec.rb +0 -36
  353. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir1/dir3/Gemfile +0 -5
  354. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir1/dir3/Gemfile.lock +0 -27
  355. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir2/empty.rb +0 -1
  356. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir4/false_command.rb +0 -4
  357. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec.rb +0 -19
  358. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/Gemfile +0 -8
  359. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/Gemfile.lock +0 -1
  360. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/_gitignore +0 -2
  361. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/dashed-mygem.gemspec +0 -19
  362. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem/version.rb +0 -7
  363. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/spec/spec_helper.rb +0 -4
  364. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/Gemfile +0 -8
  365. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/Gemfile.lock +0 -1
  366. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/_gitignore +0 -2
  367. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/mygem.gemspec +0 -19
  368. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/spec/rubocop_spec.rb +0 -3
  369. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/spec/spec_helper.rb +0 -4
  370. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec.rb +0 -30
  371. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Gemfile +0 -5
  372. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Gemfile.lock +0 -19
  373. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Rakefile +0 -14
  374. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/exe/myrunner +0 -5
  375. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/lib/mygem/version.rb +0 -5
  376. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/lib/mygem.rb +0 -5
  377. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/mygem.gemspec +0 -17
  378. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base_spec.rb +0 -16
  379. data/sub/avm-eac_ruby_base1/spec/rubocop_spec.rb +0 -3
  380. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/gemspec.template +0 -19
  381. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/root_lib.template +0 -7
  382. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/Gemfile +0 -8
  383. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/spec/rubocop_spec.rb +0 -3
  384. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/spec/spec_helper.rb +0 -4
  385. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/version.template +0 -5
  386. /data/sub/{avm-eac_ruby_base1 → avm}/Gemfile +0 -0
  387. /data/sub/{avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem → avm}/spec/rubocop_spec.rb +0 -0
@@ -1,63 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'active_support/core_ext/object'
4
-
5
- module Avm
6
- module EacRubyBase1
7
- module Launcher
8
- module Gem
9
- class Specification
10
- class << self
11
- def parse_version_file(file)
12
- s = ::File.read(file)
13
- m = /VERSION\s*=\s*[\'\"]([^\'\"]+)[\'\"]/.match(s)
14
- m ? m[1] : nil
15
- end
16
- end
17
-
18
- attr_reader :gemspec_file
19
-
20
- def initialize(gemspec_file)
21
- @gemspec_file = gemspec_file
22
- end
23
-
24
- def version
25
- v = self.class.parse_version_file(version_file)
26
- return v if v.present?
27
-
28
- raise "Version not found on file \"#{version_file}\""
29
- end
30
-
31
- def name
32
- ::File.basename(gemspec_file).gsub(/\.gemspec\z/, '')
33
- end
34
-
35
- def full_name
36
- "#{name}-#{version}"
37
- end
38
-
39
- def to_s
40
- full_name
41
- end
42
-
43
- private
44
-
45
- def gem_root
46
- ::File.dirname(gemspec_file)
47
- end
48
-
49
- def version_file
50
- f = ::File.join(gem_root, 'lib', *namespace_parts, 'version.rb')
51
- return f if ::File.exist?(f)
52
-
53
- raise "Version file \"#{f}\" does not exist"
54
- end
55
-
56
- def namespace_parts
57
- name.split('-')
58
- end
59
- end
60
- end
61
- end
62
- end
63
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module EacRubyBase1
7
- module Launcher
8
- module Gem
9
- require_sub __FILE__
10
- end
11
- end
12
- end
13
- end
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module EacRubyBase1
7
- module Launcher
8
- require_sub __FILE__
9
- end
10
- end
11
- end
@@ -1,28 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_ruby_base1/sources/base'
4
- require 'avm/version_number'
5
- require 'eac_ruby_utils/core_ext'
6
-
7
- module Avm
8
- module EacRubyBase1
9
- module LauncherStereotypes
10
- class Base
11
- module LocalProjectMixin
12
- # @return [Avm::EacRubyBase1::Sources::Base]
13
- def ruby_gem
14
- @ruby_gem ||= ::Avm::EacRubyBase1::Sources::Base.new(path)
15
- end
16
-
17
- def version
18
- ruby_gem.version.if_present { |v| ::Avm::VersionNumber.new(v) }
19
- end
20
-
21
- def version=(value)
22
- ruby_gem.version_file.value = value
23
- end
24
- end
25
- end
26
- end
27
- end
28
- end
@@ -1,130 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/simple_cache'
4
- require 'rubygems'
5
- require 'eac_cli/speaker'
6
- require 'avm/eac_ruby_base1/rubygems/remote'
7
- require 'avm/launcher/publish/base'
8
- require 'avm/launcher/publish/check_result'
9
- require 'avm/eac_ruby_base1/launcher/gem'
10
-
11
- module Avm
12
- module EacRubyBase1
13
- module LauncherStereotypes
14
- class Base
15
- class Publish < ::Avm::Launcher::Publish::Base
16
- include ::EacRubyUtils::SimpleCache
17
- enable_speaker
18
-
19
- protected
20
-
21
- def internal_check
22
- gem_published? ? internal_check_gem_published : internal_check_gem_unpublished
23
- end
24
-
25
- private
26
-
27
- def internal_check_gem_published
28
- if version_published?
29
- outdated_version? ? outdated_version_check_result : version_published_check_result
30
- else
31
- version_unpublished_check_result
32
- end
33
- end
34
-
35
- def internal_check_gem_unpublished
36
- if new_gem_allowed?
37
- version_unpublished_check_result
38
- else
39
- new_gem_disallowed_check_result
40
- end
41
- end
42
-
43
- def new_gem_disallowed_check_result
44
- ::Avm::Launcher::Publish::CheckResult.blocked(
45
- "#{gem_spec.full_name} does not exist in RubyGems"
46
- )
47
- end
48
-
49
- def version_published_check_result
50
- ::Avm::Launcher::Publish::CheckResult.updated("#{gem_spec.full_name} already pushed")
51
- end
52
-
53
- def outdated_version_check_result
54
- ::Avm::Launcher::Publish::CheckResult.outdated(
55
- "#{gem_spec.full_name} is outdated (Max: #{gem_version_max})"
56
- )
57
- end
58
-
59
- def version_unpublished_check_result
60
- ::Avm::Launcher::Publish::CheckResult.pending("#{gem_spec.full_name} not found " \
61
- 'in RubyGems')
62
- end
63
-
64
- def source_uncached
65
- instance.warped
66
- end
67
-
68
- def gem_spec_uncached
69
- ::Avm::EacRubyBase1::LauncherStereotypes::Base.load_gemspec(gemspec)
70
- end
71
-
72
- def gem_build_uncached
73
- ::Avm::EacRubyBase1::Launcher::Gem::Build.new(source)
74
- end
75
-
76
- def publish
77
- gem_build.build
78
- push_gem
79
- ensure
80
- gem_build.close
81
- end
82
-
83
- def new_gem_allowed?
84
- ::Avm::Launcher::Context.current.publish_options[:new]
85
- end
86
-
87
- def gem_published?
88
- gem_versions.any?
89
- end
90
-
91
- def version_published?
92
- gem_versions.any? { |v| v['number'] == gem_spec.version }
93
- end
94
-
95
- def outdated_version?
96
- gem_version_max.present? && ::Gem::Version.new(gem_spec.version) < gem_version_max
97
- end
98
-
99
- # @return [Array]
100
- def gem_versions
101
- remote_gem.versions
102
- end
103
-
104
- def gem_version_max
105
- remote_gem.maximum_number
106
- end
107
-
108
- # @return [Avm::EacRubyBase1::Rubygems::Remote]
109
- def remote_gem_uncached
110
- ::Avm::EacRubyBase1::Rubygems::Remote.new(gem_spec.name)
111
- end
112
-
113
- def push_gem
114
- info("Pushing gem #{gem_spec}...")
115
- command = ['gem', 'push', gem_build.output_file]
116
- unless ::Avm::Launcher::Context.current.publish_options[:confirm]
117
- command = %w[echo] + command + %w[(Dry-run)]
118
- end
119
- EacRubyUtils::Envs.local.command(command).system
120
- info('Pushed!')
121
- end
122
-
123
- def gemspec_uncached
124
- source.find_file_with_extension('.gemspec')
125
- end
126
- end
127
- end
128
- end
129
- end
130
- end
@@ -1,37 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/launcher/stereotype'
4
- require 'avm/eac_ruby_base1/launcher/gem/specification'
5
- require 'eac_ruby_utils/core_ext'
6
-
7
- module Avm
8
- module EacRubyBase1
9
- module LauncherStereotypes
10
- class Base
11
- require_sub __FILE__
12
- include ::Avm::Launcher::Stereotype
13
-
14
- STEREOTYPE_NAME = 'EacRubyBase1'
15
-
16
- class << self
17
- def match?(path)
18
- Dir.glob(File.join(path.real, '*.gemspec')).any?
19
- end
20
-
21
- def color
22
- :red
23
- end
24
-
25
- def load_gemspec(gemspec_file)
26
- ::Avm::EacRubyBase1::Launcher::Gem::Specification.new(gemspec_file)
27
- end
28
-
29
- # @return [String]
30
- def stereotype_name
31
- STEREOTYPE_NAME
32
- end
33
- end
34
- end
35
- end
36
- end
37
- end
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module EacRubyBase1
7
- module LauncherStereotypes
8
- require_sub __FILE__
9
- end
10
- end
11
- end
@@ -1,43 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/version_number'
4
- require 'eac_ruby_utils/core_ext'
5
-
6
- module Avm
7
- module EacRubyBase1
8
- class PreferredVersionRequirements
9
- enable_simple_cache
10
- common_constructor :version do
11
- self.version = ::Avm::VersionNumber.new(version)
12
- end
13
-
14
- # @return [Avm::VersionNumber]
15
- def prefix_version
16
- ::Avm::VersionNumber.new(
17
- normalized_version.segments[0..normalized_version.segments.count - 2]
18
- )
19
- end
20
-
21
- # @return [Gem::Requirement]
22
- def to_requirement
23
- r = ["~> #{prefix_version}"]
24
- r << ">= #{normalized_version}" unless normalized_version.segments[-1].zero?
25
- ::Gem::Requirement.new(r)
26
- end
27
-
28
- # @return [Array<String>]
29
- def to_requirements_list
30
- to_requirement.requirements.map { |r| "#{r[0]} #{r[1]}" }
31
- end
32
-
33
- private
34
-
35
- # @return [Avm::VersionNumber]
36
- def normalized_version_uncached
37
- r = version
38
- r = ::Avm::VersionNumber.new(r.segments + [0]) while r.segments.count < 3
39
- r
40
- end
41
- end
42
- end
43
- end
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_ruby_base1/rspec/source_generator'
4
- require 'eac_ruby_utils/core_ext'
5
-
6
- module Avm
7
- module EacRubyBase1
8
- module Rspec
9
- module Setup
10
- def self.extended(obj)
11
- obj.rspec_config.include(::Avm::EacRubyBase1::Rspec::SourceGenerator)
12
- end
13
- end
14
- end
15
- end
16
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module EacRubyBase1
7
- module Rspec
8
- module SourceGenerator
9
- APPLICATION_STEREOTYPE = 'EacRubyBase1'
10
- DEFAULT_EAC_RUBY_GEM_SUPPORT_VERSION = '0.5.1'
11
- DEFAULT_EAC_RUBY_UTILS_VERSION = '0.104.0'
12
-
13
- # @return [Avm::EacRubyBase1::Sources::Base]
14
- def avm_eac_ruby_base1_source(options = {})
15
- options['eac-ruby-utils-version'] ||= DEFAULT_EAC_RUBY_UTILS_VERSION
16
- options['eac-ruby-gem-support-version'] ||= DEFAULT_EAC_RUBY_GEM_SUPPORT_VERSION
17
- avm_source(APPLICATION_STEREOTYPE, options)
18
- end
19
- end
20
- end
21
- end
22
- end
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/sources/configuration'
4
-
5
- module Avm
6
- module EacRubyBase1
7
- class Rubocop
8
- module Configured
9
- def configured_rubocop_command_uncached
10
- configured_rubocop_command_by_command || configured_rubocop_command_by_gemfile
11
- end
12
-
13
- def configured_rubocop_command_by_command
14
- configuration.if_present(&:rubocop_command)
15
- end
16
-
17
- def configured_rubocop_command_by_gemfile
18
- configuration.if_present(&:rubocop_gemfile).if_present do |v|
19
- rubocop_command_by_gemfile_path(v.parent)
20
- end
21
- end
22
-
23
- private
24
-
25
- def configuration_uncached
26
- ::Avm::Sources::Configuration.find_by_path(base_path)
27
- end
28
- end
29
- end
30
- end
31
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module EacRubyBase1
7
- class Rubocop
8
- module Envvar
9
- RUBOCOP_COMMAND_ENVVAR_NAME = 'RUBOCOP_COMMAND'
10
-
11
- def env_rubocop_command
12
- ENV[RUBOCOP_COMMAND_ENVVAR_NAME].present? ? cmd(ENV[RUBOCOP_COMMAND_ENVVAR_NAME]) : nil
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,42 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_ruby_base1/sources/base'
4
- require 'eac_ruby_utils/core_ext'
5
-
6
- module Avm
7
- module EacRubyBase1
8
- class Rubocop
9
- module Gemfile
10
- def gemfile_rubocop_command
11
- return nil unless rubocop_gemfile?
12
-
13
- rubocop_command_by_gemfile_path(mygem.path)
14
- end
15
-
16
- def rubocop_command_by_gemfile_path(path)
17
- ::Avm::EacRubyBase1::Sources::Base.new(path).bundle('exec', 'rubocop').chdir_root
18
- end
19
-
20
- def rubocop_gemfile?
21
- return false if mygem.blank?
22
-
23
- mygem.bundle('install').execute!
24
- mygem.gemfile_lock_gem_version('rubocop').present?
25
- end
26
-
27
- private
28
-
29
- def mygem_uncached
30
- find_gem(::Pathname.new(base_path).expand_path)
31
- end
32
-
33
- def find_gem(path)
34
- r = ::Avm::EacRubyBase1::Sources::Base.new(path)
35
- return r if r.gemfile_path.exist?
36
-
37
- find_gem(path.dirname) unless path.root?
38
- end
39
- end
40
- end
41
- end
42
- end
@@ -1,55 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
- require 'eac_ruby_utils/ruby/on_clean_environment'
5
-
6
- module Avm
7
- module EacRubyBase1
8
- class Rubocop
9
- require_sub __FILE__, include_modules: true
10
- enable_speaker
11
- enable_simple_cache
12
- common_constructor :base_path, :rubocop_args
13
- set_callback :initialize, :after do
14
- @base_path = ::Pathname.new(base_path.to_s) unless base_path.is_a?(::Pathname)
15
- end
16
-
17
- def run
18
- start_banner
19
- run_rubocop
20
- end
21
-
22
- private
23
-
24
- def cmd(*args)
25
- ::EacRubyUtils::Envs.local.command(*args)
26
- end
27
-
28
- def rubocop_command_uncached
29
- %w[env configured gemfile].each do |s|
30
- cmd = send("#{s}_rubocop_command")
31
- return cmd if cmd.present?
32
- end
33
- cmd('rubocop')
34
- end
35
-
36
- def rubocop_command_with_args
37
- rubocop_command.append(rubocop_args)
38
- end
39
-
40
- def rubocop_version_uncached
41
- ::EacRubyUtils::Ruby.on_clean_environment do
42
- rubocop_command.append(['--version']).execute!.strip
43
- end
44
- end
45
-
46
- def run_rubocop
47
- ::EacRubyUtils::Ruby.on_clean_environment { rubocop_command_with_args.system }
48
- end
49
-
50
- def start_banner
51
- infov 'Rubocop version', rubocop_version
52
- end
53
- end
54
- end
55
- end
@@ -1,62 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module EacRubyBase1
7
- module Rubygems
8
- class Gemspec
9
- class AddOrReplaceGemLine
10
- enable_method_class
11
- common_constructor :sender, :gem_name, :gem_specs
12
- delegate :lines, to: :sender
13
-
14
- DEPENDENCY_PREFIX = ' s.add_dependency'
15
-
16
- def existing_gem_line_index
17
- lines.index { |line| line.start_with?(gem_line_prefix) }
18
- end
19
-
20
- def result
21
- if existing_gem_line_index.present?
22
- replace_line
23
- else
24
- add_line
25
- end
26
- end
27
-
28
- def add_line
29
- lines.insert(add_line_index, new_gem_line)
30
- end
31
-
32
- def add_line_index
33
- (gems_lines_start_index..(lines.count - 1)).each do |e|
34
- return e if new_gem_line < lines[e]
35
- end
36
- lines.count
37
- end
38
-
39
- def gems_lines_start_index
40
- lines.index { |line| line.start_with?(DEPENDENCY_PREFIX) } || lines.count
41
- end
42
-
43
- def new_gem_line
44
- ([gem_line_prefix] + quoted_gem_specs).join(', ')
45
- end
46
-
47
- def gem_line_prefix
48
- "#{DEPENDENCY_PREFIX} '#{gem_name}'"
49
- end
50
-
51
- def replace_line
52
- lines[existing_gem_line_index] = new_gem_line
53
- end
54
-
55
- def quoted_gem_specs
56
- gem_specs.map { |gem_spec| "'#{gem_spec}'" }
57
- end
58
- end
59
- end
60
- end
61
- end
62
- end
@@ -1,19 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module EacRubyBase1
7
- module Rubygems
8
- class Gemspec
9
- class Dependency
10
- common_constructor :gemspec, :gem_name
11
-
12
- def version_specs=(version_specs)
13
- gemspec.add_or_replace_gem_line(gem_name, version_specs)
14
- end
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,42 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module EacRubyBase1
7
- module Rubygems
8
- class Gemspec
9
- require_sub __FILE__, require_dependency: true
10
-
11
- DEPENDENCY_LINE_PARSER = /s\.add_dependency\s*'(\S+)'/.to_parser { |m| 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
- # @return [Avm::EacRubyBase1::Bundler::Gemfile::Dependency]
22
- def dependency(gem_name)
23
- ::Avm::EacRubyBase1::Rubygems::Gemspec::Dependency.new(self, gem_name)
24
- end
25
-
26
- # @return [Array<Avm::EacRubyBase1::Bundler::Gemfile::Dependency>]
27
- def dependencies
28
- lines.lazy.map { |line| DEPENDENCY_LINE_PARSER.parse(line) }.compact_blank
29
- .map { |gem_name| dependency(gem_name) }.to_a
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
- end
40
- end
41
- end
42
- end
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
- require 'eac_envs/http/request'
5
-
6
- module Avm
7
- module EacRubyBase1
8
- module Rubygems
9
- class Remote
10
- enable_simple_cache
11
- common_constructor :name
12
-
13
- # @return [Gem::Version, nil]
14
- def maximum_number
15
- numbers.max.if_present { |v| ::Gem::Version.new(v) }
16
- end
17
-
18
- # @return [Array<Gem::Version>]
19
- def numbers
20
- versions.map { |v| ::Gem::Version.new(v.fetch('number')) }
21
- end
22
-
23
- protected
24
-
25
- # @return [Array<Hash>]
26
- def versions_uncached
27
- ::EacEnvs::Http::Request.new
28
- .url("https://rubygems.org/api/v1/versions/#{name}.json")
29
- .response.body_data_or_raise
30
- rescue EacEnvs::Http::Response => e
31
- e.status == 404 ? [] : raise(e)
32
- end
33
- end
34
- end
35
- end
36
- end