eac_tools 0.105.0 → 0.105.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +35 -30
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm-tools/README.textile +28 -0
  5. data/sub/avm-tools/avm-tools.gemspec +25 -0
  6. data/sub/avm-tools/exe/avm +6 -0
  7. data/sub/avm-tools/lib/avm/tools/core_ext.rb +1 -0
  8. data/sub/avm-tools/lib/avm/tools/rspec/helpers/runner.rb +19 -0
  9. data/sub/avm-tools/lib/avm/tools/rspec/setup.rb +21 -0
  10. data/sub/avm-tools/lib/avm/tools/runner/application/info.rb +34 -0
  11. data/sub/avm-tools/lib/avm/tools/runner/application.rb +23 -0
  12. data/sub/avm-tools/lib/avm/tools/runner/application_stereotypes/list.rb +29 -0
  13. data/sub/avm-tools/lib/avm/tools/runner/application_stereotypes.rb +14 -0
  14. data/sub/avm-tools/lib/avm/tools/runner/applications/list.rb +29 -0
  15. data/sub/avm-tools/lib/avm/tools/runner/applications.rb +14 -0
  16. data/sub/avm-tools/lib/avm/tools/runner/config/load_path.rb +48 -0
  17. data/sub/avm-tools/lib/avm/tools/runner/config.rb +15 -0
  18. data/sub/avm-tools/lib/avm/tools/runner/files/format.rb +46 -0
  19. data/sub/avm-tools/lib/avm/tools/runner/files/rotate.rb +28 -0
  20. data/sub/avm-tools/lib/avm/tools/runner/files.rb +15 -0
  21. data/sub/avm-tools/lib/avm/tools/runner/instance/data/clear.rb +15 -0
  22. data/sub/avm-tools/lib/avm/tools/runner/instance/data/dump.rb +17 -0
  23. data/sub/avm-tools/lib/avm/tools/runner/instance/data/load.rb +22 -0
  24. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/clear.rb +17 -0
  25. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/dump.rb +17 -0
  26. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/load.rb +22 -0
  27. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit.rb +41 -0
  28. data/sub/avm-tools/lib/avm/tools/runner/instance/data.rb +24 -0
  29. data/sub/avm-tools/lib/avm/tools/runner/instance/entry.rb +41 -0
  30. data/sub/avm-tools/lib/avm/tools/runner/instance/info.rb +35 -0
  31. data/sub/avm-tools/lib/avm/tools/runner/instance/system.rb +63 -0
  32. data/sub/avm-tools/lib/avm/tools/runner/instance.rb +11 -0
  33. data/sub/avm-tools/lib/avm/tools/runner/launcher/instances.rb +34 -0
  34. data/sub/avm-tools/lib/avm/tools/runner/launcher/projects.rb +37 -0
  35. data/sub/avm-tools/lib/avm/tools/runner/launcher/publish.rb +51 -0
  36. data/sub/avm-tools/lib/avm/tools/runner/launcher.rb +15 -0
  37. data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes/list.rb +38 -0
  38. data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes.rb +14 -0
  39. data/sub/avm-tools/lib/avm/tools/runner/self/docker.rb +12 -0
  40. data/sub/avm-tools/lib/avm/tools/runner/self/registry.rb +22 -0
  41. data/sub/avm-tools/lib/avm/tools/runner/self.rb +19 -0
  42. data/sub/avm-tools/lib/avm/tools/runner/source/auto_commit.rb +67 -0
  43. data/sub/avm-tools/lib/avm/tools/runner/source/info.rb +53 -0
  44. data/sub/avm-tools/lib/avm/tools/runner/source/issue/complete.rb +85 -0
  45. data/sub/avm-tools/lib/avm/tools/runner/source/issue/deliver.rb +32 -0
  46. data/sub/avm-tools/lib/avm/tools/runner/source/issue.rb +17 -0
  47. data/sub/avm-tools/lib/avm/tools/runner/source/sub/remove.rb +20 -0
  48. data/sub/avm-tools/lib/avm/tools/runner/source/sub.rb +27 -0
  49. data/sub/avm-tools/lib/avm/tools/runner/source/subs.rb +70 -0
  50. data/sub/avm-tools/lib/avm/tools/runner/source/test.rb +90 -0
  51. data/sub/avm-tools/lib/avm/tools/runner/source/update.rb +20 -0
  52. data/sub/avm-tools/lib/avm/tools/runner/source/version_bump.rb +78 -0
  53. data/sub/avm-tools/lib/avm/tools/runner/source.rb +15 -0
  54. data/sub/avm-tools/lib/avm/tools/runner/source_generate.rb +10 -0
  55. data/sub/avm-tools/lib/avm/tools/runner.rb +20 -0
  56. data/sub/avm-tools/lib/avm/tools/runner_with/include_exclude.rb +20 -0
  57. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_clear.rb +19 -0
  58. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb +55 -0
  59. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_load.rb +64 -0
  60. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_performer.rb +37 -0
  61. data/sub/avm-tools/lib/avm/tools/runner_with.rb +9 -0
  62. data/sub/avm-tools/lib/avm/tools/self.rb +19 -0
  63. data/sub/{avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0 → avm-tools/lib/avm/tools}/version.rb +2 -2
  64. data/sub/avm-tools/lib/avm/tools.rb +16 -0
  65. data/sub/avm-tools/spec/lib/avm/tools/runner/files/rotate_spec.rb +71 -0
  66. data/sub/avm-tools/spec/lib/avm/tools/runner/launcher_stereotypes/list_spec.rb +15 -0
  67. data/sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb +47 -0
  68. data/sub/avm-tools/spec/lib/avm/tools/runner_spec.rb +12 -0
  69. data/sub/{avm-eac_asciidoctor_base0 → avm-tools}/spec/spec_helper.rb +3 -3
  70. data/sub/eac_cli/Gemfile +8 -0
  71. data/sub/eac_cli/eac_cli.gemspec +23 -0
  72. data/sub/eac_cli/lib/eac_cli/config/entry/options.rb +55 -0
  73. data/sub/eac_cli/lib/eac_cli/config/entry/undefined.rb +26 -0
  74. data/sub/eac_cli/lib/eac_cli/config/entry.rb +55 -0
  75. data/sub/eac_cli/lib/eac_cli/config.rb +15 -0
  76. data/sub/eac_cli/lib/eac_cli/core_ext.rb +3 -0
  77. data/sub/eac_cli/lib/eac_cli/default_runner.rb +12 -0
  78. data/sub/eac_cli/lib/eac_cli/definition/alternative.rb +101 -0
  79. data/sub/eac_cli/lib/eac_cli/definition/argument_option.rb +19 -0
  80. data/sub/eac_cli/lib/eac_cli/definition/boolean_option.rb +25 -0
  81. data/sub/eac_cli/lib/eac_cli/definition/error.rb +8 -0
  82. data/sub/eac_cli/lib/eac_cli/definition/option/initialize_args_parser.rb +48 -0
  83. data/sub/eac_cli/lib/eac_cli/definition/option.rb +70 -0
  84. data/sub/eac_cli/lib/eac_cli/definition/option_or_positional.rb +41 -0
  85. data/sub/eac_cli/lib/eac_cli/definition/positional.rb +50 -0
  86. data/sub/eac_cli/lib/eac_cli/definition.rb +104 -0
  87. data/sub/eac_cli/lib/eac_cli/enum.rb +44 -0
  88. data/sub/eac_cli/lib/eac_cli/old_configs/entry_reader.rb +76 -0
  89. data/sub/eac_cli/lib/eac_cli/old_configs/password_entry_reader.rb +14 -0
  90. data/sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb +42 -0
  91. data/sub/eac_cli/lib/eac_cli/old_configs/store_passwords_entry_reader.rb +23 -0
  92. data/sub/eac_cli/lib/eac_cli/old_configs.rb +31 -0
  93. data/sub/eac_cli/lib/eac_cli/parser/alternative/any_options.rb +17 -0
  94. data/sub/eac_cli/lib/eac_cli/parser/alternative/argv.rb +19 -0
  95. data/sub/eac_cli/lib/eac_cli/parser/alternative/double_dash.rb +24 -0
  96. data/sub/eac_cli/lib/eac_cli/parser/alternative/long_options.rb +37 -0
  97. data/sub/eac_cli/lib/eac_cli/parser/alternative/option_argument.rb +29 -0
  98. data/sub/eac_cli/lib/eac_cli/parser/alternative/options.rb +29 -0
  99. data/sub/eac_cli/lib/eac_cli/parser/alternative/positionals.rb +30 -0
  100. data/sub/eac_cli/lib/eac_cli/parser/alternative/short_options.rb +54 -0
  101. data/sub/eac_cli/lib/eac_cli/parser/alternative.rb +99 -0
  102. data/sub/eac_cli/lib/eac_cli/parser/collector.rb +52 -0
  103. data/sub/eac_cli/lib/eac_cli/parser/error.rb +13 -0
  104. data/sub/eac_cli/lib/eac_cli/parser.rb +32 -0
  105. data/sub/eac_cli/lib/eac_cli/patches/object/runner_with.rb +22 -0
  106. data/sub/eac_cli/lib/eac_cli/patches/object.rb +5 -0
  107. data/sub/eac_cli/lib/eac_cli/patches.rb +3 -0
  108. data/sub/eac_cli/lib/eac_cli/rspec/setup.rb +41 -0
  109. data/sub/eac_cli/lib/eac_cli/runner/after_class_methods.rb +34 -0
  110. data/sub/eac_cli/lib/eac_cli/runner/class_runner.rb +32 -0
  111. data/sub/eac_cli/lib/eac_cli/runner/context.rb +57 -0
  112. data/sub/eac_cli/lib/eac_cli/runner/context_responders/base.rb +22 -0
  113. data/sub/eac_cli/lib/eac_cli/runner/context_responders/parent.rb +24 -0
  114. data/sub/eac_cli/lib/eac_cli/runner/context_responders/runner.rb +17 -0
  115. data/sub/eac_cli/lib/eac_cli/runner/context_responders/runner_missing_method.rb +29 -0
  116. data/sub/eac_cli/lib/eac_cli/runner/context_responders/set.rb +41 -0
  117. data/sub/eac_cli/lib/eac_cli/runner/exit.rb +14 -0
  118. data/sub/eac_cli/lib/eac_cli/runner/for_context.rb +35 -0
  119. data/sub/eac_cli/lib/eac_cli/runner/instance_methods.rb +45 -0
  120. data/sub/eac_cli/lib/eac_cli/runner.rb +47 -0
  121. data/sub/eac_cli/lib/eac_cli/runner_with/confirmation/input_result.rb +60 -0
  122. data/sub/eac_cli/lib/eac_cli/runner_with/confirmation.rb +65 -0
  123. data/sub/eac_cli/lib/eac_cli/runner_with/help/builder/alternative.rb +61 -0
  124. data/sub/eac_cli/lib/eac_cli/runner_with/help/builder.rb +79 -0
  125. data/sub/eac_cli/lib/eac_cli/runner_with/help/layout.rb +38 -0
  126. data/sub/eac_cli/lib/eac_cli/runner_with/help.rb +51 -0
  127. data/sub/eac_cli/lib/eac_cli/runner_with/input.rb +32 -0
  128. data/sub/eac_cli/lib/eac_cli/runner_with/output.rb +54 -0
  129. data/sub/eac_cli/lib/eac_cli/runner_with/output_item/asciidoc_formatter.rb +70 -0
  130. data/sub/eac_cli/lib/eac_cli/runner_with/output_item/base_formatter.rb +12 -0
  131. data/sub/eac_cli/lib/eac_cli/runner_with/output_item/csv_formatter.rb +21 -0
  132. data/sub/eac_cli/lib/eac_cli/runner_with/output_item/yaml_formatter.rb +16 -0
  133. data/sub/eac_cli/lib/eac_cli/runner_with/output_item.rb +47 -0
  134. data/sub/eac_cli/lib/eac_cli/runner_with/output_list/base_formatter.rb +44 -0
  135. data/sub/eac_cli/lib/eac_cli/runner_with/output_list/csv_formatter.rb +24 -0
  136. data/sub/eac_cli/lib/eac_cli/runner_with/output_list/tty_formatter.rb +34 -0
  137. data/sub/eac_cli/lib/eac_cli/runner_with/output_list/yaml_formatter.rb +21 -0
  138. data/sub/eac_cli/lib/eac_cli/runner_with/output_list.rb +39 -0
  139. data/sub/eac_cli/lib/eac_cli/runner_with/subcommands/definition_concern.rb +10 -0
  140. data/sub/eac_cli/lib/eac_cli/runner_with/subcommands.rb +124 -0
  141. data/sub/eac_cli/lib/eac_cli/runner_with.rb +7 -0
  142. data/sub/eac_cli/lib/eac_cli/runner_with_set/from_gems_registry.rb +14 -0
  143. data/sub/eac_cli/lib/eac_cli/runner_with_set.rb +48 -0
  144. data/sub/eac_cli/lib/eac_cli/speaker/constants.rb +11 -0
  145. data/sub/eac_cli/lib/eac_cli/speaker/input_blocked.rb +14 -0
  146. data/sub/eac_cli/lib/eac_cli/speaker/input_requested.rb +8 -0
  147. data/sub/eac_cli/lib/eac_cli/speaker/list.rb +84 -0
  148. data/sub/eac_cli/lib/eac_cli/speaker/options.rb +42 -0
  149. data/sub/eac_cli/lib/eac_cli/speaker/request_from_list.rb +40 -0
  150. data/sub/eac_cli/lib/eac_cli/speaker.rb +114 -0
  151. data/sub/eac_cli/lib/eac_cli/version.rb +5 -0
  152. data/sub/eac_cli/lib/eac_cli.rb +14 -0
  153. data/sub/eac_cli/spec/lib/eac_cli/definition/alternative_spec.rb +18 -0
  154. data/sub/eac_cli/spec/lib/eac_cli/old_configs_spec.rb +14 -0
  155. data/sub/eac_cli/spec/lib/eac_cli/parser/alternative/subcommands_spec.rb +58 -0
  156. data/sub/eac_cli/spec/lib/eac_cli/parser/alternative_spec.rb +89 -0
  157. data/sub/eac_cli/spec/lib/eac_cli/runner/for_context_spec.rb +79 -0
  158. data/sub/eac_cli/spec/lib/eac_cli/runner_spec.rb +129 -0
  159. data/sub/eac_cli/spec/lib/eac_cli/runner_with/confirmation/input_result_spec.rb +36 -0
  160. data/sub/eac_cli/spec/lib/eac_cli/runner_with/confirmation_spec.rb +42 -0
  161. data/sub/eac_cli/spec/lib/eac_cli/runner_with/help/layout_spec.rb +21 -0
  162. data/sub/eac_cli/spec/lib/eac_cli/runner_with/help_spec.rb +51 -0
  163. data/sub/eac_cli/spec/lib/eac_cli/runner_with/output_list_spec.rb +57 -0
  164. data/sub/eac_cli/spec/lib/eac_cli/runner_with/output_spec.rb +81 -0
  165. data/sub/eac_cli/spec/lib/eac_cli/runner_with/subcommands_spec.rb +99 -0
  166. data/sub/eac_cli/spec/lib/eac_cli/speaker_spec.rb +36 -0
  167. data/sub/eac_cli/spec/rubocop_spec.rb +3 -0
  168. data/sub/eac_cli/spec/spec_helper.rb +4 -0
  169. metadata +185 -82
  170. data/sub/avm-eac_asciidoctor_base0/avm-eac_asciidoctor_base0.gemspec +0 -24
  171. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/documents_owner.rb +0 -30
  172. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/file_formats/base/file_resource_name.rb +0 -37
  173. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/file_formats/base.rb +0 -17
  174. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/apache_host.rb +0 -19
  175. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/apache_path.rb +0 -12
  176. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/base.rb +0 -33
  177. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/body_target.rb +0 -37
  178. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/header_lines.rb +0 -92
  179. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/media.rb +0 -28
  180. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb +0 -64
  181. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document.rb +0 -101
  182. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/theme.rb +0 -41
  183. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build.rb +0 -61
  184. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/deploy.rb +0 -28
  185. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/base.rb +0 -21
  186. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/breadcrumbs.rb +0 -55
  187. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb +0 -63
  188. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/child_docs.rb +0 -35
  189. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/default_body.rb +0 -21
  190. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/todo.rb +0 -21
  191. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros.rb +0 -13
  192. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances.rb +0 -11
  193. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/logging/catcher.rb +0 -47
  194. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/logging/error.rb +0 -18
  195. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/logging.rb +0 -11
  196. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/source_generators/base.rb +0 -28
  197. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/source_generators.rb +0 -11
  198. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/instance_to_build.rb +0 -45
  199. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/theme.rb +0 -46
  200. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base.rb +0 -49
  201. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document/media.rb +0 -28
  202. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document/title.rb +0 -31
  203. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document.rb +0 -56
  204. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb +0 -58
  205. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/document/build.rb +0 -51
  206. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/document.rb +0 -30
  207. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/documents.rb +0 -28
  208. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/ignore_errors_option.rb +0 -45
  209. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners.rb +0 -13
  210. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources.rb +0 -11
  211. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0.rb +0 -9
  212. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/file_formats/base_spec.rb +0 -13
  213. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec.rb +0 -81
  214. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec_files/pre_processed_root_body.adoc +0 -25
  215. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec.rb +0 -22
  216. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/_media/a_media_file +0 -1
  217. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/_media/a_media_file +0 -1
  218. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/body.adoc +0 -11
  219. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/title +0 -1
  220. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/body.adoc +0 -11
  221. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/_media/a_media_file +0 -1
  222. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/body.adoc +0 -11
  223. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/title +0 -1
  224. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/title +0 -1
  225. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/_media/a_media_file +0 -1
  226. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/_theme/main.css +0 -1
  227. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc1/_media/a_media_file +0 -1
  228. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc1/index.html +0 -1
  229. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/doc2_1/_media/a_media_file +0 -1
  230. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/doc2_1/index.html +0 -1
  231. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/index.html +0 -1
  232. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/index.html +0 -1
  233. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec.rb +0 -8
  234. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/content/body.adoc +0 -11
  235. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/content/title +0 -1
  236. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/theme/main.css +0 -1
  237. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/sources/base_spec.rb +0 -16
  238. data/sub/avm-eac_asciidoctor_base0/spec/spec_helper/eac_asciidoctor_base0_stubs.rb +0 -55
  239. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/content/body.adoc +0 -11
  240. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/content/title +0 -1
  241. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/theme/main.css +0 -1
  242. /data/sub/{avm-eac_asciidoctor_base0 → avm-tools}/Gemfile +0 -0
  243. /data/sub/{avm-eac_asciidoctor_base0 → avm-tools}/spec/rubocop_spec.rb +0 -0
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ module RunnerWith
6
+ require_sub __FILE__, require_mode: :kernel
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ module Self
6
+ ::EacRubyUtils.require_sub(__FILE__)
7
+
8
+ class << self
9
+ def application
10
+ @application ||= ::EacRubyBase0::Application.new(root.to_path)
11
+ end
12
+
13
+ def root
14
+ ::Pathname.new('../../..').expand_path(__dir__)
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Avm
4
- module EacAsciidoctorBase0
5
- VERSION = '0.26.0'
4
+ module Tools
5
+ VERSION = '0.163.4'
6
6
  end
