eac_tools 0.103.1 → 0.104.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 (527) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +32 -33
  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 +37 -0
  6. data/sub/avm/lib/avm/application_scms.rb +6 -0
  7. data/sub/avm/lib/avm/application_stereotypes/base.rb +29 -0
  8. data/sub/avm/lib/avm/application_stereotypes.rb +6 -0
  9. data/sub/avm/lib/avm/applications/base/auto_local_source_path.rb +22 -0
  10. data/sub/avm/lib/avm/applications/base/local_instance.rb +28 -0
  11. data/sub/avm/lib/avm/applications/base/local_source.rb +33 -0
  12. data/sub/avm/lib/avm/applications/base/naming.rb +26 -0
  13. data/sub/avm/lib/avm/applications/base/organization.rb +27 -0
  14. data/sub/avm/lib/avm/applications/base/publishing.rb +39 -0
  15. data/sub/avm/lib/avm/applications/base/scm.rb +24 -0
  16. data/sub/avm/lib/avm/applications/base/stereotype.rb +29 -0
  17. data/sub/avm/lib/avm/applications/base.rb +34 -0
  18. data/sub/avm/lib/avm/applications.rb +6 -0
  19. data/sub/avm/lib/avm/data/callbacks.rb +36 -0
  20. data/sub/avm/lib/avm/data/clearer.rb +17 -0
  21. data/sub/avm/lib/avm/data/dumper.rb +137 -0
  22. data/sub/avm/lib/avm/data/loader.rb +23 -0
  23. data/sub/avm/lib/avm/data/package/base_performer.rb +36 -0
  24. data/sub/avm/lib/avm/data/package/build_directory.rb +25 -0
  25. data/sub/avm/lib/avm/data/package/clear.rb +19 -0
  26. data/sub/avm/lib/avm/data/package/dump.rb +42 -0
  27. data/sub/avm/lib/avm/data/package/load.rb +33 -0
  28. data/sub/avm/lib/avm/data/package.rb +64 -0
  29. data/sub/avm/lib/avm/data/performer.rb +45 -0
  30. data/sub/avm/lib/avm/data/rotate.rb +106 -0
  31. data/sub/avm/lib/avm/data/unit.rb +44 -0
  32. data/sub/avm/lib/avm/data/unit_with_commands.rb +48 -0
  33. data/sub/avm/lib/avm/docker/container.rb +49 -0
  34. data/sub/avm/lib/avm/docker/image.rb +73 -0
  35. data/sub/avm/lib/avm/docker/runner.rb +131 -0
  36. data/sub/avm/lib/avm/docker.rb +6 -0
  37. data/sub/avm/lib/avm/entries/auto_values/entry.rb +38 -0
  38. data/sub/avm/lib/avm/entries/auto_values/uri_entry.rb +21 -0
  39. data/sub/avm/lib/avm/entries/auto_values.rb +8 -0
  40. data/sub/avm/lib/avm/entries/base/inherited_entry_value.rb +44 -0
  41. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/default_value.rb +26 -0
  42. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb +37 -0
  43. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/url_entry_value.rb +29 -0
  44. data/sub/avm/lib/avm/entries/base/uri_component_entry_value.rb +42 -0
  45. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/component_factory.rb +40 -0
  46. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb +59 -0
  47. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/path_component.rb +16 -0
  48. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/url_component.rb +24 -0
  49. data/sub/avm/lib/avm/entries/base/uri_components_entries_values.rb +23 -0
  50. data/sub/avm/lib/avm/entries/base.rb +55 -0
  51. data/sub/avm/lib/avm/entries/entry/no_context_entry.rb +21 -0
  52. data/sub/avm/lib/avm/entries/entry.rb +71 -0
  53. data/sub/avm/lib/avm/entries/jobs/base.rb +60 -0
  54. data/sub/avm/lib/avm/entries/jobs/variables_source/read_entry.rb +48 -0
  55. data/sub/avm/lib/avm/entries/jobs/variables_source.rb +13 -0
  56. data/sub/avm/lib/avm/entries/jobs/with_variables_source.rb +13 -0
  57. data/sub/avm/lib/avm/entries/jobs.rb +8 -0
  58. data/sub/avm/lib/avm/entries/keys_constants_set.rb +41 -0
  59. data/sub/avm/lib/avm/entries/uri_builder.rb +87 -0
  60. data/sub/avm/lib/avm/entries.rb +6 -0
  61. data/sub/avm/lib/avm/executables.rb +21 -0
  62. data/sub/avm/lib/avm/file_formats/base.rb +34 -0
  63. data/sub/avm/lib/avm/file_formats/file_result.rb +11 -0
  64. data/sub/avm/lib/avm/file_formats/search_formatter.rb +83 -0
  65. data/sub/avm/lib/avm/file_formats/unknown.rb +15 -0
  66. data/sub/avm/lib/avm/file_formats/utf8_assert.rb +70 -0
  67. data/sub/avm/lib/avm/file_formats.rb +6 -0
  68. data/sub/avm/lib/avm/files/appendable/file_content.rb +30 -0
  69. data/sub/avm/lib/avm/files/appendable/plain_directory.rb +29 -0
  70. data/sub/avm/lib/avm/files/appendable/resource_base.rb +19 -0
  71. data/sub/avm/lib/avm/files/appendable/tar_output_command.rb +30 -0
  72. data/sub/avm/lib/avm/files/appendable/templatized_directory.rb +40 -0
  73. data/sub/avm/lib/avm/files/appendable.rb +55 -0
  74. data/sub/avm/lib/avm/files/appender.rb +9 -0
  75. data/sub/avm/lib/avm/files/deploy.rb +72 -0
  76. data/sub/avm/lib/avm/files/text_replacer/gsub.rb +24 -0
  77. data/sub/avm/lib/avm/files/text_replacer.rb +32 -0
  78. data/sub/avm/lib/avm/instances/base/auto_values/data.rb +28 -0
  79. data/sub/avm/lib/avm/instances/base/auto_values/database.rb +60 -0
  80. data/sub/avm/lib/avm/instances/base/auto_values/mailer.rb +31 -0
  81. data/sub/avm/lib/avm/instances/base/auto_values/source.rb +16 -0
  82. data/sub/avm/lib/avm/instances/base/auto_values.rb +12 -0
  83. data/sub/avm/lib/avm/instances/base/dockerizable.rb +43 -0
  84. data/sub/avm/lib/avm/instances/base/entry_keys.rb +25 -0
  85. data/sub/avm/lib/avm/instances/base/install.rb +28 -0
  86. data/sub/avm/lib/avm/instances/base/processes.rb +25 -0
  87. data/sub/avm/lib/avm/instances/base/production.rb +33 -0
  88. data/sub/avm/lib/avm/instances/base/subcommand_parent.rb +25 -0
  89. data/sub/avm/lib/avm/instances/base/web.rb +15 -0
  90. data/sub/avm/lib/avm/instances/base.rb +70 -0
  91. data/sub/avm/lib/avm/instances/data/files_unit.rb +57 -0
  92. data/sub/avm/lib/avm/instances/data/loading_denied_error.rb +10 -0
  93. data/sub/avm/lib/avm/instances/data/package.rb +25 -0
  94. data/sub/avm/lib/avm/instances/data/unit.rb +36 -0
  95. data/sub/avm/lib/avm/instances/data.rb +8 -0
  96. data/sub/avm/lib/avm/instances/docker_image.rb +13 -0
  97. data/sub/avm/lib/avm/instances/entry_keys.rb +39 -0
  98. data/sub/avm/lib/avm/instances/ids.rb +28 -0
  99. data/sub/avm/lib/avm/instances/process.rb +29 -0
  100. data/sub/avm/lib/avm/instances/runner.rb +36 -0
  101. data/sub/avm/lib/avm/instances.rb +6 -0
  102. data/sub/avm/lib/avm/launcher/context/instance_collector.rb +44 -0
  103. data/sub/avm/lib/avm/launcher/context/instance_discovery/root_instance_paths.rb +51 -0
  104. data/sub/avm/lib/avm/launcher/context/instance_discovery.rb +53 -0
  105. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instance.rb +34 -0
  106. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instances.rb +32 -0
  107. data/sub/avm/lib/avm/launcher/context/instance_manager.rb +74 -0
  108. data/sub/avm/lib/avm/launcher/context/settings.rb +51 -0
  109. data/sub/avm/lib/avm/launcher/context.rb +85 -0
  110. data/sub/avm/lib/avm/launcher/errors/base.rb +10 -0
  111. data/sub/avm/lib/avm/launcher/errors/non_project.rb +13 -0
  112. data/sub/avm/lib/avm/launcher/errors.rb +8 -0
  113. data/sub/avm/lib/avm/launcher/instances/base/cache.rb +43 -0
  114. data/sub/avm/lib/avm/launcher/instances/base/publishing.rb +53 -0
  115. data/sub/avm/lib/avm/launcher/instances/base.rb +77 -0
  116. data/sub/{avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api.rb → avm/lib/avm/launcher/instances/error.rb} +2 -2
  117. data/sub/avm/lib/avm/launcher/instances/runner_helper.rb +43 -0
  118. data/sub/avm/lib/avm/launcher/instances/settings.rb +24 -0
  119. data/sub/avm/lib/avm/launcher/instances.rb +8 -0
  120. data/sub/avm/lib/avm/launcher/paths/logical.rb +76 -0
  121. data/sub/avm/lib/avm/launcher/paths/real.rb +44 -0
  122. data/sub/avm/lib/avm/launcher/paths.rb +8 -0
  123. data/sub/avm/lib/avm/launcher/project.rb +15 -0
  124. data/sub/avm/lib/avm/launcher/publish/base.rb +44 -0
  125. data/sub/avm/lib/avm/launcher/publish/check_result.rb +64 -0
  126. data/sub/avm/lib/avm/launcher/publish.rb +8 -0
  127. data/sub/avm/lib/avm/launcher/stereotype.rb +63 -0
  128. data/sub/avm/lib/avm/launcher.rb +6 -0
  129. data/sub/avm/lib/avm/launcher_stereotypes.rb +6 -0
  130. data/sub/avm/lib/avm/patches/eac_config/entry_path.rb +46 -0
  131. data/sub/avm/lib/avm/path_string.rb +27 -0
  132. data/sub/avm/lib/avm/registry/application_scms.rb +13 -0
  133. data/sub/avm/lib/avm/registry/application_stereotypes/build_available.rb +45 -0
  134. data/sub/avm/lib/avm/registry/application_stereotypes/stereotype_builder.rb +30 -0
  135. data/sub/avm/lib/avm/registry/application_stereotypes.rb +42 -0
  136. data/sub/avm/lib/avm/registry/applications.rb +35 -0
  137. data/sub/avm/lib/avm/registry/base.rb +26 -0
  138. data/sub/avm/lib/avm/registry/config_objects.rb +15 -0
  139. data/sub/avm/lib/avm/registry/detection_error.rb +8 -0
  140. data/sub/avm/lib/avm/registry/file_formats.rb +17 -0
  141. data/sub/avm/lib/avm/registry/from_gems.rb +67 -0
  142. data/sub/avm/lib/avm/registry/instances.rb +13 -0
  143. data/sub/avm/lib/avm/registry/launcher_stereotypes.rb +8 -0
  144. data/sub/avm/lib/avm/registry/runners.rb +8 -0
  145. data/sub/avm/lib/avm/registry/scms.rb +8 -0
  146. data/sub/avm/lib/avm/registry/source_generators.rb +14 -0
  147. data/sub/avm/lib/avm/registry/sources.rb +38 -0
  148. data/sub/avm/lib/avm/registry/with_path/cache.rb +28 -0
  149. data/sub/avm/lib/avm/registry/with_path.rb +46 -0
  150. data/sub/avm/lib/avm/registry.rb +32 -0
  151. data/sub/avm/lib/avm/result.rb +80 -0
  152. data/sub/avm/lib/avm/rspec/launcher_controller.rb +95 -0
  153. data/sub/avm/lib/avm/rspec/setup/launcher.rb +18 -0
  154. data/sub/avm/lib/avm/rspec/setup/source_generator.rb +20 -0
  155. data/sub/avm/lib/avm/rspec/setup.rb +32 -0
  156. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_format_file_resource_name.rb +13 -0
  157. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_formats_with_fixtures.rb +28 -0
  158. data/sub/avm/lib/avm/rspec/shared_examples/avm_source_generated.rb +23 -0
  159. data/sub/avm/lib/avm/rspec/shared_examples/entries_values.rb +19 -0
  160. data/sub/avm/lib/avm/rspec/shared_examples/in_avm_registry.rb +9 -0
  161. data/sub/avm/lib/avm/rspec/shared_examples/not_in_avm_registry.rb +12 -0
  162. data/sub/avm/lib/avm/rspec/shared_examples/with_config.rb +9 -0
  163. data/sub/avm/lib/avm/rspec/shared_examples/with_launcher.rb +13 -0
  164. data/sub/{eac_cli/lib/eac_cli → avm/lib/avm}/rspec.rb +1 -2
  165. data/sub/avm/lib/avm/runner_with/file_replacer.rb +30 -0
  166. data/sub/avm/lib/avm/runner_with/filesystem_renamer.rb +101 -0
  167. data/sub/avm/lib/avm/runner_with/filesystem_traverser.rb +54 -0
  168. data/sub/{eac_cli/lib/eac_cli → avm/lib/avm}/runner_with.rb +3 -1
  169. data/sub/avm/lib/avm/runners/base.rb +27 -0
  170. data/sub/avm/lib/avm/scms/auto_commit/file_resource_name.rb +47 -0
  171. data/sub/avm/lib/avm/scms/auto_commit/for_file.rb +79 -0
  172. data/sub/avm/lib/avm/scms/auto_commit/rules/base.rb +37 -0
  173. data/sub/avm/lib/avm/scms/auto_commit/rules/last.rb +17 -0
  174. data/sub/avm/lib/avm/scms/auto_commit/rules/manual.rb +38 -0
  175. data/sub/avm/lib/avm/scms/auto_commit/rules/new.rb +21 -0
  176. data/sub/avm/lib/avm/scms/auto_commit/rules/nth.rb +29 -0
  177. data/sub/avm/lib/avm/scms/auto_commit/rules/unique.rb +19 -0
  178. data/sub/avm/lib/avm/scms/auto_commit/rules.rb +34 -0
  179. data/sub/avm/lib/avm/scms/auto_commit.rb +8 -0
  180. data/sub/avm/lib/avm/scms/base/branches.rb +20 -0
  181. data/sub/avm/lib/avm/scms/base/commits.rb +32 -0
  182. data/sub/avm/lib/avm/scms/base/milestones.rb +19 -0
  183. data/sub/avm/lib/avm/scms/base/remotes.rb +20 -0
  184. data/sub/avm/lib/avm/scms/base.rb +59 -0
  185. data/sub/avm/lib/avm/scms/branch.rb +24 -0
  186. data/sub/avm/lib/avm/scms/changed_file.rb +46 -0
  187. data/sub/avm/lib/avm/scms/commit.rb +64 -0
  188. data/sub/avm/lib/avm/scms/commit_info.rb +37 -0
  189. data/sub/avm/lib/avm/scms/inflector.rb +22 -0
  190. data/sub/avm/lib/avm/scms/interval.rb +16 -0
  191. data/sub/avm/lib/avm/scms/null/commit.rb +11 -0
  192. data/sub/avm/lib/avm/scms/null.rb +16 -0
  193. data/sub/avm/lib/avm/scms/remote.rb +9 -0
  194. data/sub/avm/lib/avm/scms.rb +6 -0
  195. data/sub/avm/lib/avm/self/docker_image.rb +11 -0
  196. data/sub/avm/lib/avm/self/instance/entry_keys.rb +12 -0
  197. data/sub/avm/lib/avm/self/instance.rb +27 -0
  198. data/sub/avm/lib/avm/source_generators/base.rb +69 -0
  199. data/sub/avm/lib/avm/source_generators/option.rb +11 -0
  200. data/sub/avm/lib/avm/source_generators/option_list.rb +29 -0
  201. data/sub/avm/lib/avm/source_generators/runner.rb +57 -0
  202. data/sub/avm/lib/avm/source_generators.rb +6 -0
  203. data/sub/avm/lib/avm/sources/auto_commit/for_file.rb +29 -0
  204. data/sub/avm/lib/avm/sources/auto_commit.rb +8 -0
  205. data/sub/avm/lib/avm/sources/base/application.rb +34 -0
  206. data/sub/avm/lib/avm/sources/base/configuration.rb +91 -0
  207. data/sub/avm/lib/avm/sources/base/instance.rb +13 -0
  208. data/sub/avm/lib/avm/sources/base/locale.rb +30 -0
  209. data/sub/avm/lib/avm/sources/base/organizational.rb +30 -0
  210. data/sub/avm/lib/avm/sources/base/parent.rb +26 -0
  211. data/sub/avm/lib/avm/sources/base/stereotype.rb +16 -0
  212. data/sub/avm/lib/avm/sources/base/sub/remove.rb +36 -0
  213. data/sub/avm/lib/avm/sources/base/sub.rb +23 -0
  214. data/sub/avm/lib/avm/sources/base/subs.rb +63 -0
  215. data/sub/avm/lib/avm/sources/base/subs_paths.rb +30 -0
  216. data/sub/avm/lib/avm/sources/base/testing.rb +67 -0
  217. data/sub/avm/lib/avm/sources/base/update.rb +37 -0
  218. data/sub/avm/lib/avm/sources/base/update_sub.rb +55 -0
  219. data/sub/avm/lib/avm/sources/base/update_subs.rb +17 -0
  220. data/sub/avm/lib/avm/sources/base/version_bump.rb +26 -0
  221. data/sub/avm/lib/avm/sources/base.rb +56 -0
  222. data/sub/avm/lib/avm/sources/configuration/rubocop.rb +26 -0
  223. data/sub/avm/lib/avm/sources/configuration.rb +59 -0
  224. data/sub/avm/lib/avm/sources/issues/deliver.rb +52 -0
  225. data/sub/avm/lib/avm/sources/issues.rb +8 -0
  226. data/sub/avm/lib/avm/sources/runner.rb +40 -0
  227. data/sub/avm/lib/avm/sources/tests/builder.rb +91 -0
  228. data/sub/avm/lib/avm/sources/tests/performer.rb +32 -0
  229. data/sub/avm/lib/avm/sources/tests/result.rb +15 -0
  230. data/sub/avm/lib/avm/sources/tests/single.rb +71 -0
  231. data/sub/avm/lib/avm/sources/tests.rb +8 -0
  232. data/sub/avm/lib/avm/sources/update_error.rb +8 -0
  233. data/sub/avm/lib/avm/sources.rb +6 -0
  234. data/sub/avm/lib/avm/sync.rb +90 -0
  235. data/sub/{eac_cli/lib/eac_cli → avm/lib/avm}/version.rb +2 -2
  236. data/sub/avm/lib/avm/version_number.rb +45 -0
  237. data/sub/avm/lib/avm/with/application_stereotype.rb +29 -0
  238. data/sub/avm/lib/avm/with/extra_subcommands.rb +43 -0
  239. data/sub/avm/lib/avm.rb +12 -0
  240. data/sub/avm/locale/en.yml +6 -0
  241. data/sub/avm/locale/pt-BR.yml +6 -0
  242. data/sub/avm/spec/lib/avm/applications/base/entries_spec.rb +29 -0
  243. data/sub/avm/spec/lib/avm/applications/base/entries_spec_files/config.yml +12 -0
  244. data/sub/avm/spec/lib/avm/applications/base_spec.rb +21 -0
  245. data/sub/avm/spec/lib/avm/applications/base_spec_fixture.yml +3 -0
  246. data/sub/avm/spec/lib/avm/file_formats/base_spec.rb +9 -0
  247. data/sub/avm/spec/lib/avm/instances/base_spec.rb +104 -0
  248. data/sub/avm/spec/lib/avm/instances/base_spec_files/config.yml +50 -0
  249. data/sub/avm/spec/lib/avm/launcher/context_spec.rb +98 -0
  250. data/sub/avm/spec/lib/avm/launcher/context_spec.yml +5 -0
  251. data/sub/avm/spec/lib/avm/launcher/context_spec_files/config.yml +9 -0
  252. data/sub/avm/spec/lib/avm/launcher/instances/base_spec.rb +39 -0
  253. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/config.yml +5 -0
  254. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/settings.yaml +5 -0
  255. data/sub/avm/spec/lib/avm/patches/eac_config/entry_path_spec.rb +26 -0
  256. data/sub/avm/spec/lib/avm/scms/auto_commit/file_resource_name_spec.rb +20 -0
  257. data/sub/avm/spec/lib/avm/scms/base_spec.rb +5 -0
  258. data/sub/avm/spec/lib/avm/sources/base_spec.rb +5 -0
  259. data/sub/avm/spec/lib/avm/sources/runner_spec.rb +7 -0
  260. data/sub/avm/spec/spec_helper/launcher_context/settings.yml +6 -0
  261. data/sub/avm/spec/spec_helper.rb +8 -0
  262. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/avm-tools.gemspec +29 -0
  263. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/lib/avm/tools/version.rb +7 -0
  264. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/lib/avm/tools.rb +6 -0
  265. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/lib/ruby_gem_stub/version.rb +5 -0
  266. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/lib/ruby_gem_stub.rb +3 -0
  267. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/ruby_gem_stub.gemspec +16 -0
  268. data/sub/avm/template/avm/rspec/launcher_controller/settings.yml +1 -0
  269. data/sub/avm/template/avm/self/docker_image/Dockerfile +17 -0
  270. data/sub/avm/template/avm/self/docker_image/entrypoint.sh +12 -0
  271. data/sub/avm-git/avm-git.gemspec +25 -0
  272. data/sub/avm-git/lib/avm/git/application_scms/base/assert_main_at.rb +44 -0
  273. data/sub/avm-git/lib/avm/git/application_scms/base.rb +18 -0
  274. data/sub/{eac_cli/lib/eac_cli/runner/context_responders.rb → avm-git/lib/avm/git/application_scms.rb} +3 -3
  275. data/sub/avm-git/lib/avm/git/commit/class_methods.rb +29 -0
  276. data/sub/avm-git/lib/avm/git/commit/diff_tree_line.rb +32 -0
  277. data/sub/avm-git/lib/avm/git/commit/file.rb +42 -0
  278. data/sub/avm-git/lib/avm/git/commit.rb +57 -0
  279. data/sub/avm-git/lib/avm/git/issue/complete/commits.rb +40 -0
  280. data/sub/avm-git/lib/avm/git/issue/complete/git_subrepos.rb +20 -0
  281. data/sub/avm-git/lib/avm/git/issue/complete/local_branch.rb +59 -0
  282. data/sub/avm-git/lib/avm/git/issue/complete/local_tag.rb +37 -0
  283. data/sub/avm-git/lib/avm/git/issue/complete/push.rb +60 -0
  284. data/sub/avm-git/lib/avm/git/issue/complete/remote.rb +33 -0
  285. data/sub/avm-git/lib/avm/git/issue/complete/test.rb +34 -0
  286. data/sub/avm-git/lib/avm/git/issue/complete/tracker.rb +21 -0
  287. data/sub/avm-git/lib/avm/git/issue/complete/validation.rb +36 -0
  288. data/sub/avm-git/lib/avm/git/issue/complete/validations.rb +54 -0
  289. data/sub/avm-git/lib/avm/git/issue/complete/working_tree.rb +19 -0
  290. data/sub/avm-git/lib/avm/git/issue/complete.rb +66 -0
  291. data/sub/{eac_cli/lib/eac_cli/patches.rb → avm-git/lib/avm/git/issue.rb} +7 -0
  292. data/sub/avm-git/lib/avm/git/launcher/base/class_methods.rb +28 -0
  293. data/sub/avm-git/lib/avm/git/launcher/base/dirty_files.rb +21 -0
  294. data/sub/avm-git/lib/avm/git/launcher/base/remotes.rb +37 -0
  295. data/sub/avm-git/lib/avm/git/launcher/base/subrepo.rb +42 -0
  296. data/sub/avm-git/lib/avm/git/launcher/base/underlying.rb +54 -0
  297. data/sub/avm-git/lib/avm/git/launcher/base.rb +81 -0
  298. data/sub/avm-git/lib/avm/git/launcher/error.rb +13 -0
  299. data/sub/avm-git/lib/avm/git/launcher/mirror_update.rb +36 -0
  300. data/sub/avm-git/lib/avm/git/launcher/publish_base.rb +128 -0
  301. data/sub/avm-git/lib/avm/git/launcher/remote.rb +53 -0
  302. data/sub/avm-git/lib/avm/git/launcher/sub_warp_base.rb +36 -0
  303. data/sub/avm-git/lib/avm/git/launcher/warp_base.rb +63 -0
  304. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/local_project_mixin.rb +16 -0
  305. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/publish.rb +13 -0
  306. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/warp.rb +25 -0
  307. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git.rb +22 -0
  308. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo/publish.rb +29 -0
  309. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo/warp.rb +82 -0
  310. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo.rb +32 -0
  311. data/sub/avm-git/lib/avm/git/launcher_stereotypes/provider.rb +16 -0
  312. data/sub/avm-git/lib/avm/git/launcher_stereotypes.rb +9 -0
  313. data/sub/avm-git/lib/avm/git/organize/reference_update.rb +32 -0
  314. data/sub/avm-git/lib/avm/git/organize/repository.rb +74 -0
  315. data/sub/avm-git/lib/avm/git/organize.rb +9 -0
  316. data/sub/avm-git/lib/avm/git/revision_test.rb +102 -0
  317. data/sub/avm-git/lib/avm/git/runners/base/commit.rb +96 -0
  318. data/sub/avm-git/lib/avm/git/runners/base/deploy.rb +108 -0
  319. data/sub/avm-git/lib/avm/git/runners/base/dirty_files.rb +42 -0
  320. data/sub/avm-git/lib/avm/git/runners/base/organize.rb +72 -0
  321. data/sub/avm-git/lib/avm/git/runners/base/revisions_test.rb +63 -0
  322. data/sub/avm-git/lib/avm/git/runners/base/subrepo/check.rb +45 -0
  323. data/sub/avm-git/lib/avm/git/runners/base/subrepo/clone.rb +80 -0
  324. data/sub/avm-git/lib/avm/git/runners/base/subrepo/fix.rb +69 -0
  325. data/sub/avm-git/lib/avm/git/runners/base/subrepo.rb +17 -0
  326. data/sub/avm-git/lib/avm/git/runners/base.rb +40 -0
  327. data/sub/avm-git/lib/avm/git/runners.rb +9 -0
  328. data/sub/avm-git/lib/avm/git/scms/git/branch.rb +28 -0
  329. data/sub/avm-git/lib/avm/git/scms/git/branches.rb +17 -0
  330. data/sub/avm-git/lib/avm/git/scms/git/change_tracker.rb +34 -0
  331. data/sub/avm-git/lib/avm/git/scms/git/changed_file.rb +25 -0
  332. data/sub/avm-git/lib/avm/git/scms/git/changed_files.rb +21 -0
  333. data/sub/avm-git/lib/avm/git/scms/git/commit/deploy.rb +38 -0
  334. data/sub/avm-git/lib/avm/git/scms/git/commit/deploy_methods.rb +24 -0
  335. data/sub/avm-git/lib/avm/git/scms/git/commit.rb +64 -0
  336. data/sub/avm-git/lib/avm/git/scms/git/commit_dirty.rb +32 -0
  337. data/sub/avm-git/lib/avm/git/scms/git/commits.rb +44 -0
  338. data/sub/avm-git/lib/avm/git/scms/git/interval.rb +28 -0
  339. data/sub/avm-git/lib/avm/git/scms/git/milestones.rb +18 -0
  340. data/sub/avm-git/lib/avm/git/scms/git/remote.rb +18 -0
  341. data/sub/avm-git/lib/avm/git/scms/git/remotes.rb +29 -0
  342. data/sub/avm-git/lib/avm/git/scms/git/run_commit.rb +54 -0
  343. data/sub/avm-git/lib/avm/git/scms/git.rb +46 -0
  344. data/sub/avm-git/lib/avm/git/scms/git_sub_base/changed_file.rb +19 -0
  345. data/sub/avm-git/lib/avm/git/scms/git_sub_base/commit.rb +23 -0
  346. data/sub/avm-git/lib/avm/git/scms/git_sub_base/interval.rb +23 -0
  347. data/sub/avm-git/lib/avm/git/scms/git_sub_base.rb +30 -0
  348. data/sub/avm-git/lib/avm/git/scms/git_subrepo.rb +33 -0
  349. data/sub/avm-git/lib/avm/git/scms/git_subtree.rb +29 -0
  350. data/sub/avm-git/lib/avm/git/scms/provider.rb +16 -0
  351. data/sub/avm-git/lib/avm/git/scms.rb +9 -0
  352. data/sub/avm-git/lib/avm/git/subrepo_check/parent.rb +48 -0
  353. data/sub/avm-git/lib/avm/git/subrepo_check/remote.rb +86 -0
  354. data/sub/avm-git/lib/avm/git/subrepo_check/show_result.rb +30 -0
  355. data/sub/avm-git/lib/avm/git/subrepo_check.rb +36 -0
  356. data/sub/avm-git/lib/avm/git/subrepo_checks.rb +57 -0
  357. data/sub/avm-git/lib/avm/git/vendor/github.rb +20 -0
  358. data/sub/avm-git/lib/avm/git/vendor.rb +9 -0
  359. data/sub/{avm-eac_redmine_base0/lib/avm/eac_redmine_base0 → avm-git/lib/avm/git}/version.rb +2 -2
  360. data/sub/avm-git/lib/avm/git.rb +16 -0
  361. data/sub/avm-git/locale/en.yml +6 -0
  362. data/sub/avm-git/locale/pt-BR.yml +6 -0
  363. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec.rb +13 -0
  364. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.source.out +1 -0
  365. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.target.yaml +7 -0
  366. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.source.out +1 -0
  367. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.target.yaml +7 -0
  368. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.source.out +1 -0
  369. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.target.yaml +7 -0
  370. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.source.out +2 -0
  371. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.target.yaml +13 -0
  372. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.source.out +2 -0
  373. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.target.yaml +13 -0
  374. data/sub/avm-git/spec/lib/avm/git/commit_spec.rb +56 -0
  375. data/sub/avm-git/spec/lib/avm/git/launcher/base_spec.rb +45 -0
  376. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/publish_spec.rb +83 -0
  377. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/publish_spec_files/config.yml +5 -0
  378. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/publish_spec_settings.yml +6 -0
  379. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/warp_spec.rb +53 -0
  380. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/warp_spec_files/config.yml +3 -0
  381. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/warp_spec_settings.yml +6 -0
  382. data/sub/avm-git/spec/lib/avm/git/runners/base/deploy_spec.rb +126 -0
  383. data/sub/avm-git/spec/lib/avm/git/runners/base/deploy_spec_files/append1/stub3.txt.template +1 -0
  384. data/sub/avm-git/spec/lib/avm/git/runners/base/deploy_spec_files/append2/stub4.txt +1 -0
  385. data/sub/avm-git/spec/lib/avm/git/scms/git/commit/deploy_spec.rb +92 -0
  386. data/sub/avm-git/spec/lib/avm/git/scms/git_spec.rb +8 -0
  387. data/sub/avm-git/spec/lib/avm/git/scms/git_subrepo_spec.rb +8 -0
  388. data/sub/avm-git/spec/lib/avm/git/vendor/github_spec.rb +23 -0
  389. data/sub/{avm-eac_redmine_base0 → avm-git}/spec/spec_helper.rb +2 -3
  390. metadata +396 -163
  391. data/sub/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +0 -26
  392. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/apache_host.rb +0 -10
  393. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/database.rb +0 -27
  394. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/files.rb +0 -18
  395. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/gitolite.rb +0 -52
  396. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/install.rb +0 -43
  397. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/nodejs.rb +0 -19
  398. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/web.rb +0 -17
  399. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base.rb +0 -53
  400. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/deploy.rb +0 -16
  401. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/docker_image.rb +0 -110
  402. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb +0 -31
  403. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/project.rb +0 -21
  404. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/root.rb +0 -17
  405. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb +0 -50
  406. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/docker.rb +0 -15
  407. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/read.rb +0 -25
  408. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/write.rb +0 -68
  409. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page.rb +0 -26
  410. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project.rb +0 -22
  411. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project_rename.rb +0 -53
  412. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base.rb +0 -32
  413. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update.rb +0 -125
  414. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/core_update.rb +0 -61
  415. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/docker.rb +0 -16
  416. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0.rb +0 -16
  417. data/sub/avm-eac_redmine_base0/locale/en.yml +0 -6
  418. data/sub/avm-eac_redmine_base0/locale/pt-BR.yml +0 -6
  419. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec.rb +0 -22
  420. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec_files/apache_host_spec_no_ssl_content.conf +0 -11
  421. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec.rb +0 -26
  422. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec_files/config.yml +0 -10
  423. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/install.sh.template +0 -45
  424. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/secrets.yml +0 -8
  425. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/Dockerfile.template +0 -37
  426. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_host_dockerfile +0 -8
  427. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_http_virtualhost.conf.template +0 -10
  428. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_https_virtualhost.conf.template +0 -16
  429. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_path_dockerfile +0 -5
  430. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/start.sh.template +0 -52
  431. data/sub/eac_cli/eac_cli.gemspec +0 -23
  432. data/sub/eac_cli/lib/eac_cli/config/entry/options.rb +0 -55
  433. data/sub/eac_cli/lib/eac_cli/config/entry/undefined.rb +0 -26
  434. data/sub/eac_cli/lib/eac_cli/config/entry.rb +0 -55
  435. data/sub/eac_cli/lib/eac_cli/config.rb +0 -15
  436. data/sub/eac_cli/lib/eac_cli/core_ext.rb +0 -4
  437. data/sub/eac_cli/lib/eac_cli/default_runner.rb +0 -12
  438. data/sub/eac_cli/lib/eac_cli/definition/alternative.rb +0 -101
  439. data/sub/eac_cli/lib/eac_cli/definition/argument_option.rb +0 -19
  440. data/sub/eac_cli/lib/eac_cli/definition/boolean_option.rb +0 -25
  441. data/sub/eac_cli/lib/eac_cli/definition/error.rb +0 -8
  442. data/sub/eac_cli/lib/eac_cli/definition/option/initialize_args_parser.rb +0 -48
  443. data/sub/eac_cli/lib/eac_cli/definition/option.rb +0 -70
  444. data/sub/eac_cli/lib/eac_cli/definition/option_or_positional.rb +0 -41
  445. data/sub/eac_cli/lib/eac_cli/definition/positional.rb +0 -50
  446. data/sub/eac_cli/lib/eac_cli/definition.rb +0 -104
  447. data/sub/eac_cli/lib/eac_cli/enum.rb +0 -42
  448. data/sub/eac_cli/lib/eac_cli/old_configs/entry_reader.rb +0 -76
  449. data/sub/eac_cli/lib/eac_cli/old_configs/password_entry_reader.rb +0 -14
  450. data/sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb +0 -42
  451. data/sub/eac_cli/lib/eac_cli/old_configs/store_passwords_entry_reader.rb +0 -23
  452. data/sub/eac_cli/lib/eac_cli/old_configs.rb +0 -31
  453. data/sub/eac_cli/lib/eac_cli/parser/alternative/any_options.rb +0 -17
  454. data/sub/eac_cli/lib/eac_cli/parser/alternative/argv.rb +0 -19
  455. data/sub/eac_cli/lib/eac_cli/parser/alternative/double_dash.rb +0 -24
  456. data/sub/eac_cli/lib/eac_cli/parser/alternative/long_options.rb +0 -37
  457. data/sub/eac_cli/lib/eac_cli/parser/alternative/option_argument.rb +0 -29
  458. data/sub/eac_cli/lib/eac_cli/parser/alternative/options.rb +0 -29
  459. data/sub/eac_cli/lib/eac_cli/parser/alternative/positionals.rb +0 -30
  460. data/sub/eac_cli/lib/eac_cli/parser/alternative/short_options.rb +0 -54
  461. data/sub/eac_cli/lib/eac_cli/parser/alternative.rb +0 -99
  462. data/sub/eac_cli/lib/eac_cli/parser/collector.rb +0 -52
  463. data/sub/eac_cli/lib/eac_cli/parser/error.rb +0 -13
  464. data/sub/eac_cli/lib/eac_cli/parser.rb +0 -32
  465. data/sub/eac_cli/lib/eac_cli/patches/object/runner_with.rb +0 -22
  466. data/sub/eac_cli/lib/eac_cli/patches/object.rb +0 -5
  467. data/sub/eac_cli/lib/eac_cli/rspec/setup.rb +0 -41
  468. data/sub/eac_cli/lib/eac_cli/runner/after_class_methods.rb +0 -34
  469. data/sub/eac_cli/lib/eac_cli/runner/class_runner.rb +0 -32
  470. data/sub/eac_cli/lib/eac_cli/runner/context.rb +0 -57
  471. data/sub/eac_cli/lib/eac_cli/runner/context_responders/base.rb +0 -22
  472. data/sub/eac_cli/lib/eac_cli/runner/context_responders/parent.rb +0 -24
  473. data/sub/eac_cli/lib/eac_cli/runner/context_responders/runner.rb +0 -17
  474. data/sub/eac_cli/lib/eac_cli/runner/context_responders/runner_missing_method.rb +0 -29
  475. data/sub/eac_cli/lib/eac_cli/runner/context_responders/set.rb +0 -41
  476. data/sub/eac_cli/lib/eac_cli/runner/exit.rb +0 -14
  477. data/sub/eac_cli/lib/eac_cli/runner/for_context.rb +0 -35
  478. data/sub/eac_cli/lib/eac_cli/runner/instance_methods.rb +0 -45
  479. data/sub/eac_cli/lib/eac_cli/runner.rb +0 -47
  480. data/sub/eac_cli/lib/eac_cli/runner_with/confirmation/input_result.rb +0 -60
  481. data/sub/eac_cli/lib/eac_cli/runner_with/confirmation.rb +0 -65
  482. data/sub/eac_cli/lib/eac_cli/runner_with/help/builder/alternative.rb +0 -61
  483. data/sub/eac_cli/lib/eac_cli/runner_with/help/builder.rb +0 -79
  484. data/sub/eac_cli/lib/eac_cli/runner_with/help/layout.rb +0 -38
  485. data/sub/eac_cli/lib/eac_cli/runner_with/help.rb +0 -51
  486. data/sub/eac_cli/lib/eac_cli/runner_with/input.rb +0 -32
  487. data/sub/eac_cli/lib/eac_cli/runner_with/output.rb +0 -54
  488. data/sub/eac_cli/lib/eac_cli/runner_with/output_item/asciidoc_formatter.rb +0 -70
  489. data/sub/eac_cli/lib/eac_cli/runner_with/output_item/base_formatter.rb +0 -12
  490. data/sub/eac_cli/lib/eac_cli/runner_with/output_item/csv_formatter.rb +0 -21
  491. data/sub/eac_cli/lib/eac_cli/runner_with/output_item/yaml_formatter.rb +0 -16
  492. data/sub/eac_cli/lib/eac_cli/runner_with/output_item.rb +0 -47
  493. data/sub/eac_cli/lib/eac_cli/runner_with/output_list/base_formatter.rb +0 -44
  494. data/sub/eac_cli/lib/eac_cli/runner_with/output_list/csv_formatter.rb +0 -24
  495. data/sub/eac_cli/lib/eac_cli/runner_with/output_list/tty_formatter.rb +0 -34
  496. data/sub/eac_cli/lib/eac_cli/runner_with/output_list/yaml_formatter.rb +0 -21
  497. data/sub/eac_cli/lib/eac_cli/runner_with/output_list.rb +0 -39
  498. data/sub/eac_cli/lib/eac_cli/runner_with/subcommands/definition_concern.rb +0 -10
  499. data/sub/eac_cli/lib/eac_cli/runner_with/subcommands.rb +0 -124
  500. data/sub/eac_cli/lib/eac_cli/runner_with_set.rb +0 -54
  501. data/sub/eac_cli/lib/eac_cli/speaker/constants.rb +0 -11
  502. data/sub/eac_cli/lib/eac_cli/speaker/input_blocked.rb +0 -14
  503. data/sub/eac_cli/lib/eac_cli/speaker/input_requested.rb +0 -8
  504. data/sub/eac_cli/lib/eac_cli/speaker/list.rb +0 -84
  505. data/sub/eac_cli/lib/eac_cli/speaker/options.rb +0 -42
  506. data/sub/eac_cli/lib/eac_cli/speaker/request_from_list.rb +0 -40
  507. data/sub/eac_cli/lib/eac_cli/speaker.rb +0 -114
  508. data/sub/eac_cli/lib/eac_cli.rb +0 -14
  509. data/sub/eac_cli/spec/lib/eac_cli/definition/alternative_spec.rb +0 -18
  510. data/sub/eac_cli/spec/lib/eac_cli/old_configs_spec.rb +0 -14
  511. data/sub/eac_cli/spec/lib/eac_cli/parser/alternative/subcommands_spec.rb +0 -58
  512. data/sub/eac_cli/spec/lib/eac_cli/parser/alternative_spec.rb +0 -89
  513. data/sub/eac_cli/spec/lib/eac_cli/runner/for_context_spec.rb +0 -79
  514. data/sub/eac_cli/spec/lib/eac_cli/runner_spec.rb +0 -129
  515. data/sub/eac_cli/spec/lib/eac_cli/runner_with/confirmation/input_result_spec.rb +0 -36
  516. data/sub/eac_cli/spec/lib/eac_cli/runner_with/confirmation_spec.rb +0 -42
  517. data/sub/eac_cli/spec/lib/eac_cli/runner_with/help/layout_spec.rb +0 -21
  518. data/sub/eac_cli/spec/lib/eac_cli/runner_with/help_spec.rb +0 -51
  519. data/sub/eac_cli/spec/lib/eac_cli/runner_with/output_list_spec.rb +0 -57
  520. data/sub/eac_cli/spec/lib/eac_cli/runner_with/output_spec.rb +0 -81
  521. data/sub/eac_cli/spec/lib/eac_cli/runner_with/subcommands_spec.rb +0 -99
  522. data/sub/eac_cli/spec/lib/eac_cli/speaker_spec.rb +0 -36
  523. data/sub/eac_cli/spec/spec_helper.rb +0 -4
  524. /data/sub/{eac_cli → avm}/Gemfile +0 -0
  525. /data/sub/{eac_cli → avm}/spec/rubocop_spec.rb +0 -0
  526. /data/sub/{avm-eac_redmine_base0 → avm-git}/Gemfile +0 -0
  527. /data/sub/{avm-eac_redmine_base0 → avm-git}/spec/rubocop_spec.rb +0 -0
