eac_tools 0.111.1 → 0.112.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 (374) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +37 -22
  3. data/eac_tools.gemspec +3 -3
  4. data/lib/eac_tools/version.rb +1 -1
  5. data/sub/avm/Gemfile +8 -0
  6. data/sub/avm/avm.gemspec +27 -0
  7. data/sub/avm/lib/avm/application_scms/base.rb +37 -0
  8. data/sub/avm/lib/avm/application_stereotypes/base.rb +29 -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 +31 -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/data/callbacks.rb +36 -0
  19. data/sub/avm/lib/avm/data/clearer.rb +17 -0
  20. data/sub/avm/lib/avm/data/dumper.rb +137 -0
  21. data/sub/avm/lib/avm/data/loader.rb +23 -0
  22. data/sub/avm/lib/avm/data/package/base_performer.rb +36 -0
  23. data/sub/avm/lib/avm/data/package/build_directory.rb +25 -0
  24. data/sub/avm/lib/avm/data/package/clear.rb +19 -0
  25. data/sub/avm/lib/avm/data/package/dump.rb +42 -0
  26. data/sub/avm/lib/avm/data/package/load.rb +33 -0
  27. data/sub/avm/lib/avm/data/package.rb +64 -0
  28. data/sub/avm/lib/avm/data/performer.rb +45 -0
  29. data/sub/avm/lib/avm/data/rotate.rb +106 -0
  30. data/sub/avm/lib/avm/data/unit.rb +44 -0
  31. data/sub/avm/lib/avm/data/unit_with_commands.rb +48 -0
  32. data/sub/avm/lib/avm/docker/container.rb +47 -0
  33. data/sub/avm/lib/avm/docker/image.rb +70 -0
  34. data/sub/avm/lib/avm/docker/runner.rb +129 -0
  35. data/sub/avm/lib/avm/entries/auto_values/entry.rb +36 -0
  36. data/sub/avm/lib/avm/entries/auto_values/uri_entry.rb +21 -0
  37. data/sub/avm/lib/avm/entries/base/inherited_entry_value.rb +42 -0
  38. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/default_value.rb +24 -0
  39. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb +35 -0
  40. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/url_entry_value.rb +27 -0
  41. data/sub/avm/lib/avm/entries/base/uri_component_entry_value.rb +40 -0
  42. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/component_factory.rb +40 -0
  43. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb +59 -0
  44. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/path_component.rb +16 -0
  45. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/url_component.rb +22 -0
  46. data/sub/avm/lib/avm/entries/base/uri_components_entries_values.rb +23 -0
  47. data/sub/avm/lib/avm/entries/base.rb +53 -0
  48. data/sub/avm/lib/avm/entries/entry/no_context_entry.rb +21 -0
  49. data/sub/avm/lib/avm/entries/entry.rb +69 -0
  50. data/sub/avm/lib/avm/entries/jobs/base.rb +58 -0
  51. data/sub/avm/lib/avm/entries/jobs/variables_source/read_entry.rb +48 -0
  52. data/sub/avm/lib/avm/entries/jobs/variables_source.rb +13 -0
  53. data/sub/avm/lib/avm/entries/jobs/with_variables_source.rb +13 -0
  54. data/sub/avm/lib/avm/entries/keys_constants_set.rb +41 -0
  55. data/sub/avm/lib/avm/entries/uri_builder.rb +87 -0
  56. data/sub/avm/lib/avm/executables.rb +21 -0
  57. data/sub/avm/lib/avm/file_formats/base.rb +34 -0
  58. data/sub/avm/lib/avm/file_formats/file_result.rb +11 -0
  59. data/sub/avm/lib/avm/file_formats/search_formatter.rb +83 -0
  60. data/sub/avm/lib/avm/file_formats/unknown.rb +15 -0
  61. data/sub/avm/lib/avm/file_formats/utf8_assert.rb +72 -0
  62. data/sub/avm/lib/avm/files/appendable/file_content.rb +28 -0
  63. data/sub/avm/lib/avm/files/appendable/plain_directory.rb +27 -0
  64. data/sub/avm/lib/avm/files/appendable/resource_base.rb +17 -0
  65. data/sub/avm/lib/avm/files/appendable/tar_output_command.rb +27 -0
  66. data/sub/avm/lib/avm/files/appendable/templatized_directory.rb +36 -0
  67. data/sub/avm/lib/avm/files/appendable.rb +51 -0
  68. data/sub/avm/lib/avm/files/appender.rb +9 -0
  69. data/sub/avm/lib/avm/files/deploy.rb +70 -0
  70. data/sub/avm/lib/avm/files/text_replacer/gsub.rb +22 -0
  71. data/sub/avm/lib/avm/files/text_replacer.rb +29 -0
  72. data/sub/avm/lib/avm/instances/base/auto_values/data.rb +28 -0
  73. data/sub/avm/lib/avm/instances/base/auto_values/database.rb +60 -0
  74. data/sub/avm/lib/avm/instances/base/auto_values/mailer.rb +31 -0
  75. data/sub/avm/lib/avm/instances/base/auto_values/source.rb +16 -0
  76. data/sub/avm/lib/avm/instances/base/auto_values.rb +12 -0
  77. data/sub/avm/lib/avm/instances/base/dockerizable.rb +41 -0
  78. data/sub/avm/lib/avm/instances/base/entry_keys.rb +25 -0
  79. data/sub/avm/lib/avm/instances/base/install.rb +28 -0
  80. data/sub/avm/lib/avm/instances/base/processes.rb +25 -0
  81. data/sub/avm/lib/avm/instances/base/production.rb +33 -0
  82. data/sub/avm/lib/avm/instances/base/subcommand_parent.rb +23 -0
  83. data/sub/avm/lib/avm/instances/base/web.rb +15 -0
  84. data/sub/avm/lib/avm/instances/base.rb +70 -0
  85. data/sub/avm/lib/avm/instances/data/files_unit.rb +57 -0
  86. data/sub/avm/lib/avm/instances/data/loading_denied_error.rb +10 -0
  87. data/sub/avm/lib/avm/instances/data/package.rb +25 -0
  88. data/sub/avm/lib/avm/instances/data/unit.rb +36 -0
  89. data/sub/avm/lib/avm/instances/docker_image.rb +13 -0
  90. data/sub/avm/lib/avm/instances/entry_keys.rb +39 -0
  91. data/sub/avm/lib/avm/instances/ids.rb +28 -0
  92. data/sub/avm/lib/avm/instances/process.rb +29 -0
  93. data/sub/avm/lib/avm/instances/runner.rb +34 -0
  94. data/sub/avm/lib/avm/launcher/context/instance_collector.rb +44 -0
  95. data/sub/avm/lib/avm/launcher/context/instance_discovery/root_instance_paths.rb +51 -0
  96. data/sub/avm/lib/avm/launcher/context/instance_discovery.rb +53 -0
  97. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instance.rb +34 -0
  98. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instances.rb +32 -0
  99. data/sub/avm/lib/avm/launcher/context/instance_manager.rb +74 -0
  100. data/sub/avm/lib/avm/launcher/context/settings.rb +51 -0
  101. data/sub/avm/lib/avm/launcher/context.rb +83 -0
  102. data/sub/avm/lib/avm/launcher/errors/base.rb +10 -0
  103. data/sub/avm/lib/avm/launcher/errors/non_project.rb +13 -0
  104. data/sub/avm/lib/avm/launcher/instances/base/cache.rb +43 -0
  105. data/sub/avm/lib/avm/launcher/instances/base/publishing.rb +53 -0
  106. data/sub/avm/lib/avm/launcher/instances/base.rb +77 -0
  107. data/sub/avm/lib/avm/launcher/instances/error.rb +10 -0
  108. data/sub/avm/lib/avm/launcher/instances/runner_helper.rb +43 -0
  109. data/sub/avm/lib/avm/launcher/instances/settings.rb +24 -0
  110. data/sub/avm/lib/avm/launcher/paths/logical.rb +76 -0
  111. data/sub/avm/lib/avm/launcher/paths/real.rb +44 -0
  112. data/sub/avm/lib/avm/launcher/project.rb +15 -0
  113. data/sub/avm/lib/avm/launcher/publish/base.rb +44 -0
  114. data/sub/avm/lib/avm/launcher/publish/check_result.rb +64 -0
  115. data/sub/avm/lib/avm/launcher/stereotype.rb +63 -0
  116. data/sub/avm/lib/avm/patches/eac_config/entry_path.rb +44 -0
  117. data/sub/avm/lib/avm/path_string.rb +27 -0
  118. data/sub/avm/lib/avm/registry/application_scms.rb +13 -0
  119. data/sub/avm/lib/avm/registry/application_stereotypes/build_available.rb +45 -0
  120. data/sub/avm/lib/avm/registry/application_stereotypes/stereotype_builder.rb +30 -0
  121. data/sub/avm/lib/avm/registry/application_stereotypes.rb +42 -0
  122. data/sub/avm/lib/avm/registry/applications.rb +35 -0
  123. data/sub/avm/lib/avm/registry/base.rb +26 -0
  124. data/sub/avm/lib/avm/registry/config_objects.rb +15 -0
  125. data/sub/avm/lib/avm/registry/detection_error.rb +8 -0
  126. data/sub/avm/lib/avm/registry/file_formats.rb +17 -0
  127. data/sub/avm/lib/avm/registry/from_gems.rb +67 -0
  128. data/sub/avm/lib/avm/registry/instances.rb +13 -0
  129. data/sub/avm/lib/avm/registry/launcher_stereotypes.rb +8 -0
  130. data/sub/avm/lib/avm/registry/runners.rb +8 -0
  131. data/sub/avm/lib/avm/registry/scms.rb +8 -0
  132. data/sub/avm/lib/avm/registry/source_generators.rb +14 -0
  133. data/sub/avm/lib/avm/registry/sources.rb +38 -0
  134. data/sub/avm/lib/avm/registry/with_path/cache.rb +28 -0
  135. data/sub/avm/lib/avm/registry/with_path.rb +44 -0
  136. data/sub/avm/lib/avm/registry.rb +31 -0
  137. data/sub/avm/lib/avm/result.rb +80 -0
  138. data/sub/avm/lib/avm/rspec/launcher_controller.rb +91 -0
  139. data/sub/avm/lib/avm/rspec/setup/launcher.rb +18 -0
  140. data/sub/avm/lib/avm/rspec/setup/source_generator.rb +20 -0
  141. data/sub/avm/lib/avm/rspec/setup.rb +32 -0
  142. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_format_file_resource_name.rb +13 -0
  143. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_formats_with_fixtures.rb +28 -0
  144. data/sub/avm/lib/avm/rspec/shared_examples/avm_source_generated.rb +23 -0
  145. data/sub/avm/lib/avm/rspec/shared_examples/entries_values.rb +19 -0
  146. data/sub/avm/lib/avm/rspec/shared_examples/in_avm_registry.rb +9 -0
  147. data/sub/avm/lib/avm/rspec/shared_examples/not_in_avm_registry.rb +12 -0
  148. data/sub/avm/lib/avm/rspec/shared_examples/with_config.rb +9 -0
  149. data/sub/avm/lib/avm/rspec/shared_examples/with_launcher.rb +13 -0
  150. data/sub/avm/lib/avm/runner_with/file_replacer.rb +28 -0
  151. data/sub/avm/lib/avm/runner_with/filesystem_renamer.rb +99 -0
  152. data/sub/avm/lib/avm/runner_with/filesystem_traverser.rb +49 -0
  153. data/sub/avm/lib/avm/runners/base.rb +25 -0
  154. data/sub/avm/lib/avm/scms/auto_commit/file_resource_name.rb +47 -0
  155. data/sub/avm/lib/avm/scms/auto_commit/for_file.rb +79 -0
  156. data/sub/avm/lib/avm/scms/auto_commit/rules/base.rb +37 -0
  157. data/sub/avm/lib/avm/scms/auto_commit/rules/last.rb +17 -0
  158. data/sub/avm/lib/avm/scms/auto_commit/rules/manual.rb +38 -0
  159. data/sub/avm/lib/avm/scms/auto_commit/rules/new.rb +21 -0
  160. data/sub/avm/lib/avm/scms/auto_commit/rules/nth.rb +29 -0
  161. data/sub/avm/lib/avm/scms/auto_commit/rules/unique.rb +19 -0
  162. data/sub/avm/lib/avm/scms/auto_commit/rules.rb +32 -0
  163. data/sub/avm/lib/avm/scms/base/branches.rb +20 -0
  164. data/sub/avm/lib/avm/scms/base/commits.rb +32 -0
  165. data/sub/avm/lib/avm/scms/base/milestones.rb +19 -0
  166. data/sub/avm/lib/avm/scms/base/remotes.rb +20 -0
  167. data/sub/avm/lib/avm/scms/base.rb +59 -0
  168. data/sub/avm/lib/avm/scms/branch.rb +24 -0
  169. data/sub/avm/lib/avm/scms/changed_file.rb +46 -0
  170. data/sub/avm/lib/avm/scms/commit.rb +64 -0
  171. data/sub/avm/lib/avm/scms/commit_info.rb +37 -0
  172. data/sub/avm/lib/avm/scms/inflector.rb +22 -0
  173. data/sub/avm/lib/avm/scms/interval.rb +16 -0
  174. data/sub/avm/lib/avm/scms/null/commit.rb +11 -0
  175. data/sub/avm/lib/avm/scms/null.rb +16 -0
  176. data/sub/avm/lib/avm/scms/remote.rb +9 -0
  177. data/sub/avm/lib/avm/self/docker_image.rb +11 -0
  178. data/sub/avm/lib/avm/self/instance/entry_keys.rb +12 -0
  179. data/sub/avm/lib/avm/self/instance.rb +27 -0
  180. data/sub/avm/lib/avm/source_generators/base.rb +69 -0
  181. data/sub/avm/lib/avm/source_generators/option.rb +11 -0
  182. data/sub/avm/lib/avm/source_generators/option_list.rb +29 -0
  183. data/sub/avm/lib/avm/source_generators/runner.rb +55 -0
  184. data/sub/avm/lib/avm/sources/auto_commit/for_file.rb +29 -0
  185. data/sub/avm/lib/avm/sources/base/application.rb +32 -0
  186. data/sub/avm/lib/avm/sources/base/configuration.rb +89 -0
  187. data/sub/avm/lib/avm/sources/base/instance.rb +13 -0
  188. data/sub/avm/lib/avm/sources/base/locale.rb +30 -0
  189. data/sub/avm/lib/avm/sources/base/organizational.rb +30 -0
  190. data/sub/avm/lib/avm/sources/base/parent.rb +26 -0
  191. data/sub/avm/lib/avm/sources/base/stereotype.rb +16 -0
  192. data/sub/avm/lib/avm/sources/base/sub/remove.rb +36 -0
  193. data/sub/avm/lib/avm/sources/base/sub.rb +23 -0
  194. data/sub/avm/lib/avm/sources/base/subs.rb +63 -0
  195. data/sub/avm/lib/avm/sources/base/subs_paths.rb +30 -0
  196. data/sub/avm/lib/avm/sources/base/testing.rb +67 -0
  197. data/sub/avm/lib/avm/sources/base/update.rb +37 -0
  198. data/sub/avm/lib/avm/sources/base/update_sub.rb +55 -0
  199. data/sub/avm/lib/avm/sources/base/update_subs.rb +17 -0
  200. data/sub/avm/lib/avm/sources/base/version_bump.rb +26 -0
  201. data/sub/avm/lib/avm/sources/base.rb +56 -0
  202. data/sub/avm/lib/avm/sources/configuration/rubocop.rb +26 -0
  203. data/sub/avm/lib/avm/sources/configuration.rb +57 -0
  204. data/sub/avm/lib/avm/sources/issues/deliver.rb +51 -0
  205. data/sub/avm/lib/avm/sources/runner.rb +38 -0
  206. data/sub/avm/lib/avm/sources/tests/builder.rb +91 -0
  207. data/sub/avm/lib/avm/sources/tests/performer.rb +32 -0
  208. data/sub/avm/lib/avm/sources/tests/result.rb +13 -0
  209. data/sub/avm/lib/avm/sources/tests/single.rb +71 -0
  210. data/sub/avm/lib/avm/sources/update_error.rb +8 -0
  211. data/sub/avm/lib/avm/sync.rb +90 -0
  212. data/sub/avm/lib/avm/version.rb +5 -0
  213. data/sub/avm/lib/avm/version_number.rb +45 -0
  214. data/sub/avm/lib/avm/with/application_stereotype.rb +29 -0
  215. data/sub/avm/lib/avm/with/extra_subcommands.rb +41 -0
  216. data/sub/avm/lib/avm.rb +18 -0
  217. data/sub/avm/locale/en.yml +6 -0
  218. data/sub/avm/locale/pt-BR.yml +6 -0
  219. data/sub/avm/spec/lib/avm/applications/base/entries_spec.rb +29 -0
  220. data/sub/avm/spec/lib/avm/applications/base/entries_spec_files/config.yml +12 -0
  221. data/sub/avm/spec/lib/avm/applications/base_spec.rb +21 -0
  222. data/sub/avm/spec/lib/avm/applications/base_spec_fixture.yml +3 -0
  223. data/sub/avm/spec/lib/avm/file_formats/base_spec.rb +9 -0
  224. data/sub/avm/spec/lib/avm/instances/base/entries_spec.rb +78 -0
  225. data/sub/avm/spec/lib/avm/instances/base/entries_spec_files/config.yml +50 -0
  226. data/sub/avm/spec/lib/avm/instances/base_spec.rb +29 -0
  227. data/sub/avm/spec/lib/avm/launcher/context_spec.rb +98 -0
  228. data/sub/avm/spec/lib/avm/launcher/context_spec.yml +5 -0
  229. data/sub/avm/spec/lib/avm/launcher/context_spec_files/config.yml +9 -0
  230. data/sub/avm/spec/lib/avm/launcher/instances/base_spec.rb +39 -0
  231. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/config.yml +5 -0
  232. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/settings.yaml +5 -0
  233. data/sub/avm/spec/lib/avm/patches/eac_config/entry_path_spec.rb +26 -0
  234. data/sub/avm/spec/lib/avm/scms/auto_commit/file_resource_name_spec.rb +20 -0
  235. data/sub/avm/spec/lib/avm/scms/base_spec.rb +5 -0
  236. data/sub/avm/spec/lib/avm/sources/base_spec.rb +5 -0
  237. data/sub/avm/spec/lib/avm/sources/runner_spec.rb +7 -0
  238. data/sub/avm/spec/meta/rubocop_spec.rb +3 -0
  239. data/sub/avm/spec/spec_helper/launcher_context/settings.yml +6 -0
  240. data/sub/avm/spec/spec_helper.rb +7 -0
  241. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/avm-tools.gemspec +29 -0
  242. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/lib/avm/tools/version.rb +7 -0
  243. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/lib/avm/tools.rb +6 -0
  244. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/lib/ruby_gem_stub/version.rb +5 -0
  245. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/lib/ruby_gem_stub.rb +3 -0
  246. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/ruby_gem_stub.gemspec +16 -0
  247. data/sub/avm/template/avm/rspec/launcher_controller/settings.yml +1 -0
  248. data/sub/avm/template/avm/self/docker_image/Dockerfile +17 -0
  249. data/sub/avm/template/avm/self/docker_image/entrypoint.sh +12 -0
  250. data/sub/avm-eac_webapp_base0/Gemfile +8 -0
  251. data/sub/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec +24 -0
  252. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/executables.rb +23 -0
  253. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb +44 -0
  254. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css.rb +17 -0
  255. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/html.rb +42 -0
  256. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/javascript.rb +19 -0
  257. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/json.rb +23 -0
  258. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/provider.rb +17 -0
  259. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/xml.rb +23 -0
  260. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_base.rb +28 -0
  261. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_host.rb +72 -0
  262. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_path.rb +37 -0
  263. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/apache.rb +42 -0
  264. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/deploy.rb +24 -0
  265. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/deploy_info.rb +27 -0
  266. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/install.rb +24 -0
  267. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base.rb +37 -0
  268. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/appended_directories.rb +25 -0
  269. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/build.rb +45 -0
  270. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/info.rb +44 -0
  271. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/scm.rb +88 -0
  272. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/setup_files_unit.rb +53 -0
  273. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/write_on_target.rb +18 -0
  274. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy.rb +70 -0
  275. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy_info.rb +35 -0
  276. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/processes/web_server.rb +34 -0
  277. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/apache_host.rb +34 -0
  278. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/apache_path.rb +38 -0
  279. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/deploy.rb +47 -0
  280. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/deploy_info.rb +24 -0
  281. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/sources/base.rb +13 -0
  282. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +7 -0
  283. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0.rb +14 -0
  284. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec.rb +7 -0
  285. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec_files/css1.source.css +11 -0
  286. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec_files/css1.target.css +11 -0
  287. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec.rb +7 -0
  288. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.erb.source +8 -0
  289. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.erb.target +8 -0
  290. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.source +5 -0
  291. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.target +5 -0
  292. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec.rb +7 -0
  293. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec_files/javascript_code1.js.source +29 -0
  294. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec_files/javascript_code1.js.target +21 -0
  295. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec.rb +7 -0
  296. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec_files/json_code.json.source +8 -0
  297. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec_files/json_code.json.target +7 -0
  298. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec.rb +7 -0
  299. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec_files/xml_code.xml.source +11 -0
  300. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec_files/xml_code.xml.target +9 -0
  301. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/instances/base_spec.rb +11 -0
  302. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/sources/base_spec.rb +7 -0
  303. data/sub/avm-eac_webapp_base0/spec/meta/rubocop_spec.rb +3 -0
  304. data/sub/avm-eac_webapp_base0/spec/spec_helper.rb +5 -0
  305. data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/instances/apache_host/no_ssl.conf +11 -0
  306. data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/instances/apache_path/default.conf +7 -0
  307. data/sub/avm-tools/Gemfile +8 -0
  308. data/sub/avm-tools/README.textile +28 -0
  309. data/sub/avm-tools/avm-tools.gemspec +24 -0
  310. data/sub/avm-tools/exe/avm +6 -0
  311. data/sub/avm-tools/lib/avm/tools/core_ext.rb +1 -0
  312. data/sub/avm-tools/lib/avm/tools/rspec/helpers/runner.rb +19 -0
  313. data/sub/avm-tools/lib/avm/tools/rspec/setup.rb +21 -0
  314. data/sub/avm-tools/lib/avm/tools/runner/application/info.rb +34 -0
  315. data/sub/avm-tools/lib/avm/tools/runner/application.rb +21 -0
  316. data/sub/avm-tools/lib/avm/tools/runner/application_stereotypes/list.rb +29 -0
  317. data/sub/avm-tools/lib/avm/tools/runner/application_stereotypes.rb +13 -0
  318. data/sub/avm-tools/lib/avm/tools/runner/applications/list.rb +29 -0
  319. data/sub/avm-tools/lib/avm/tools/runner/applications.rb +13 -0
  320. data/sub/avm-tools/lib/avm/tools/runner/config/load_path.rb +48 -0
  321. data/sub/avm-tools/lib/avm/tools/runner/config.rb +14 -0
  322. data/sub/avm-tools/lib/avm/tools/runner/files/format.rb +46 -0
  323. data/sub/avm-tools/lib/avm/tools/runner/files/rotate.rb +28 -0
  324. data/sub/avm-tools/lib/avm/tools/runner/files.rb +14 -0
  325. data/sub/avm-tools/lib/avm/tools/runner/instance/data/clear.rb +15 -0
  326. data/sub/avm-tools/lib/avm/tools/runner/instance/data/dump.rb +17 -0
  327. data/sub/avm-tools/lib/avm/tools/runner/instance/data/load.rb +22 -0
  328. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/clear.rb +17 -0
  329. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/dump.rb +17 -0
  330. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/load.rb +22 -0
  331. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit.rb +40 -0
  332. data/sub/avm-tools/lib/avm/tools/runner/instance/data.rb +23 -0
  333. data/sub/avm-tools/lib/avm/tools/runner/instance/entry.rb +41 -0
  334. data/sub/avm-tools/lib/avm/tools/runner/instance/info.rb +35 -0
  335. data/sub/avm-tools/lib/avm/tools/runner/instance/system.rb +63 -0
  336. data/sub/avm-tools/lib/avm/tools/runner/instance.rb +10 -0
  337. data/sub/avm-tools/lib/avm/tools/runner/launcher/instances.rb +34 -0
  338. data/sub/avm-tools/lib/avm/tools/runner/launcher/projects.rb +37 -0
  339. data/sub/avm-tools/lib/avm/tools/runner/launcher/publish.rb +51 -0
  340. data/sub/avm-tools/lib/avm/tools/runner/launcher.rb +14 -0
  341. data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes/list.rb +38 -0
  342. data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes.rb +13 -0
  343. data/sub/avm-tools/lib/avm/tools/runner/self/docker.rb +12 -0
  344. data/sub/avm-tools/lib/avm/tools/runner/self/registry.rb +22 -0
  345. data/sub/avm-tools/lib/avm/tools/runner/self.rb +18 -0
  346. data/sub/avm-tools/lib/avm/tools/runner/source/auto_commit.rb +67 -0
  347. data/sub/avm-tools/lib/avm/tools/runner/source/info.rb +54 -0
  348. data/sub/avm-tools/lib/avm/tools/runner/source/issue/complete.rb +85 -0
  349. data/sub/avm-tools/lib/avm/tools/runner/source/issue/deliver.rb +32 -0
  350. data/sub/avm-tools/lib/avm/tools/runner/source/issue.rb +16 -0
  351. data/sub/avm-tools/lib/avm/tools/runner/source/sub/remove.rb +20 -0
  352. data/sub/avm-tools/lib/avm/tools/runner/source/sub.rb +25 -0
  353. data/sub/avm-tools/lib/avm/tools/runner/source/subs.rb +70 -0
  354. data/sub/avm-tools/lib/avm/tools/runner/source/test.rb +90 -0
  355. data/sub/avm-tools/lib/avm/tools/runner/source/update.rb +20 -0
  356. data/sub/avm-tools/lib/avm/tools/runner/source/version_bump.rb +78 -0
  357. data/sub/avm-tools/lib/avm/tools/runner/source.rb +13 -0
  358. data/sub/avm-tools/lib/avm/tools/runner/source_generate.rb +10 -0
  359. data/sub/avm-tools/lib/avm/tools/runner.rb +19 -0
  360. data/sub/avm-tools/lib/avm/tools/runner_with/include_exclude.rb +20 -0
  361. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_clear.rb +19 -0
  362. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb +55 -0
  363. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_load.rb +64 -0
  364. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_performer.rb +37 -0
  365. data/sub/avm-tools/lib/avm/tools/self.rb +17 -0
  366. data/sub/avm-tools/lib/avm/tools/version.rb +7 -0
  367. data/sub/avm-tools/lib/avm/tools.rb +16 -0
  368. data/sub/avm-tools/spec/lib/avm/tools/runner/files/rotate_spec.rb +71 -0
  369. data/sub/avm-tools/spec/lib/avm/tools/runner/launcher_stereotypes/list_spec.rb +15 -0
  370. data/sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb +47 -0
  371. data/sub/avm-tools/spec/lib/avm/tools/runner_spec.rb +12 -0
  372. data/sub/avm-tools/spec/meta/rubocop_spec.rb +3 -0
  373. data/sub/avm-tools/spec/spec_helper.rb +7 -0
  374. metadata +381 -12
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!--
3
+ To change this license header, choose License Headers in Project Properties.
4
+ To change this template file, choose Tools | Templates
5
+ and open the template in the editor.
6
+ -->
7
+ <root>
8
+ <a_tag>a Content</a_tag>
9
+ </root>
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_webapp_base0/instances/base'
4
+
5
+ RSpec.describe Avm::EacWebappBase0::Instances::Base do
6
+ let(:instance) { described_class.by_id('the-app_0') }
7
+
8
+ describe '#install_apache_resource_name' do
9
+ it { expect(instance.install_apache_resource_name).to eq(instance.id) }
10
+ end
11
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_webapp_base0/sources/base'
4
+
5
+ RSpec.describe Avm::EacWebappBase0::Sources::Base do
6
+ include_examples 'in_avm_registry', 'sources'
7
+ end
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ EacRubyUtils::Rspec.default_setup.describe_rubocop
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_webapp_base0'
4
+ require 'eac_ruby_gem_support'
5
+ EacRubyUtils::Rspec.default_setup_create(File.expand_path('..', __dir__)).stub_avm_contexts
@@ -0,0 +1,11 @@
1
+ <VirtualHost *:80>
2
+ ServerName "%%WEB.HOSTNAME%%"
3
+ DocumentRoot "%%DOCUMENT_ROOT%%"
4
+ %%EXTRA_CONTENT%%
5
+
6
+ <Directory "%%DOCUMENT_ROOT%%">
7
+ Allow from all
8
+ Options -MultiViews
9
+ Require all granted
10
+ %%DIRECTORY_EXTRA_CONFIG%% </Directory>
11
+ </VirtualHost>
@@ -0,0 +1,7 @@
1
+ Alias "%%WEB.PATH%%" "%%DOCUMENT_ROOT%%"
2
+ %%EXTRA_CONTENT%%
3
+ <Directory "%%DOCUMENT_ROOT%%">
4
+ Allow from all
5
+ Options -MultiViews
6
+ Require all granted
7
+ </Directory>
@@ -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,28 @@
1
+ h1. AVM Tools
2
+
3
+ h2. Instance's entries suffixes
4
+
5
+ |_. Name |_. Description |_. Default value |
6
+ | admin.email | Admin's e-mail address | @host_id->admin.email@ |
7
+ | admin.name | Admin's name | @host_id->admin.name@ |
8
+ | access | *@local@* or *@ssh@* | @self->ssh.url ? 'ssh' : 'local'@ |
9
+ | data_fs_path | path to instance's data root directory | @host_id->data_fs_path + '/' + self->id@ |
10
+ | database.id | ID of instance to fetch database parameters | @nil@ |
11
+ | database.limit | Limit of open database connections | @database.id->database.limit or 5 |
12
+ | database.system | *@postgres@* or *@mysql@* or *@oracle@* | @nil@ |
13
+ | database.hostname | hostname of database server | @database.id->database.hostname or host_id->database.hostname or '127.0.0.1'@ |
14
+ | database.name | name of database | @database.id->database.name or self->id@ |
15
+ | database.password | password to login in database | @database.id->database.password or host_id->database.password@ |
16
+ | database.port | port of database server | @database.system->default_port@ |
17
+ | database.timeout | Database connection timeout (In miliseconds) | @database.id->database.timeout or 5000 |
18
+ | database.username | username to login in database | @database.id->database.username or host_id->database.username@ |
19
+ | fs_path | path to instance's installation | @host_id->fs_path + '/' + self->id@ |
20
+ | host_id | ID of instace to fetch host parameters | @nil@ |
21
+ | ssh.url | SSH URL to access instance's host | @host_id->ssh.url or self->ssh.username + '@' self->ssh.hostname@ |
22
+ | ssh.hostname | SSH hostname to access instance's host | @host_id->ssh.hostname@ |
23
+ | ssh.port | SSH port to access instance's host | '22' |
24
+ | ssh.username | SSH username to access instance's host | @host_id->ssh.username@ |
25
+ | system.group | Group of user that runs instance | @host_id->system.groupname or self->system.username@ |
26
+ | system.username | Name of user that runs instance | @host_id->system.username or self->ssh.username@ |
27
+ | web.url | Root URL to web interface | @nil@ |
28
+ | web.hostname | Hostname of web interface | @web.url->hostname@ |
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
4
+
5
+ require 'avm/tools/version'
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = 'avm-tools'
9
+ s.version = Avm::Tools::VERSION
10
+ s.authors = ['Esquilo Azul Company']
11
+ s.summary = 'Tools for AVM.'
12
+
13
+ s.files = Dir['{exe,lib}/**/*', 'Gemfile']
14
+ s.bindir = 'exe'
15
+ s.executables = s.files.grep(%r{^exe/}) { |f| File.basename(f) }
16
+
17
+ s.required_ruby_version = '>= 2.7.0'
18
+
19
+ s.add_dependency 'avm', '~> 0.98', '>= 0.98.5'
20
+ s.add_dependency 'eac_ruby_base0', '~> 0.19', '>= 0.19.3'
21
+
22
+ s.add_development_dependency 'avm-git', '~> 0.21', '>= 0.21.2'
23
+ s.add_development_dependency 'eac_ruby_gem_support', '~> 0.12', '>= 0.12.2'
24
+ end
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ $LOAD_PATH.unshift("#{__dir__}/../lib")
5
+ require 'avm/tools'
6
+ Avm::Tools::Runner.run
@@ -0,0 +1 @@
1
+ # frozen_string_literal: true
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ module Rspec
6
+ module Helpers
7
+ module Runner
8
+ def avm_tools_runner_args_prefix
9
+ []
10
+ end
11
+
12
+ def avm_tools_runner_run(*argv)
13
+ Avm::Tools::Runner.run(argv: avm_tools_runner_args_prefix + argv)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ module Rspec
6
+ module Setup
7
+ extend ::ActiveSupport::Concern
8
+
9
+ SETUPS = %w[helpers].freeze
10
+
11
+ def self.extended(setup_obj)
12
+ SETUPS.each { |s| setup_obj.send("setup_#{s}") }
13
+ end
14
+
15
+ def setup_helpers
16
+ rspec_config.include ::Avm::Tools::Rspec::Helpers::Runner
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class Application
7
+ class Info
8
+ APPLICATION_PROPERTIES = {
9
+ id: 'ID',
10
+ name: 'Name',
11
+ organization: 'Organization',
12
+ scm: 'SCM',
13
+ stereotype: 'Stereotype'
14
+ }.freeze
15
+
16
+ runner_with :help, :output_item do
17
+ desc 'Show information about application.'
18
+ end
19
+
20
+ def run
21
+ run_output
22
+ end
23
+
24
+ # @return [Hash]
25
+ def item_hash
26
+ APPLICATION_PROPERTIES.inject({}) do |a, e|
27
+ a.merge(e.last => application.send(e.first).to_s)
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class Application
7
+ runner_with :help, :subcommands do
8
+ pos_arg :application_id
9
+ subcommands
10
+ end
11
+ for_context :application
12
+
13
+ private
14
+
15
+ def application_uncached
16
+ ::Avm::Registry.applications.detect(parsed.application_id)
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class ApplicationStereotypes
7
+ class List
8
+ runner_with :help, :output
9
+
10
+ def run
11
+ infov 'Found', stereotypes.count
12
+ run_output
13
+ end
14
+
15
+ def output_content
16
+ stereotypes.map { |s| "#{s}\n" }.join
17
+ end
18
+
19
+ private
20
+
21
+ def stereotypes
22
+ ::Avm::Registry.application_stereotypes.available
23
+ .sort_by { |s| [s.name, s.namespace_module] }
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class ApplicationStereotypes
7
+ runner_with :help, :subcommands do
8
+ subcommands
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class Applications
7
+ class List
8
+ runner_with :help, :output
9
+
10
+ def run
11
+ infov 'Found', applications.count
12
+ run_output
13
+ end
14
+
15
+ def output_content
16
+ applications.map { |s| "#{s}\n" }.join
17
+ end
18
+
19
+ private
20
+
21
+ def applications_uncached
22
+ ::Avm::Registry.applications.available
23
+ .sort_by { |s| [s.id] }
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class Applications
7
+ runner_with :help, :subcommands do
8
+ subcommands
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class Config
7
+ class LoadPath
8
+ runner_with :help do
9
+ desc 'Manipulate include path.'
10
+ arg_opt '-p', '--push', 'Add a path.'
11
+ end
12
+
13
+ def run
14
+ config_nodes.each { |config_node| run_show(config_node) }
15
+ run_add
16
+ end
17
+
18
+ private
19
+
20
+ # @return [[EacCli::Config]]
21
+ def root_config_node
22
+ ::EacConfig::Node.context.current
23
+ end
24
+
25
+ def config_nodes
26
+ ::EacRubyUtils::RecursiveBuilder.new(root_config_node, &:self_loaded_nodes).result
27
+ end
28
+
29
+ def run_add
30
+ parsed.push.if_present do |v|
31
+ infov 'Path to add', v
32
+ root_config_node.write_node.load_path.push(v)
33
+ success 'Path included'
34
+ end
35
+ end
36
+
37
+ def run_show(config_node)
38
+ infov 'Configuration path', config_node.url
39
+ infov 'Paths included', config_node.self_loaded_nodes.count
40
+ config_node.self_loaded_nodes.each do |loaded_node|
41
+ infov ' * ', loaded_node.url
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class Config
7
+ runner_with :help, :subcommands do
8
+ desc 'Configuration utilities.'
9
+ subcommands
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class Files
7
+ class Format
8
+ runner_with :help do
9
+ desc 'Format files.'
10
+ bool_opt '-a', '--apply', 'Confirm changes.'
11
+ bool_opt '-n', '--no-recursive', 'No recursive.'
12
+ bool_opt '-q', '--quiet', 'Do not output messages.'
13
+ bool_opt '-d', '--dirty', 'Select modified files to format.'
14
+ pos_arg :paths, repeat: true, optional: true
15
+ end
16
+
17
+ def run
18
+ ::Avm::FileFormats::SearchFormatter.new(source_paths, formatter_options).run
19
+ end
20
+
21
+ def formatter_options
22
+ { ::Avm::FileFormats::SearchFormatter::OPTION_APPLY => parsed.apply?,
23
+ ::Avm::FileFormats::SearchFormatter::OPTION_RECURSIVE => !parsed.no_recursive?,
24
+ ::Avm::FileFormats::SearchFormatter::OPTION_VERBOSE => !parsed.quiet? }
25
+ end
26
+
27
+ def scm
28
+ @scm ||= ::Avm::Registry.scms.detect('.')
29
+ end
30
+
31
+ def dirty_files
32
+ scm.changed_files.map(&:absolute_path).select(&:exist?).map(&:to_path)
33
+ end
34
+
35
+ def source_paths
36
+ if parsed.dirty?
37
+ parsed.paths + dirty_files
38
+ else
39
+ parsed.paths.if_present(%w[.])
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class Files
7
+ class Rotate
8
+ runner_with :help do
9
+ desc 'Rotates a file (Like a backup).'
10
+ arg_opt '-L', '--space-limit', 'Limit by <space> the space used by rotated files.'
11
+ pos_arg :path
12
+ end
13
+ def run
14
+ error_message = rotate.run
15
+ fatal_error(error_message) if error_message
16
+ end
17
+
18
+ def rotate
19
+ @rotate ||= ::Avm::Data::Rotate.new(
20
+ parsed.path,
21
+ space_limit: parsed.space_limit
22
+ )
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class Files
7
+ runner_with :help, :subcommands do
8
+ desc 'Files utilities for AVM.'
9
+ subcommands
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class Instance < ::Avm::Instances::Runner
7
+ class Data
8
+ class Clear
9
+ runner_with :help, :include_exclude, :instance_data_clear
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class Instance < ::Avm::Instances::Runner
7
+ class Data
8
+ class Dump
9
+ runner_with :help, :include_exclude, :instance_data_dump do
10
+ desc 'Dump utility for instance.'
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class Instance < ::Avm::Instances::Runner
7
+ class Data
8
+ class Load
9
+ runner_with :help, :include_exclude, :instance_data_load do
10
+ desc 'Load utility for instance.'
11
+ end
12
+
13
+ # @return [Avm::Instances::Data::Package]
14
+ def source_instance_data_owner
15
+ source_instance.data_package
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class Instance < ::Avm::Instances::Runner
7
+ class Data
8
+ class Unit
9
+ class Clear
10
+ runner_with :help, :instance_data_clear
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class Instance < ::Avm::Instances::Runner
7
+ class Data
8
+ class Unit
9
+ class Dump
10
+ runner_with :help, :instance_data_dump
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class Instance < ::Avm::Instances::Runner
7
+ class Data
8
+ class Unit
9
+ class Load
10
+ runner_with :help, :instance_data_load
11
+
12
+ # @return [Avm::Instances::Data::Unit]
13
+ def source_instance_data_owner
14
+ source_instance.data_package.unit(data_owner.identifier)
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class Instance < ::Avm::Instances::Runner
7
+ class Data
8
+ class Unit
9
+ runner_with :help, :subcommands do
10
+ pos_arg :identifier
11
+ subcommands
12
+ end
13
+
14
+ for_context :data_owner
15
+
16
+ # @return [Enumerable<String>]
17
+ def available_units_ids
18
+ data_package.units_ids
19
+ end
20
+
21
+ # @return [Avm::Instances::Data::Package]
22
+ def data_package
23
+ runner_context.call(:instance).data_package
24
+ end
25
+
26
+ # @return [Avm::Instances::Data::Unit]
27
+ def data_owner
28
+ data_package.unit(parsed.identifier)
29
+ end
30
+
31
+ # @return [String]
32
+ def help_extra_text
33
+ help_join_sections(super, list_section('Available units', available_units_ids))
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class Instance < ::Avm::Instances::Runner
7
+ class Data
8
+ runner_with :help, :subcommands do
9
+ desc 'Data utilities for EacRailsBase0 instances.'
10
+ subcommands
11
+ end
12
+
13
+ for_context :data_owner
14
+
15
+ # @return [Avm::Instances::Data::Package]
16
+ def data_owner
17
+ instance.data_package
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end