7
7
  end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils'
4
+ EacRubyUtils::RootModuleSetup.perform __FILE__ do
5
+ ignore 'core_ext'
6
+ end
7
+
8
+ module Avm
9
+ module Tools
10
+ end
11
+ end
12
+
13
+ require 'avm'
14
+ require 'eac_ruby_base0'
15
+
16
+ require 'avm/tools/core_ext'
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'tmpdir'
4
+ require 'fileutils'
5
+
6
+ class StubClock
7
+ attr_reader :current
8
+
9
+ def initialize(year, month, day)
10
+ @current = ::Time.new(year, month, day)
11
+ end
12
+
13
+ def tick
14
+ @current += 1.day
15
+ @current
16
+ end
17
+ end
18
+
19
+ RSpec.describe Avm::Tools::Runner::Files::Rotate do
20
+ let(:workdir) { Dir.mktmpdir }
21
+ let(:source_basename) { 'myfile.tar.gz' }
22
+ let(:source_path) { File.join(workdir, source_basename) }
23
+
24
+ before do
25
+ FileUtils.touch(source_path)
26
+ end
27
+
28
+ it { expect(File.exist?(source_path)).to be(true) }
29
+
30
+ context 'when run' do
31
+ let(:files_with_prefix) { Dir["#{workdir}/myfile_*.tar.gz"] }
32
+
33
+ before do
34
+ Avm::Tools::Runner.run(argv: ['files', 'rotate', source_path])
35
+ end
36
+
37
+ it { expect(File.exist?(source_path)).to be(false) }
38
+ it { expect(files_with_prefix.count).to eq(1) }
39
+ end
40
+
41
+ describe 'space limit' do
42
+ let(:tempdir) { Dir.mktmpdir }
43
+ let(:clock) { StubClock.new(2000, 1, 1) }
44
+
45
+ it 'limit space used by rotated files' do # rubocop:disable RSpec/NoExpectationExample
46
+ file1 = create_and_rotate_stub_file([], [])
47
+ file2 = create_and_rotate_stub_file([file1], [])
48
+ file3 = create_and_rotate_stub_file([file2], [file1])
49
+ create_and_rotate_stub_file([file3], [file1, file2])
50
+ end
51
+
52
+ def create_and_rotate_stub_file(expect_exist, expect_not_exist)
53
+ rotate_runner = described_class.create(argv: [create_stub_file, '--space-limit=32'])
54
+ rotate_runner.run
55
+ test_files(rotate_runner.rotate, expect_exist, expect_not_exist)
56
+ rotate_runner.rotate.target_path
57
+ end
58
+
59
+ def test_files(rotate, expect_exist, expect_not_exist)
60
+ (expect_exist + [rotate.target_path]).each { |path| expect(File).to exist(path) }
61
+ expect_not_exist.each { |path| expect(File).not_to exist(path) }
62
+ end
63
+
64
+ def create_stub_file
65
+ stub_path = File.join(tempdir, 'stub.ext')
66
+ File.write(stub_path, 'A' * 16)
67
+ FileUtils.touch(stub_path, mtime: clock.tick)
68
+ stub_path
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe Avm::Tools::Runner::LauncherStereotypes::List do
4
+ def avm_tools_runner_args_prefix
5
+ %w[launcher-stereotypes list]
6
+ end
7
+
8
+ it do
9
+ expect { avm_tools_runner_run }.not_to raise_error
10
+ end
11
+
12
+ it do
13
+ expect { avm_tools_runner_run('--deprecated') }.not_to raise_error
14
+ end
15
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'tmpdir'
4
+ require 'fileutils'
5
+
6
+ RSpec.describe Avm::Tools::Runner::Source::Issue::Complete, :git do
7
+ let(:remote_name) { 'origin' }
8
+ let(:issue_ref) { 'issue_123' }
9
+ let(:remote_repos) { stubbed_git_local_repo(true) }
10
+ let(:local_repos) { stubbed_git_local_repo }
11
+ let(:eac_local_repos) { Avm::Git::Launcher::Base.new(local_repos.root_path.to_path) }
12
+
13
+ context 'when branch is pushed' do
14
+ before do
15
+ eac_local_repos.assert_remote_url(remote_name, remote_repos.root_path.to_path)
16
+ local_repos.command('checkout', '-b', issue_ref).execute!
17
+ local_repos.file('myfile1.txt').touch
18
+ local_repos.file(Avm::Sources::Base::Configuration::CONFIGURATION_FILENAMES.first).touch
19
+ local_repos.command('add', '.').execute!
20
+ local_repos.command('commit', '-m', 'myfile1.txt').execute!
21
+ local_repos.command('push', 'origin', issue_ref).execute!
22
+ end
23
+
24
+ it 'remote repos has a issue branch' do
25
+ expect(eac_local_repos.remote_hashs(remote_name)).to include("refs/heads/#{issue_ref}")
26
+ end
27
+
28
+ it 'remote repos does not have a issue tag' do
29
+ expect(eac_local_repos.remote_hashs(remote_name)).not_to include("refs/tags/#{issue_ref}")
30
+ end
31
+
32
+ context 'when "git issue complete" is called' do
33
+ before do
34
+ Avm::Tools::Runner.run(argv: ['source', '-C', eac_local_repos] +
35
+ %w[issue complete --yes])
36
+ end
37
+
38
+ it 'remote repos does not have a issue branch' do
39
+ expect(eac_local_repos.remote_hashs(remote_name)).not_to include("refs/heads/#{issue_ref}")
40
+ end
41
+
42
+ it 'remote repos has a issue tag' do
43
+ expect(eac_local_repos.remote_hashs(remote_name)).to include("refs/tags/#{issue_ref}")
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe Avm::Tools::Runner do
4
+ let(:argv) { %w[--version] }
5
+ let(:instance) { described_class.create(argv: argv) }
6
+
7
+ it 'runs' do
8
+ expect { instance.run }.to(
9
+ output("#{Avm::Tools::VERSION}\n").to_stdout_from_any_process
10
+ )
11
+ end
12
+ end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/eac_asciidoctor_base0'
3
+ require 'avm/tools'
4
+ require 'avm/git'
5
+ require 'avm/git/scms/provider'
4
6
  require 'eac_ruby_gem_support'
