eac_tools 0.98.0 → 0.99.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 (280) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +100 -100
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/lib/eac_tools.rb +4 -2
  5. data/sub/avm/avm.gemspec +7 -6
  6. data/sub/avm/lib/avm/application_scms/base.rb +0 -2
  7. data/sub/avm/lib/avm/application_scms.rb +0 -3
  8. data/sub/avm/lib/avm/application_stereotypes/base.rb +0 -2
  9. data/sub/avm/lib/avm/application_stereotypes.rb +0 -3
  10. data/sub/avm/lib/avm/applications/base/local_instance.rb +0 -1
  11. data/sub/avm/lib/avm/applications/base/local_source.rb +0 -1
  12. data/sub/avm/lib/avm/applications/base/naming.rb +0 -2
  13. data/sub/avm/lib/avm/applications/base/publishing.rb +0 -2
  14. data/sub/avm/lib/avm/applications/base/scm.rb +0 -1
  15. data/sub/avm/lib/avm/applications/base.rb +0 -1
  16. data/sub/avm/lib/avm/applications.rb +0 -3
  17. data/sub/avm/lib/avm/data/callbacks.rb +0 -1
  18. data/sub/avm/lib/avm/data/clearer.rb +0 -1
  19. data/sub/avm/lib/avm/data/dumper.rb +0 -2
  20. data/sub/avm/lib/avm/data/loader.rb +0 -2
  21. data/sub/avm/lib/avm/data/package/base_performer.rb +0 -2
  22. data/sub/avm/lib/avm/data/package/build_directory.rb +0 -3
  23. data/sub/avm/lib/avm/data/package/clear.rb +0 -1
  24. data/sub/avm/lib/avm/data/package/dump.rb +1 -1
  25. data/sub/avm/lib/avm/data/package/load.rb +1 -1
  26. data/sub/avm/lib/avm/data/package.rb +0 -1
  27. data/sub/avm/lib/avm/data/performer.rb +0 -2
  28. data/sub/avm/lib/avm/data/rotate.rb +0 -1
  29. data/sub/avm/lib/avm/data/unit.rb +1 -4
  30. data/sub/avm/lib/avm/data/unit_with_commands.rb +0 -1
  31. data/sub/avm/lib/avm/docker/container.rb +0 -1
  32. data/sub/avm/lib/avm/docker/image.rb +1 -1
  33. data/sub/avm/lib/avm/docker/runner.rb +0 -1
  34. data/sub/avm/lib/avm/docker.rb +0 -3
  35. data/sub/avm/lib/avm/entries/auto_values/entry.rb +0 -1
  36. data/sub/avm/lib/avm/entries/auto_values/uri_entry.rb +0 -1
  37. data/sub/avm/lib/avm/entries/auto_values.rb +0 -3
  38. data/sub/avm/lib/avm/entries/base/inherited_entry_value.rb +0 -1
  39. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/default_value.rb +0 -1
  40. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb +0 -1
  41. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/url_entry_value.rb +0 -1
  42. data/sub/avm/lib/avm/entries/base/uri_component_entry_value.rb +0 -1
  43. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/component_factory.rb +0 -2
  44. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb +0 -1
  45. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/path_component.rb +0 -1
  46. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/url_component.rb +0 -1
  47. data/sub/avm/lib/avm/entries/base/uri_components_entries_values.rb +2 -2
  48. data/sub/avm/lib/avm/entries/base.rb +1 -1
  49. data/sub/avm/lib/avm/entries/entry/no_context_entry.rb +0 -2
  50. data/sub/avm/lib/avm/entries/entry.rb +0 -3
  51. data/sub/avm/lib/avm/entries/jobs/variables_source/read_entry.rb +0 -2
  52. data/sub/avm/lib/avm/entries/jobs/variables_source.rb +0 -2
  53. data/sub/avm/lib/avm/entries/jobs.rb +0 -3
  54. data/sub/avm/lib/avm/entries/keys_constants_set.rb +0 -2
  55. data/sub/avm/lib/avm/entries/uri_builder.rb +0 -4
  56. data/sub/avm/lib/avm/entries.rb +0 -3
  57. data/sub/avm/lib/avm/executables.rb +0 -3
  58. data/sub/avm/lib/avm/file_formats/search_formatter.rb +2 -2
  59. data/sub/avm/lib/avm/file_formats/unknown.rb +0 -1
  60. data/sub/avm/lib/avm/file_formats.rb +0 -3
  61. data/sub/avm/lib/avm/files/appendable/file_content.rb +31 -0
  62. data/sub/avm/lib/avm/files/appendable/plain_directory.rb +30 -0
  63. data/sub/avm/lib/avm/files/appendable/resource_base.rb +19 -0
  64. data/sub/avm/lib/avm/files/appendable/tar_output_command.rb +31 -0
  65. data/sub/avm/lib/avm/files/appendable/templatized_directory.rb +40 -0
  66. data/sub/avm/lib/avm/files/appendable.rb +55 -0
  67. data/sub/avm/lib/avm/files/appender.rb +11 -0
  68. data/sub/avm/lib/avm/files/deploy.rb +71 -0
  69. data/sub/avm/lib/avm/files/text_replacer/gsub.rb +24 -0
  70. data/sub/avm/lib/avm/files/text_replacer.rb +32 -0
  71. data/sub/avm/lib/avm/instances/base/auto_values.rb +0 -2
  72. data/sub/avm/lib/avm/instances/base/dockerizable.rb +1 -1
  73. data/sub/avm/lib/avm/instances/base/processes.rb +0 -2
  74. data/sub/avm/lib/avm/instances/base/subcommand_parent.rb +0 -1
  75. data/sub/avm/lib/avm/instances/base.rb +1 -2
  76. data/sub/avm/lib/avm/instances/data/unit.rb +0 -1
  77. data/sub/avm/lib/avm/instances/data.rb +0 -3
  78. data/sub/avm/lib/avm/instances/entry_keys.rb +0 -1
  79. data/sub/avm/lib/avm/instances/ids.rb +1 -3
  80. data/sub/avm/lib/avm/instances/process.rb +0 -2
  81. data/sub/avm/lib/avm/instances.rb +0 -3
  82. data/sub/avm/lib/avm/launcher/context/instance_collector.rb +0 -2
  83. data/sub/avm/lib/avm/launcher/context/instance_discovery/root_instance_paths.rb +0 -1
  84. data/sub/avm/lib/avm/launcher/context/instance_discovery.rb +0 -1
  85. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instance.rb +0 -1
  86. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instances.rb +0 -1
  87. data/sub/avm/lib/avm/launcher/context/instance_manager.rb +0 -2
  88. data/sub/avm/lib/avm/launcher/context/settings.rb +1 -1
  89. data/sub/avm/lib/avm/launcher/context.rb +3 -7
  90. data/sub/avm/lib/avm/launcher/errors.rb +0 -3
  91. data/sub/avm/lib/avm/launcher/instances/base/publishing.rb +1 -1
  92. data/sub/avm/lib/avm/launcher/instances/base.rb +0 -3
  93. data/sub/avm/lib/avm/launcher/instances/runner_helper.rb +0 -1
  94. data/sub/avm/lib/avm/launcher/instances/settings.rb +0 -2
  95. data/sub/avm/lib/avm/launcher/instances.rb +0 -3
  96. data/sub/avm/lib/avm/launcher/paths/logical.rb +0 -1
  97. data/sub/avm/lib/avm/launcher/paths.rb +0 -3
  98. data/sub/avm/lib/avm/launcher/project.rb +0 -2
  99. data/sub/avm/lib/avm/launcher/publish/base.rb +0 -1
  100. data/sub/avm/lib/avm/launcher/publish/check_result.rb +0 -1
  101. data/sub/avm/lib/avm/launcher/publish.rb +1 -4
  102. data/sub/avm/lib/avm/launcher.rb +0 -3
  103. data/sub/avm/lib/avm/launcher_stereotypes.rb +0 -3
  104. data/sub/avm/lib/avm/registry/application_stereotypes/build_available.rb +0 -1
  105. data/sub/avm/lib/avm/registry/application_stereotypes/stereotype_builder.rb +0 -1
  106. data/sub/avm/lib/avm/registry/application_stereotypes.rb +0 -1
  107. data/sub/avm/lib/avm/registry/applications.rb +0 -1
  108. data/sub/avm/lib/avm/registry/config_objects.rb +0 -3
  109. data/sub/avm/lib/avm/registry/from_gems.rb +0 -3
  110. data/sub/avm/lib/avm/registry/launcher_stereotypes.rb +0 -1
  111. data/sub/avm/lib/avm/registry/with_path/cache.rb +0 -1
  112. data/sub/avm/lib/avm/registry/with_path.rb +0 -1
  113. data/sub/avm/lib/avm/registry.rb +0 -3
  114. data/sub/avm/lib/avm/result.rb +0 -2
  115. data/sub/avm/lib/avm/rspec/launcher_controller.rb +1 -1
  116. data/sub/avm/lib/avm/rspec/setup/launcher.rb +1 -1
  117. data/sub/avm/lib/avm/rspec/setup/source_generator.rb +0 -2
  118. data/sub/avm/lib/avm/rspec/setup.rb +0 -2
  119. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_format_file_resource_name.rb +0 -2
  120. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_formats_with_fixtures.rb +0 -1
  121. data/sub/avm/lib/avm/rspec/shared_examples/avm_source_generated.rb +0 -1
  122. data/sub/avm/lib/avm/rspec/shared_examples/entries_values.rb +0 -2
  123. data/sub/avm/lib/avm/rspec/shared_examples/with_config.rb +0 -2
  124. data/sub/avm/lib/avm/rspec.rb +0 -3
  125. data/sub/avm/lib/avm/runner_with/file_replacer.rb +32 -0
  126. data/sub/avm/lib/avm/runner_with/filesystem_renamer.rb +101 -0
  127. data/sub/avm/lib/avm/runner_with/filesystem_traverser.rb +52 -0
  128. data/sub/avm/lib/avm/runner_with.rb +9 -0
  129. data/sub/avm/lib/avm/scms/auto_commit/file_resource_name.rb +0 -2
  130. data/sub/avm/lib/avm/scms/auto_commit/for_file.rb +1 -2
  131. data/sub/avm/lib/avm/scms/auto_commit/rules/base.rb +0 -1
  132. data/sub/avm/lib/avm/scms/auto_commit/rules.rb +2 -4
  133. data/sub/avm/lib/avm/scms/auto_commit.rb +0 -3
  134. data/sub/avm/lib/avm/scms/base/branches.rb +0 -2
  135. data/sub/avm/lib/avm/scms/base/commits.rb +0 -2
  136. data/sub/avm/lib/avm/scms/base/milestones.rb +0 -2
  137. data/sub/avm/lib/avm/scms/base/remotes.rb +0 -2
  138. data/sub/avm/lib/avm/scms/base.rb +0 -1
  139. data/sub/avm/lib/avm/scms/branch.rb +0 -2
  140. data/sub/avm/lib/avm/scms/changed_file.rb +0 -2
  141. data/sub/avm/lib/avm/scms/commit.rb +0 -2
  142. data/sub/avm/lib/avm/scms/commit_info.rb +0 -2
  143. data/sub/avm/lib/avm/scms/interval.rb +0 -2
  144. data/sub/avm/lib/avm/scms/null/commit.rb +0 -1
  145. data/sub/avm/lib/avm/scms/null.rb +0 -3
  146. data/sub/avm/lib/avm/scms/remote.rb +0 -2
  147. data/sub/avm/lib/avm/scms.rb +0 -3
  148. data/sub/avm/lib/avm/self/docker_image.rb +0 -1
  149. data/sub/avm/lib/avm/source_generators/base.rb +1 -4
  150. data/sub/avm/lib/avm/source_generators/option_list.rb +0 -1
  151. data/sub/avm/lib/avm/source_generators.rb +0 -3
  152. data/sub/avm/lib/avm/sources/auto_commit/for_file.rb +0 -2
  153. data/sub/avm/lib/avm/sources/auto_commit.rb +0 -3
  154. data/sub/avm/lib/avm/sources/base/application.rb +0 -1
  155. data/sub/avm/lib/avm/sources/base/configuration.rb +1 -2
  156. data/sub/avm/lib/avm/sources/base/locale.rb +1 -4
  157. data/sub/avm/lib/avm/sources/base/organizational.rb +0 -2
  158. data/sub/avm/lib/avm/sources/base/parent.rb +0 -2
  159. data/sub/avm/lib/avm/sources/base/stereotype.rb +0 -2
  160. data/sub/avm/lib/avm/sources/base/sub/remove.rb +0 -2
  161. data/sub/avm/lib/avm/sources/base/sub.rb +0 -1
  162. data/sub/avm/lib/avm/sources/base/subs.rb +0 -1
  163. data/sub/avm/lib/avm/sources/base/subs_paths.rb +0 -2
  164. data/sub/avm/lib/avm/sources/base/testing.rb +0 -3
  165. data/sub/avm/lib/avm/sources/base/update.rb +0 -2
  166. data/sub/avm/lib/avm/sources/base/update_sub.rb +0 -2
  167. data/sub/avm/lib/avm/sources/base/update_subs.rb +0 -2
  168. data/sub/avm/lib/avm/sources/base/version_bump.rb +0 -1
  169. data/sub/avm/lib/avm/sources/base.rb +0 -1
  170. data/sub/avm/lib/avm/sources/configuration.rb +1 -1
  171. data/sub/avm/lib/avm/sources/issues/deliver.rb +1 -1
  172. data/sub/avm/lib/avm/sources/issues.rb +0 -3
  173. data/sub/avm/lib/avm/sources/tests/builder.rb +0 -2
  174. data/sub/avm/lib/avm/sources/tests/performer.rb +0 -1
  175. data/sub/avm/lib/avm/sources/tests/single.rb +1 -1
  176. data/sub/avm/lib/avm/sources/tests.rb +0 -3
  177. data/sub/avm/lib/avm/sources.rb +0 -3
  178. data/sub/avm/lib/avm/sync.rb +0 -2
  179. data/sub/avm/lib/avm/version.rb +1 -1
  180. data/sub/avm/lib/avm/with/application_stereotype.rb +1 -5
  181. data/sub/avm/lib/avm/with/extra_subcommands.rb +0 -1
  182. data/sub/avm/lib/avm.rb +5 -2
  183. data/sub/avm/spec/lib/avm/applications/base/entries_spec.rb +0 -2
  184. data/sub/avm/spec/lib/avm/applications/base_spec.rb +0 -2
  185. data/sub/avm/spec/lib/avm/file_formats/base_spec.rb +0 -2
  186. data/sub/avm/spec/lib/avm/instances/base_spec.rb +0 -3
  187. data/sub/avm/spec/lib/avm/launcher/context_spec.rb +0 -3
  188. data/sub/avm/spec/lib/avm/launcher/instances/base_spec.rb +0 -3
  189. data/sub/avm/spec/lib/avm/patches/eac_config/entry_path_spec.rb +0 -2
  190. data/sub/avm/spec/lib/avm/scms/auto_commit/file_resource_name_spec.rb +0 -2
  191. data/sub/avm/spec/lib/avm/scms/base_spec.rb +0 -2
  192. data/sub/avm/spec/lib/avm/sources/base_spec.rb +0 -2
  193. data/sub/avm/spec/lib/avm/sources/runner_spec.rb +0 -2
  194. data/sub/avm/spec/spec_helper.rb +1 -1
  195. data/sub/avm-eac_generic_base0/avm-eac_generic_base0.gemspec +3 -3
  196. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/apply.rb +1 -2
  197. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/file_resource_name_helper.rb +1 -3
  198. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/match.rb +1 -2
  199. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb +1 -2
  200. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats.rb +0 -2
  201. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/instances.rb +0 -2
  202. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/base.rb +0 -1
  203. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/docker.rb +0 -2
  204. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources.rb +0 -2
  205. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/version.rb +1 -1
  206. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0.rb +2 -2
  207. data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/file_formats/base_spec.rb +0 -2
  208. data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/sources/base_spec.rb +0 -2
  209. data/sub/avm-eac_generic_base0/spec/spec_helper.rb +2 -1
  210. data/sub/avm-tools/Gemfile +8 -0
  211. data/sub/avm-tools/README.textile +28 -0
  212. data/sub/avm-tools/avm-tools.gemspec +25 -0
  213. data/sub/avm-tools/exe/avm +6 -0
  214. data/sub/avm-tools/lib/avm/tools/core_ext.rb +3 -0
  215. data/sub/avm-tools/lib/avm/tools/rspec/helpers/runner.rb +20 -0
  216. data/sub/avm-tools/lib/avm/tools/rspec/helpers.rb +13 -0
  217. data/sub/avm-tools/lib/avm/tools/rspec/setup.rb +24 -0
  218. data/sub/avm-tools/lib/avm/tools/rspec.rb +11 -0
  219. data/sub/avm-tools/lib/avm/tools/runner/application/info.rb +36 -0
  220. data/sub/avm-tools/lib/avm/tools/runner/application.rb +26 -0
  221. data/sub/avm-tools/lib/avm/tools/runner/application_stereotypes/list.rb +31 -0
  222. data/sub/avm-tools/lib/avm/tools/runner/application_stereotypes.rb +16 -0
  223. data/sub/avm-tools/lib/avm/tools/runner/applications/list.rb +31 -0
  224. data/sub/avm-tools/lib/avm/tools/runner/applications.rb +16 -0
  225. data/sub/avm-tools/lib/avm/tools/runner/config/load_path.rb +52 -0
  226. data/sub/avm-tools/lib/avm/tools/runner/config.rb +17 -0
  227. data/sub/avm-tools/lib/avm/tools/runner/files/format.rb +50 -0
  228. data/sub/avm-tools/lib/avm/tools/runner/files/rotate.rb +31 -0
  229. data/sub/avm-tools/lib/avm/tools/runner/files.rb +17 -0
  230. data/sub/avm-tools/lib/avm/tools/runner/instance/data/clear.rb +18 -0
  231. data/sub/avm-tools/lib/avm/tools/runner/instance/data/dump.rb +20 -0
  232. data/sub/avm-tools/lib/avm/tools/runner/instance/data/load.rb +25 -0
  233. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/clear.rb +20 -0
  234. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/dump.rb +20 -0
  235. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/load.rb +25 -0
  236. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit.rb +44 -0
  237. data/sub/avm-tools/lib/avm/tools/runner/instance/data.rb +27 -0
  238. data/sub/avm-tools/lib/avm/tools/runner/instance/entry.rb +43 -0
  239. data/sub/avm-tools/lib/avm/tools/runner/instance/info.rb +39 -0
  240. data/sub/avm-tools/lib/avm/tools/runner/instance/system.rb +65 -0
  241. data/sub/avm-tools/lib/avm/tools/runner/instance.rb +16 -0
  242. data/sub/avm-tools/lib/avm/tools/runner/launcher/instances.rb +36 -0
  243. data/sub/avm-tools/lib/avm/tools/runner/launcher/projects.rb +40 -0
  244. data/sub/avm-tools/lib/avm/tools/runner/launcher/publish.rb +53 -0
  245. data/sub/avm-tools/lib/avm/tools/runner/launcher.rb +17 -0
  246. data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes/list.rb +41 -0
  247. data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes.rb +16 -0
  248. data/sub/avm-tools/lib/avm/tools/runner/self/docker.rb +14 -0
  249. data/sub/avm-tools/lib/avm/tools/runner/self/registry.rb +25 -0
  250. data/sub/avm-tools/lib/avm/tools/runner/self.rb +22 -0
  251. data/sub/avm-tools/lib/avm/tools/runner/source/auto_commit.rb +72 -0
  252. data/sub/avm-tools/lib/avm/tools/runner/source/info.rb +55 -0
  253. data/sub/avm-tools/lib/avm/tools/runner/source/issue/complete.rb +86 -0
  254. data/sub/avm-tools/lib/avm/tools/runner/source/issue/deliver.rb +35 -0
  255. data/sub/avm-tools/lib/avm/tools/runner/source/issue.rb +19 -0
  256. data/sub/avm-tools/lib/avm/tools/runner/source/sub/remove.rb +22 -0
  257. data/sub/avm-tools/lib/avm/tools/runner/source/sub.rb +29 -0
  258. data/sub/avm-tools/lib/avm/tools/runner/source/subs.rb +72 -0
  259. data/sub/avm-tools/lib/avm/tools/runner/source/test.rb +93 -0
  260. data/sub/avm-tools/lib/avm/tools/runner/source/update.rb +22 -0
  261. data/sub/avm-tools/lib/avm/tools/runner/source/version_bump.rb +81 -0
  262. data/sub/avm-tools/lib/avm/tools/runner/source.rb +18 -0
  263. data/sub/avm-tools/lib/avm/tools/runner/source_generate.rb +12 -0
  264. data/sub/avm-tools/lib/avm/tools/runner.rb +25 -0
  265. data/sub/avm-tools/lib/avm/tools/runner_with/include_exclude.rb +23 -0
  266. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_clear.rb +23 -0
  267. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb +59 -0
  268. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_load.rb +69 -0
  269. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_performer.rb +40 -0
  270. data/sub/avm-tools/lib/avm/tools/runner_with.rb +11 -0
  271. data/sub/avm-tools/lib/avm/tools/self.rb +23 -0
  272. data/sub/avm-tools/lib/avm/tools/version.rb +7 -0
  273. data/sub/avm-tools/lib/avm/tools.rb +12 -0
  274. data/sub/avm-tools/spec/lib/avm/tools/runner/files/rotate_spec.rb +71 -0
  275. data/sub/avm-tools/spec/lib/avm/tools/runner/launcher_stereotypes/list_spec.rb +15 -0
  276. data/sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb +47 -0
  277. data/sub/avm-tools/spec/lib/avm/tools/runner_spec.rb +12 -0
  278. data/sub/avm-tools/spec/rubocop_spec.rb +3 -0
  279. data/sub/avm-tools/spec/spec_helper.rb +5 -0
  280. metadata +116 -26
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/tools/core_ext'
4
+ require 'eac_config/node'
5
+ require 'eac_ruby_utils'
6
+
7
+ module Avm
8
+ module Tools
9
+ class Runner
10
+ class Config
11
+ class LoadPath
12
+ runner_with :help do
13
+ desc 'Manipulate include path.'
14
+ arg_opt '-p', '--push', 'Add a path.'
15
+ end
16
+
17
+ def run
18
+ config_nodes.each { |config_node| run_show(config_node) }
19
+ run_add
20
+ end
21
+
22
+ private
23
+
24
+ # @return [[EacCli::Config]]
25
+ def root_config_node
26
+ ::EacConfig::Node.context.current
27
+ end
28
+
29
+ def config_nodes
30
+ ::EacRubyUtils::RecursiveBuilder.new(root_config_node, &:self_loaded_nodes).result
31
+ end
32
+
33
+ def run_add
34
+ parsed.push.if_present do |v|
35
+ infov 'Path to add', v
36
+ root_config_node.write_node.load_path.push(v)
37
+ success 'Path included'
38
+ end
39
+ end
40
+
41
+ def run_show(config_node)
42
+ infov 'Configuration path', config_node.url
43
+ infov 'Paths included', config_node.self_loaded_nodes.count
44
+ config_node.self_loaded_nodes.each do |loaded_node|
45
+ infov ' * ', loaded_node.url
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/tools/core_ext'
4
+
5
+ module Avm
6
+ module Tools
7
+ class Runner
8
+ class Config
9
+ require_sub __FILE__
10
+ runner_with :help, :subcommands do
11
+ desc 'Configuration utilities.'
12
+ subcommands
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/file_formats/search_formatter'
4
+ require 'avm/registry'
5
+ require 'eac_cli/core_ext'
6
+
7
+ module Avm
8
+ module Tools
9
+ class Runner
10
+ class Files
11
+ class Format
12
+ runner_with :help do
13
+ desc 'Format files.'
14
+ bool_opt '-a', '--apply', 'Confirm changes.'
15
+ bool_opt '-n', '--no-recursive', 'No recursive.'
16
+ bool_opt '-q', '--quiet', 'Do not output messages.'
17
+ bool_opt '-d', '--dirty', 'Select modified files to format.'
18
+ pos_arg :paths, repeat: true, optional: true
19
+ end
20
+
21
+ def run
22
+ ::Avm::FileFormats::SearchFormatter.new(source_paths, formatter_options).run
23
+ end
24
+
25
+ def formatter_options
26
+ { ::Avm::FileFormats::SearchFormatter::OPTION_APPLY => parsed.apply?,
27
+ ::Avm::FileFormats::SearchFormatter::OPTION_RECURSIVE => !parsed.no_recursive?,
28
+ ::Avm::FileFormats::SearchFormatter::OPTION_VERBOSE => !parsed.quiet? }
29
+ end
30
+
31
+ def scm
32
+ @scm ||= ::Avm::Registry.scms.detect('.')
33
+ end
34
+
35
+ def dirty_files
36
+ scm.changed_files.map(&:absolute_path).select(&:exist?).map(&:to_path)
37
+ end
38
+
39
+ def source_paths
40
+ if parsed.dirty?
41
+ parsed.paths + dirty_files
42
+ else
43
+ parsed.paths.if_present(%w[.])
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/data/rotate'
4
+ require 'eac_cli/core_ext'
5
+
6
+ module Avm
7
+ module Tools
8
+ class Runner
9
+ class Files
10
+ class Rotate
11
+ runner_with :help do
12
+ desc 'Rotates a file (Like a backup).'
13
+ arg_opt '-L', '--space-limit', 'Limit by <space> the space used by rotated files.'
14
+ pos_arg :path
15
+ end
16
+ def run
17
+ error_message = rotate.run
18
+ fatal_error(error_message) if error_message
19
+ end
20
+
21
+ def rotate
22
+ @rotate ||= ::Avm::Data::Rotate.new(
23
+ parsed.path,
24
+ space_limit: parsed.space_limit
25
+ )
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/core_ext'
4
+
5
+ module Avm
6
+ module Tools
7
+ class Runner
8
+ class Files
9
+ require_sub __FILE__
10
+ runner_with :help, :subcommands do
11
+ desc 'Files utilities for AVM.'
12
+ subcommands
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/instances/runner'
4
+ require 'eac_cli/core_ext'
5
+
6
+ module Avm
7
+ module Tools
8
+ class Runner
9
+ class Instance < ::Avm::Instances::Runner
10
+ class Data
11
+ class Clear
12
+ runner_with :help, :include_exclude, :instance_data_clear
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/instances/runner'
4
+ require 'eac_cli/core_ext'
5
+
6
+ module Avm
7
+ module Tools
8
+ class Runner
9
+ class Instance < ::Avm::Instances::Runner
10
+ class Data
11
+ class Dump
12
+ runner_with :help, :include_exclude, :instance_data_dump do
13
+ desc 'Dump utility for instance.'
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/instances/runner'
4
+ require 'eac_cli/core_ext'
5
+
6
+ module Avm
7
+ module Tools
8
+ class Runner
9
+ class Instance < ::Avm::Instances::Runner
10
+ class Data
11
+ class Load
12
+ runner_with :help, :include_exclude, :instance_data_load do
13
+ desc 'Load utility for instance.'
14
+ end
15
+
16
+ # @return [Avm::Instances::Data::Package]
17
+ def source_instance_data_owner
18
+ source_instance.data_package
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/instances/runner'
4
+ require 'eac_cli/core_ext'
5
+
6
+ module Avm
7
+ module Tools
8
+ class Runner
9
+ class Instance < ::Avm::Instances::Runner
10
+ class Data
11
+ class Unit
12
+ class Clear
13
+ runner_with :help, :instance_data_clear
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/instances/runner'
4
+ require 'eac_cli/core_ext'
5
+
6
+ module Avm
7
+ module Tools
8
+ class Runner
9
+ class Instance < ::Avm::Instances::Runner
10
+ class Data
11
+ class Unit
12
+ class Dump
13
+ runner_with :help, :instance_data_dump
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/instances/runner'
4
+ require 'eac_cli/core_ext'
5
+
6
+ module Avm
7
+ module Tools
8
+ class Runner
9
+ class Instance < ::Avm::Instances::Runner
10
+ class Data
11
+ class Unit
12
+ class Load
13
+ runner_with :help, :instance_data_load
14
+
15
+ # @return [Avm::Instances::Data::Unit]
16
+ def source_instance_data_owner
17
+ source_instance.data_package.unit(data_owner.identifier)
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/instances/runner'
4
+ require 'eac_cli/core_ext'
5
+
6
+ module Avm
7
+ module Tools
8
+ class Runner
9
+ class Instance < ::Avm::Instances::Runner
10
+ class Data
11
+ class Unit
12
+ require_sub __FILE__
13
+ runner_with :help, :subcommands do
14
+ pos_arg :identifier
15
+ subcommands
16
+ end
17
+
18
+ for_context :data_owner
19
+
20
+ # @return [Enumerable<String>]
21
+ def available_units_ids
22
+ data_package.units_ids
23
+ end
24
+
25
+ # @return [Avm::Instances::Data::Package]
26
+ def data_package
27
+ runner_context.call(:instance).data_package
28
+ end
29
+
30
+ # @return [Avm::Instances::Data::Unit]
31
+ def data_owner
32
+ data_package.unit(parsed.identifier)
33
+ end
34
+
35
+ # @return [String]
36
+ def help_extra_text
37
+ help_join_sections(super, list_section('Available units', available_units_ids))
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/instances/runner'
4
+ require 'eac_cli/core_ext'
5
+
6
+ module Avm
7
+ module Tools
8
+ class Runner
9
+ class Instance < ::Avm::Instances::Runner
10
+ class Data
11
+ require_sub __FILE__
12
+ runner_with :help, :subcommands do
13
+ desc 'Data utilities for EacRailsBase0 instances.'
14
+ subcommands
15
+ end
16
+
17
+ for_context :data_owner
18
+
19
+ # @return [Avm::Instances::Data::Package]
20
+ def data_owner
21
+ instance.data_package
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_base0/core_ext'
4
+
5
+ module Avm
6
+ module Tools
7
+ class Runner
8
+ class Instance < ::Avm::Instances::Runner
9
+ class Entry
10
+ runner_with :help, :output do
11
+ desc 'Retorna valor de uma entrada de instância AVM.'
12
+ bool_opt '-d', '--debug'
13
+ pos_arg :envvar_suffix, repeat: true
14
+ end
15
+
16
+ def run
17
+ debug
18
+ run_output
19
+ end
20
+
21
+ def output_content
22
+ parsed.envvar_suffix.map { |entry_key| "#{instance.entry(entry_key).value}\n" }.join
23
+ end
24
+
25
+ def debug
26
+ return unless parsed.debug?
27
+
28
+ parsed.envvar_suffix.map { |entry_key| debug_entry(entry_key) }
29
+ end
30
+
31
+ def debug_entry(entry_key)
32
+ infov 'Entry key', entry_key
33
+ e = instance.entry(entry_key)
34
+ infov ' * Type', e.class
35
+ infov ' * Full path', e.full_path
36
+ infov ' * Found?', e.context_found?
37
+ infov ' * Value', e.value
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/instances/entry_keys'
4
+ require 'avm/instances/runner'
5
+ require 'eac_cli/core_ext'
6
+
7
+ module Avm
8
+ module Tools
9
+ class Runner
10
+ class Instance < ::Avm::Instances::Runner
11
+ class Info
12
+ runner_with :help do
13
+ desc 'Show info about a instance.'
14
+ end
15
+
16
+ def run
17
+ base_banner
18
+ entry_keys_banner
19
+ end
20
+
21
+ private
22
+
23
+ def base_banner
24
+ infov 'ID', instance.id
25
+ infov 'Application ID', instance.application.id
26
+ infov 'Application stereotype', instance.application.stereotype
27
+ infov 'Suffix', instance.suffix
28
+ end
29
+
30
+ def entry_keys_banner
31
+ instance.entry_keys.each do |key|
32
+ infov key, instance.read_entry_optional(key)
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_base0/core_ext'
4
+
5
+ module Avm
6
+ module Tools
7
+ class Runner
8
+ class Instance < ::Avm::Instances::Runner
9
+ class System
10
+ ENVVAR_PARSER = /\A([^=]+)=(.+)\z/.to_parser do |m|
11
+ ::Struct.new(:name, :value).new(m[1].strip, m[2].strip)
12
+ end
13
+
14
+ runner_with :help do
15
+ desc 'Execute a command in the instance\'s environment.'
16
+ arg_opt '-C', '--chdir'
17
+ arg_opt '-e', '--envvar', repeat: true
18
+ pos_arg :command_args, required: true, repeat: true
19
+ end
20
+
21
+ delegate :command_args, to: :parsed
22
+
23
+ def run
24
+ start_banner
25
+ run_command
26
+ end
27
+
28
+ # @return [Pathname]
29
+ def chdir
30
+ (parsed.chdir || instance.install_path).to_pathname
31
+ end
32
+
33
+ private
34
+
35
+ # @return [EacRubyUtils::Envs::Command]
36
+ def command_without_envvars
37
+ instance.host_env.command(*command_args).chdir(chdir)
38
+ end
39
+
40
+ # @return [EacRubyUtils::Envs::Command]
41
+ def command
42
+ envvars.inject(command_without_envvars) { |a, e| a.envvar(e.name, e.value) }
43
+ end
44
+
45
+ # @return [Hash<String, String>]
46
+ def envvars
47
+ parsed.envvar.map { |v| ENVVAR_PARSER.parse!(v) }
48
+ end
49
+
50
+ def run_command
51
+ command.system!
52
+ end
53
+
54
+ def start_banner
55
+ infov 'Instance', instance
56
+ infov 'Environment', instance.host_env
57
+ infov 'Directory', chdir
58
+ infov 'Envvars', envvars.map { |e| "#{e.name}=#{e.value}" }.join(', ')
59
+ infov 'Command', ::Shellwords.join(command_args)
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/instances/base'
4
+ require 'avm/instances/runner'
5
+ require 'avm/registry'
6
+ require 'eac_cli/core_ext'
7
+
8
+ module Avm
9
+ module Tools
10
+ class Runner
11
+ class Instance < ::Avm::Instances::Runner
12
+ require_sub __FILE__
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/launcher/instances/runner_helper'
4
+
5
+ module Avm
6
+ module Tools
7
+ class Runner
8
+ class Launcher
9
+ class Instances
10
+ runner_with :help, ::Avm::Launcher::Instances::RunnerHelper do
11
+ desc 'Mostra informações sobre instâncias.'
12
+ bool_opt '-e', '--extra', 'Show instances\' extra data.'
13
+ pos_arg :instance_path, repeat: true, optional: true
14
+ end
15
+
16
+ def run
17
+ instances.each { |i| show_instance(i) }
18
+ end
19
+
20
+ private
21
+
22
+ def show_instance(instance)
23
+ puts instance_label(instance)
24
+ show_instance_extra(instance) if parsed.extra?
25
+ end
26
+
27
+ def show_instance_extra(instance)
28
+ infov(' * Parent', (instance.parent ? instance_label(instance.parent) : '-'))
29
+ infov(' * Git current revision', instance.options.git_current_revision)
30
+ infov(' * Git publish remote', instance.options.git_publish_remote)
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/launcher/context'
4
+ require 'avm/launcher/instances/runner_helper'
5
+
6
+ module Avm
7
+ module Tools
8
+ class Runner
9
+ class Launcher
10
+ class Projects
11
+ runner_with :help, ::Avm::Launcher::Instances::RunnerHelper do
12
+ desc 'Shows available projects.'
13
+ bool_opt '-i', '--instances', 'Show instances.'
14
+ end
15
+
16
+ def run
17
+ ::Avm::Launcher::Context.current.projects.each do |p|
18
+ show_project(p)
19
+ end
20
+ end
21
+
22
+ private
23
+
24
+ def show_project(project)
25
+ puts project_label(project)
26
+ return unless parsed.instances?
27
+
28
+ project.instances.each do |i|
29
+ puts " * #{instance_label(i)}"
30
+ end
31
+ end
32
+
33
+ def project_label(project)
34
+ project.to_s.cyan.to_s
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/launcher/instances/runner_helper'
4
+
5
+ module Avm
6
+ module Tools
7
+ class Runner
8
+ class Launcher
9
+ class Publish
10
+ runner_with :help, ::Avm::Launcher::Instances::RunnerHelper do
11
+ desc 'Publica projetos ou instâncias.'
12
+ bool_opt '-d', '--dry-run', '"Dry run" publishing.'
13
+ bool_opt '--new', 'Publish projects not published before.'
14
+ bool_opt '--run', 'Confirm publishing.'
15
+ arg_opt '-s', '--stereotype', 'Publish only for stereotype <stereotype>.'
16
+ pos_arg :instance_path, repeat: true, optional: true
17
+ end
18
+
19
+ def run
20
+ build_publish_options
21
+ instances.each do |i|
22
+ next unless i.publishable?
23
+
24
+ i.send(instance_method)
25
+ end
26
+ end
27
+
28
+ private
29
+
30
+ def dry_run?
31
+ parsed.dry_run?
32
+ end
33
+
34
+ def instance_method
35
+ run? || dry_run? ? 'publish_run' : 'publish_check'
36
+ end
37
+
38
+ def build_publish_options
39
+ ::Avm::Launcher::Context.current.publish_options = publish_options
40
+ end
41
+
42
+ def publish_options
43
+ { new: parsed.new?, stereotype: parsed.stereotype?, confirm: run? }
44
+ end
45
+
46
+ def run?
47
+ parsed.run? && !dry_run?
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end