@@ -1,41 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacCli
4
- module Rspec
5
- module Setup
6
- def disable_input_request
7
- disable_config_input_request
8
- disable_speaker_input_request
9
- end
10
-
11
- def disable_config_input_request
12
- rspec_config.before do
13
- # Fixes EacCli::Config::Entry does not implement #input_value error
14
- ::EacCli::Config::Entry.define_method(:input_value) do
15
- super
16
- end
17
- allow_any_instance_of(::EacCli::Config::Entry).to receive(:input_value) do |obj|
18
- raise "Console input requested for entry (Path: #{obj.path})"
19
- end
20
- end
21
- end
22
-
23
- def disable_speaker_input_request
24
- ::RSpec.configure do |config|
25
- config.around do |example|
26
- ::EacRubyUtils::Speaker
27
- .context.on(::EacCli::Speaker.new(in_in: FailIfRequestInput.new)) { example.run }
28
- end
29
- end
30
- end
31
-
32
- class FailIfRequestInput
33
- %w[gets noecho].each do |method|
34
- define_method(method) do
35
- raise "Input method requested: #{method}. Should not request input on RSpec."
36
- end
37
- end
38
- end
39
- end
40
- end
41
- end
@@ -1,34 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacCli
4
- module Runner
5
- module AfterClassMethods
6
- # @return [EacCli::Runner::ClassRunner]
7
- def class_runner(runner_context_args)
8
- ::EacCli::Runner::ClassRunner.new(self, runner_context_args)
9
- end
10
-
11
- def create(*runner_context_args)
12
- class_runner(runner_context_args).create
13
- end
14
-
15
- def run(*runner_context_args)
16
- class_runner(runner_context_args).run
17
- end
18
-
19
- def runner_definition(&block)
20
- @runner_definition ||= super_runner_definition
21
- begin
22
- @runner_definition.instance_eval(&block) if block
23
- rescue ::EacCli::Definition::Error => _e
24
- raise ::EacCli::Definition::Error, "Definition error for #{self}"
25
- end
26
- @runner_definition
27
- end
28
-
29
- def super_runner_definition
30
- superclass.try(:runner_definition).if_present(&:dup) || ::EacCli::Definition.new
31
- end
32
- end
33
- end
34
- end
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacCli
4
- module Runner
5
- class ClassRunner
6
- PARSER_ERROR_EXIT_CODE = 1
7
-
8
- common_constructor :klass, :context_args
9
-
10
- def create
11
- r = klass.new
12
- r.runner_context = ::EacCli::Runner::Context.new(r, *context_args)
13
- r
14
- end
15
-
16
- def run
17
- r = create
18
- begin
19
- r.run_run
20
- rescue ::EacCli::Parser::Error => e
21
- run_parser_error(r, e)
22
- end
23
- r
24
- end
25
-
26
- def run_parser_error(runner_instance, error)
27
- $stderr.write("#{runner_instance.program_name}: #{error}\n")
28
- ::Kernel.exit(PARSER_ERROR_EXIT_CODE)
29
- end
30
- end
31
- end
32
- end
@@ -1,57 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacCli
4
- module Runner
5
- class Context
6
- attr_reader :argv, :parent, :program_name, :runner
7
-
8
- def initialize(runner, *context_args)
9
- options = context_args.extract_options!
10
- @argv = (context_args[0] || options.delete(:argv) || ARGV).dup.freeze
11
- @parent = context_args[1] || options.delete(:parent)
12
- @program_name = options.delete(:program_name)
13
- @runner = runner
14
- end
15
-
16
- # Call a method in the runner or in one of it ancestors.
17
- def call(method_name, *args, &block)
18
- context_call_responder(method_name).call(*args, &block)
19
- end
20
-
21
- # @return [EacCli::Runner::ContextResponders]
22
- def context_call_responder(method_name)
23
- ::EacCli::Runner::ContextResponders::Set.new(self, method_name, %i[runner parent])
24
- end
25
-
26
- # @param method_name [Symbol]
27
- # @return [EacCli::Runner::ContextResponders::Parent]
28
- def runner_missing_method_responder(method_name)
29
- ::EacCli::Runner::ContextResponders::RunnerMissingMethod
30
- .new(self, method_name)
31
- end
32
-
33
- # @param method_name [Symbol]
34
- # @return [Boolean]
35
- def parent_respond_to?(method_name)
36
- parent.if_present(false) do |v|
37
- next true if v.respond_to?(method_name)
38
-
39
- v.if_respond(:runner_context, false) { |w| w.parent_respond_to?(method_name) }
40
- end
41
- end
42
-
43
- def parent_call(method_name, *args, &block)
44
- return parent.runner_context.call(method_name, *args, &block) if
45
- parent.respond_to?(:runner_context)
46
-
47
- raise "Parent #{parent} do not respond to .context or .runner_context (Runner: #{runner})"
48
- end
49
-
50
- # @param method_name [Symbol]
51
- # @return [EacCli::Runner::ContextResponders::Parent]
52
- def parent_responder(method_name)
53
- ::EacCli::Runner::ContextResponders::Parent.new(self, method_name)
54
- end
55
- end
56
- end
57
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacCli
4
- module Runner
5
- module ContextResponders
6
- class Base
7
- acts_as_abstract :call, :callable?
8
- common_constructor :context, :method_name do
9
- self.method_name = method_name.to_sym
10
- end
11
- delegate :parent, :runner, to: :context
12
-
13
- def if_callable # rubocop:disable Naming/PredicateMethod
14
- return false unless callable?
15
-
16
- yield(self)
17
- true
18
- end
19
- end
20
- end
21
- end
22
- end
@@ -1,24 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacCli
4
- module Runner
5
- module ContextResponders
6
- class Parent < ::EacCli::Runner::ContextResponders::Base
7
- def callable?
8
- parent.if_present(false) do |v|
9
- next true if v.respond_to?(method_name)
10
-
11
- v.if_respond(:runner_context, false) { |w| w.parent_respond_to?(method_name) }
12
- end
13
- end
14
-
15
- def call(*args, &block)
16
- return parent.runner_context.call(method_name, *args, &block) if
17
- parent.respond_to?(:runner_context)
18
-
19
- raise "Parent #{parent} do not respond to .context or .runner_context (Runner: #{runner})"
20
- end
21
- end
22
- end
23
- end
24
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacCli
4
- module Runner
5
- module ContextResponders
6
- class Runner < ::EacCli::Runner::ContextResponders::Base
7
- def callable?
8
- runner.respond_to?(method_name)
9
- end
10
-
11
- def call(*args, &block)
12
- runner.send(method_name, *args, &block)
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacCli
4
- module Runner
5
- module ContextResponders
6
- class RunnerMissingMethod < ::EacCli::Runner::ContextResponders::Base
7
- def callable?
8
- responder_runner.present?
9
- end
10
-
11
- def call(*args, &block)
12
- responder_runner.send(method_name, *args, &block)
13
- end
14
-
15
- private
16
-
17
- def responder_runner
18
- parent.if_present(nil) do |v|
19
- next v if v.respond_to?(method_name) && v.for_context?(method_name)
20
-
21
- v.if_respond(:runner_context, nil) do |w|
22
- w.runner_missing_method_responder(method_name).send(__method__)
23
- end
24
- end
25
- end
26
- end
27
- end
28
- end
29
- end
@@ -1,41 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacCli
4
- module Runner
5
- module ContextResponders
6
- class Set < ::EacCli::Runner::ContextResponders::Base
7
- attr_reader :responders_names
8
-
9
- def initialize(context, method_name, responders_names)
10
- super(context, method_name)
11
- @responders_names = responders_names
12
- end
13
-
14
- def callable?
15
- responders_instances.any?(&:callable?)
16
- end
17
-
18
- def call(...)
19
- caller = responder_to_call
20
- return caller.call(...) if caller
21
-
22
- raise ::NameError, "No method \"#{method_name}\" found in #{runner} or in its ancestors"
23
- end
24
-
25
- private
26
-
27
- def responder_class(class_name)
28
- ::EacCli::Runner::ContextResponders.const_get(class_name.to_s.camelize)
29
- end
30
-
31
- def responders_instances
32
- responders_names.lazy.map { |name| responder_class(name).new(context, method_name) }
33
- end
34
-
35
- def responder_to_call
36
- responders_instances.lazy.select(&:callable?).first
37
- end
38
- end
39
- end
40
- end
41
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacCli
4
- module Runner
5
- class Exit < ::StandardError
6
- attr_reader :status
7
-
8
- def initialize(status = true) # rubocop:disable Style/OptionalBooleanParameter
9
- super
10
- @status = status
11
- end
12
- end
13
- end
14
- end
@@ -1,35 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacCli
4
- module Runner
5
- module ForContext
6
- common_concern
7
-
8
- module ClassMethods
9
- # @param methods_names [Enumerable<Symbol>]
10
- # @return [void]
11
- def for_context(*methods_names)
12
- for_context_methods.merge(methods_names.map(&:to_sym))
13
- end
14
-
15
- # @param method_name [Symbol]
16
- # @return [Boolean]
17
- def for_context?(method_name)
18
- for_context_methods.include?(method_name.to_sym)
19
- end
20
-
21
- private
22
-
23
- # @return [EacRubyUtils::ModuleAncestorsVariable::Set<Symbol>]
24
- def for_context_methods
25
- @for_context_methods ||=
26
- ::EacRubyUtils::ModuleAncestorsVariable::Set.new(self, __method__)
27
- end
28
- end
29
-
30
- # @param method_name [Symbol]
31
- # @return [Boolean]
32
- delegate :for_context?, to: :class
33
- end
34
- end
35
- end
@@ -1,45 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacCli
4
- module Runner
5
- module InstanceMethods
6
- def run_run
7
- parsed
8
- run_callbacks(:run) { run }
9
- rescue ::EacCli::Runner::Exit
10
- # Do nothing
11
- end
12
-
13
- def runner_context
14
- return @runner_context if @runner_context
15
-
16
- raise 'Context was required, but was not set yet'
17
- end
18
-
19
- def runner_context=(new_runner_context)
20
- @runner_context = new_runner_context
21
- @parsed = nil
22
- end
23
-
24
- def parsed
25
- @parsed ||= ::EacCli::Parser.new(self.class.runner_definition, runner_context.argv).parsed
26
- end
27
-
28
- def program_name
29
- runner_context.if_present(&:program_name) || $PROGRAM_NAME
30
- end
31
-
32
- def respond_to_missing?(method, include_all = false)
33
- runner_context.runner_missing_method_responder(method).callable? || super
34
- end
35
-
36
- def method_missing(method, *args, &block)
37
- runner_context.runner_missing_method_responder(method).if_callable do |v|
38
- return v.call(*args, &block)
39
- end
40
-
41
- super
42
- end
43
- end
44
- end
45
- end
@@ -1,47 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacCli
4
- module Runner
5
- require_sub __FILE__
6
- extend ::ActiveSupport::Concern
7
-
8
- class << self
9
- def alias_runner_class_methods(klass, from_suffix, to_suffix)
10
- %i[create run].each do |method|
11
- alias_class_method(klass, build_method_name(method, from_suffix),
12
- build_method_name(method, to_suffix))
13
- end
14
- end
15
-
16
- def runner?(object)
17
- object.is_a?(::Class) && object.included_modules.include?(::EacCli::Runner)
18
- end
19
-
20
- private
21
-
22
- def alias_class_method(klass, from, to)
23
- sklass = klass.singleton_class
24
- return unless sklass.method_defined?(from)
25
-
26
- sklass.send(:alias_method, to, from)
27
- end
28
-
29
- def build_method_name(name, suffix)
30
- ss = suffix.if_present('') { |s| "#{s}_" }
31
- "#{ss}#{name}"
32
- end
33
- end
34
-
35
- the_module = self
36
- included do
37
- the_module.alias_runner_class_methods(self, '', 'original')
38
-
39
- extend AfterClassMethods
40
- include InstanceMethods
41
- include ::EacCli::Runner::ForContext
42
- include ActiveSupport::Callbacks
43
-
44
- define_callbacks :run
45
- end
46
- end
47
- end
@@ -1,60 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacCli
4
- module RunnerWith
5
- module Confirmation
6
- class InputResult
7
- INPUT_NO_FOR_ONE = 'n'
8
- INPUT_NO_FOR_ALL = 'N'
9
- INPUT_YES_FOR_ONE = 'y'
10
- INPUT_YES_FOR_ALL = 'Y'
11
- INPUT_FOR_ONE = [INPUT_NO_FOR_ONE, INPUT_YES_FOR_ONE].freeze
12
- INPUT_FOR_ALL = [INPUT_NO_FOR_ALL, INPUT_YES_FOR_ALL].freeze
13
- INPUT_NO = [INPUT_NO_FOR_ONE, INPUT_NO_FOR_ALL].freeze
14
- INPUT_YES = [INPUT_YES_FOR_ONE, INPUT_YES_FOR_ALL].freeze
15
- INPUT_LIST = [INPUT_NO_FOR_ALL, INPUT_NO_FOR_ONE, INPUT_YES_FOR_ONE, INPUT_YES_FOR_ALL]
16
- .freeze
17
-
18
- class << self
19
- enable_speaker
20
-
21
- # @param message [String]
22
- # @return [EacCli::RunnerWith::Confirmation::InputResult]
23
- def by_message(message)
24
- new(input_value_by_speaker(message))
25
- end
26
-
27
- # @param message [String]
28
- # @return [String]
29
- def input_value_by_speaker(message)
30
- input(message, list: INPUT_LIST, ignore_case: false)
31
- end
32
- end
33
-
34
- common_constructor :input_value
35
-
36
- # @return [Boolean]
37
- def confirm?
38
- input_value_to_bool(INPUT_NO, INPUT_YES)
39
- end
40
-
41
- # @return [Boolean]
42
- def for_all?
43
- input_value_to_bool(INPUT_FOR_ONE, INPUT_FOR_ALL)
44
- end
45
-
46
- private
47
-
48
- # @param false_list [Array<String>]
49
- # @param true_list [Array<String>]
50
- # @return [Boolean]
51
- def input_value_to_bool(false_list, true_list)
52
- return false if false_list.include?(input_value)
53
- return true if true_list.include?(input_value)
54
-
55
- ibr input_value
56
- end
57
- end
58
- end
59
- end
60
- end
@@ -1,65 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacCli
4
- module RunnerWith
5
- module Confirmation
6
- DEFAULT_CONFIRM_QUESTION_TEXT = 'Confirm?'
7
-
8
- common_concern do
9
- include ::EacCli::Runner
10
-
11
- enable_settings_provider
12
- enable_simple_cache
13
- runner_definition do
14
- bool_opt '--no', 'Deny confirmation without question.'
15
- bool_opt '--yes', 'Accept confirmation without question.'
16
- end
17
- end
18
-
19
- # @param message [String, nil]
20
- # @return [Boolean]
21
- def confirm?(message = nil)
22
- return for_all_answers.fetch(message) if for_all_answers.key?(message)
23
- return false if parsed.no?
24
- return true if parsed.yes?
25
-
26
- confirm_input_and_register(message)
27
- rescue ::EacCli::Speaker::InputRequested => e
28
- fatal_error e.message
29
- end
30
-
31
- def run_confirm(message = nil)
32
- yield if confirm?(message)
33
- end
34
-
35
- private
36
-
37
- def cached_confirm_uncached?(message = nil)
38
- confirm?(message)
39
- end
40
-
41
- # @param message [String, nil]
42
- # @return [Boolean]
43
- def confirm_input(message)
44
- ::EacCli::RunnerWith::Confirmation::InputResult.by_message(
45
- message || setting_value(:confirm_question_text, default: DEFAULT_CONFIRM_QUESTION_TEXT)
46
- )
47
- end
48
-
49
- # @param message [String, nil]
50
- # @return [Boolean]
51
- def confirm_input_and_register(message) # rubocop:disable Naming/PredicateMethod
52
- r = confirm_input(message)
53
- for_all_answers[message] = r.confirm? if r.for_all?
54
- r.confirm?
55
- end
56
-
57
- # @return [Hash<String, Boolean>]
58
- def for_all_answers_uncached
59
- {}
60
- end
61
-
62
- require_sub __FILE__
63
- end
64
- end
65
- end
@@ -1,61 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacCli
4
- module RunnerWith
5
- module Help
6
- class Builder
7
- class Alternative
8
- enable_method_class
9
-
10
- SUBCOMMANDS_MACRO = '__SUBCOMMANDS__'
11
-
12
- common_constructor :builder, :alternative
13
-
14
- def result
15
- (
16
- program_name +
17
- alternative.options_argument?.if_present([]) { |_v| ['[options]'] } +
18
- options +
19
- positionals
20
- ).join(builder.word_separator)
21
- end
22
-
23
- def options
24
- alternative.options.select(&:show_on_usage?).map do |option|
25
- ::EacCli::RunnerWith::Help::Builder.option_long(option)
26
- end
27
- end
28
-
29
- def option_argument(option)
30
- b = option.long
31
- b += '=<value>' if option.argument?
32
- b
33
- end
34
-
35
- def positionals
36
- alternative.positional.map { |p| positional(p) }.compact_blank
37
- end
38
-
39
- def positional(positional)
40
- return unless positional.visible?
41
-
42
- if positional.subcommand?
43
- SUBCOMMANDS_MACRO
44
- else
45
- r = "<#{positional.name}>"
46
- r += '...' if positional.repeat?
47
- r = "[#{r}]" if positional.optional?
48
- r
49
- end
50
- end
51
-
52
- def program_name
53
- r = builder.runner.program_name
54
- r = [r] unless r.is_a?(::Enumerable)
55
- r
56
- end
57
- end
58
- end
59
- end
60
- end
61
- end