5
7
  EacRubyUtils::Rspec.default_setup_create(File.expand_path('..', __dir__))
6
- .stub_avm_contexts
7
- EacRubyUtils.require_sub __FILE__
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ gemspec
6
+
7
+ local_gemfile = File.join(File.dirname(__FILE__), 'Gemfile.local')
8
+ eval_gemfile local_gemfile if File.exist?(local_gemfile)
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
4
+
5
+ require 'eac_cli/version'
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = 'eac_cli'
9
+ s.version = EacCli::VERSION
10
+ s.authors = ['Esquilo Azul Company']
11
+ s.summary = 'Utilities to build CLI applications with Ruby.'
12
+
13
+ s.files = Dir['{lib}/**/*', 'Gemfile']
14
+
15
+ s.required_ruby_version = '>= 2.7.0'
16
+
17
+ s.add_dependency 'colorize', '~> 0.8', '>= 0.8.1'
18
+ s.add_dependency 'eac_config', '~> 0.15'
19
+ s.add_dependency 'eac_ruby_utils', '~> 0.128', '>= 0.128.4'
20
+ s.add_dependency 'tty-table', '~> 0.12'
21
+
22
+ s.add_development_dependency 'eac_ruby_gem_support', '~> 0.12'
23
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Config < ::SimpleDelegator
5
+ class Entry < ::EacConfig::NodeEntry
6
+ class Options
7
+ enable_simple_cache
8
+ enable_listable
9
+
10
+ lists.add_symbol :type, :undefined
11
+
12
+ DEFAULT_VALUES = {
13
+ before_input: nil, bool: false, list: false, noecho: false, noenv: false, noinput: false,
14
+ required: true, store: true, type: TYPE_UNDEFINED, validator: nil
15
+ }.freeze
16
+
17
+ lists.add_symbol :option, *DEFAULT_VALUES.keys
18
+
19
+ common_constructor :options do
20
+ self.options = self.class.lists.option.hash_keys_validate!(options)
21
+ end
22
+
23
+ delegate :to_h, to: :options
24
+
25
+ def [](key)
26
+ values.fetch(key.to_sym)
27
+ end
28
+
29
+ def request_input_options
30
+ values.slice(:bool, :list, :noecho)
31
+ end
32
+
33
+ DEFAULT_VALUES.each do |attr, default_value|
34
+ define_method(attr.to_s + ([true, false].include?(default_value) ? '?' : '')) do
35
+ self[attr]
36
+ end
37
+ end
38
+
39
+ private
40
+
41
+ def values_uncached
42
+ consumer = options.to_options_consumer
43
+ r = {}
44
+ DEFAULT_VALUES.each do |key, default_value|
45
+ value = consumer.consume(key)
46
+ value = default_value if value.nil?
47
+ r[key] = value
48
+ end
49
+ consumer.validate
50
+ r
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Config < ::SimpleDelegator
5
+ class Entry < ::EacConfig::NodeEntry
6
+ module Undefined
7
+ private
8
+
9
+ def undefined_value
10
+ loop do
11
+ entry_value = undefined_value_no_loop
12
+ next unless options[:validator].if_present(true) { |v| v.call(entry_value) }
13
+
14
+ return entry_value
15
+ end
16
+ end
17
+
18
+ def undefined_value_no_loop
19
+ input("Value for entry \"#{path}\"", options.request_input_options)
20
+ rescue ::EacCli::Speaker::InputRequested
21
+ raise ::EacConfig::Entry::NotFoundError, self
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Config < ::SimpleDelegator
5
+ class Entry < ::EacConfig::NodeEntry
6
+ require_sub __FILE__, include_modules: true
7
+ enable_listable
8
+ enable_simple_cache
9
+ enable_speaker
10
+
11
+ common_constructor :root_node, :path, :options, super_args: -> { [root_node, path] } do
12
+ self.options = ::EacCli::Config::Entry::Options.new(options)
13
+ end
14
+
15
+ # @return [EacCli::Config]
16
+ def config
17
+ root_node
18
+ end
19
+
20
+ # @return [Object, nil]
21
+ def value
22
+ sub_entry.found? ? sub_value_to_return : nil
23
+ end
24
+
25
+ def value!
26
+ return sub_value_to_return if sub_entry.found?
27
+ return nil unless options.required?
28
+
29
+ input_value
30
+ end
31
+
32
+ def secret_value
33
+ self.class.new(config, path, options.to_h.merge(noecho: true).to_h).value
34
+ end
35
+
36
+ delegate :found?, :value=, to: :sub_entry
37
+
38
+ private
39
+
40
+ def sub_value_to_return
41
+ sub_entry.value.presence || ::EacRubyUtils::BlankNotBlank.instance
42
+ end
43
+
44
+ def sub_entry_uncached
45
+ config.sub.entry(path)
46
+ end
47
+
48
+ def input_value_uncached
49
+ r = send("#{options.type}_value")
50
+ sub_entry.value = r if options.store?
51
+ r
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Config < ::SimpleDelegator
5
+ require_sub __FILE__
6
+
7
+ def entry(path, options = {})
8
+ ::EacCli::Config::Entry.new(self, path, options)
9
+ end
10
+
11
+ def sub
12
+ __getobj__
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/patches'
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module DefaultRunner
5
+ common_concern do
6
+ include ::EacCli::RunnerWith::Help
7
+
8
+ enable_speaker
9
+ enable_simple_cache
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,101 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Definition
5
+ class Alternative
6
+ ANY_OPTION_DESCRIPTION = 'ANY_OPTION'
7
+ ANY_OPTION_LONG = '__'
8
+ ANY_OPTION_SHORT = '_'
9
+ SUBCOMMAND_NAME_ARG = :subcommand
10
+ SUBCOMMAND_ARGS_ARG = :subcommand_args
11
+
12
+ # @return [Boolean]
13
+ def any_opt
14
+ @any_opt = true
15
+ end
16
+
17
+ # @return [Boolean]
18
+ def any_option?
19
+ @any_opt ? true : false
20
+ end
21
+
22
+ # @return [EacCli::Definition::BooleanOption]
23
+ def any_options_option
24
+ @any_options_option ||= ::EacCli::Definition::BooleanOption.new(
25
+ ANY_OPTION_SHORT, ANY_OPTION_LONG, ANY_OPTION_DESCRIPTION,
26
+ optional: true, repeat: true, usage: false
27
+ )
28
+ end
29
+
30
+ def arg_opt(*args)
31
+ options_set << ::EacCli::Definition::ArgumentOption.from_args(args)
32
+ end
33
+
34
+ def bool_opt(*args)
35
+ options_set << ::EacCli::Definition::BooleanOption.from_args(args)
36
+ end
37
+
38
+ def options
39
+ options_set.to_a
40
+ end
41
+
42
+ def options_argument?
43
+ @options_argument ? true : false
44
+ end
45
+
46
+ def options_argument(enable)
47
+ @options_argument = enable
48
+
49
+ self
50
+ end
51
+
52
+ def pos_arg(name, arg_options = {})
53
+ new_pos_arg = ::EacCli::Definition::Positional.new(name, arg_options)
54
+ check_positional_blocked(new_pos_arg)
55
+ pos_set << new_pos_arg
56
+ end
57
+
58
+ def positional
59
+ pos_set.to_a
60
+ end
61
+
62
+ def positional_arguments_blocked_reason(new_pos_arg)
63
+ last = pos_set.last
64
+ return nil unless last
65
+ return 'there are subcommands' if subcommands?
66
+ return 'last argument repeats' if last.repeat?
67
+ return 'new argument is required and last is optional' if
68
+ last.optional? && new_pos_arg.if_present(&:required?)
69
+
70
+ nil
71
+ end
72
+
73
+ def subcommands
74
+ pos_arg(SUBCOMMAND_NAME_ARG, subcommand: true)
75
+ pos_set << ::EacCli::Definition::Positional.new(SUBCOMMAND_ARGS_ARG,
76
+ optional: true, repeat: true)
77
+ end
78
+
79
+ def subcommands?
80
+ pos_set.any?(&:subcommand?)
81
+ end
82
+
83
+ private
84
+
85
+ def check_positional_blocked(new_pos_arg)
86
+ positional_arguments_blocked_reason(new_pos_arg).if_present do |v|
87
+ raise ::EacCli::Definition::Error, "Positional arguments are blocked: #{v} " \
88
+ "(New argument: #{new_pos_arg})"
89
+ end
90
+ end
91
+
92
+ def pos_set
93
+ @pos_set ||= []
94
+ end
95
+
96
+ def options_set
97
+ @options_set ||= []
98
+ end
99
+ end
100
+ end
101
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Definition
5
+ class ArgumentOption < ::EacCli::Definition::Option
6
+ def argument?
7
+ true
8
+ end
9
+
10
+ def build_value(new_value, previous_value)
11
+ repeat? ? previous_value + [new_value] : new_value
12
+ end
13
+
14
+ def default_default_value
15
+ repeat? ? [] : nil
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Definition
5
+ class BooleanOption < ::EacCli::Definition::Option
6
+ def argument?
7
+ false
8
+ end
9
+
10
+ def build_value(_new_value, previous_value)
11
+ repeat? ? previous_value + 1 : true
12
+ end
13
+
14
+ def default_value
15
+ return super unless default_value?
16
+
17
+ raise("Unallowed default value for boolean options (Option: #{self})")
18
+ end
19
+
20
+ def default_default_value
21
+ repeat? ? 0 : false
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Definition
5
+ class Error < ::StandardError
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Definition
5
+ class Option
6
+ class InitializeArgsParser
7
+ PROPERTIES = %i[short long description options].freeze
8
+ attr_reader(*PROPERTIES)
9
+
10
+ def initialize(args)
11
+ self.options = args.extract_options!.freeze
12
+ args.each { |arg| absorb_arg(arg) }
13
+ end
14
+
15
+ private
16
+
17
+ attr_writer(*PROPERTIES)
18
+
19
+ def absorb_arg(arg)
20
+ arg_ext = ArgumentParser.new(arg)
21
+ send("#{arg_ext.type}=", arg_ext.value)
22
+ end
23
+
24
+ class ArgumentParser
25
+ TYPES = %i[short long description].freeze
26
+ common_constructor :value
27
+
28
+ def type
29
+ TYPES.find { |type| send("#{type}?") } ||
30
+ raise(::EacCli::Definition::Error, "Unknown type for \"#{value}\"")
31
+ end
32
+
33
+ def short?
34
+ value.start_with?('-') && !long?
35
+ end
36
+
37
+ def long?
38
+ value.start_with?('--')
39
+ end
40
+
41
+ def description?
42
+ !short? || !long?
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end