eac_tools 0.98.0 → 0.99.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 (284) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +97 -92
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/lib/eac_tools.rb +4 -2
  5. data/sub/avm/avm.gemspec +3 -2
  6. data/sub/avm/lib/avm/application_scms/base.rb +1 -1
  7. data/sub/avm/lib/avm/application_scms.rb +1 -2
  8. data/sub/avm/lib/avm/application_stereotypes/base.rb +1 -1
  9. data/sub/avm/lib/avm/application_stereotypes.rb +1 -2
  10. data/sub/avm/lib/avm/applications/base/local_instance.rb +1 -1
  11. data/sub/avm/lib/avm/applications/base/local_source.rb +1 -1
  12. data/sub/avm/lib/avm/applications/base/naming.rb +1 -1
  13. data/sub/avm/lib/avm/applications/base/publishing.rb +1 -2
  14. data/sub/avm/lib/avm/applications/base/scm.rb +1 -1
  15. data/sub/avm/lib/avm/applications/base.rb +1 -1
  16. data/sub/avm/lib/avm/applications.rb +1 -2
  17. data/sub/avm/lib/avm/data/callbacks.rb +1 -1
  18. data/sub/avm/lib/avm/data/clearer.rb +1 -1
  19. data/sub/avm/lib/avm/data/dumper.rb +1 -2
  20. data/sub/avm/lib/avm/data/loader.rb +1 -2
  21. data/sub/avm/lib/avm/data/package/base_performer.rb +1 -1
  22. data/sub/avm/lib/avm/data/package/build_directory.rb +1 -2
  23. data/sub/avm/lib/avm/data/package/clear.rb +1 -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 +1 -1
  27. data/sub/avm/lib/avm/data/performer.rb +1 -2
  28. data/sub/avm/lib/avm/data/rotate.rb +1 -1
  29. data/sub/avm/lib/avm/data/unit.rb +2 -4
  30. data/sub/avm/lib/avm/data/unit_with_commands.rb +1 -1
  31. data/sub/avm/lib/avm/docker/container.rb +1 -1
  32. data/sub/avm/lib/avm/docker/image.rb +1 -1
  33. data/sub/avm/lib/avm/docker/runner.rb +1 -1
  34. data/sub/avm/lib/avm/docker.rb +1 -2
  35. data/sub/avm/lib/avm/entries/auto_values/entry.rb +1 -1
  36. data/sub/avm/lib/avm/entries/auto_values/uri_entry.rb +1 -1
  37. data/sub/avm/lib/avm/entries/auto_values.rb +1 -2
  38. data/sub/avm/lib/avm/entries/base/inherited_entry_value.rb +1 -1
  39. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/default_value.rb +1 -1
  40. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb +1 -1
  41. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/url_entry_value.rb +1 -1
  42. data/sub/avm/lib/avm/entries/base/uri_component_entry_value.rb +1 -1
  43. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/component_factory.rb +1 -1
  44. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb +1 -1
  45. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/path_component.rb +1 -1
  46. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/url_component.rb +1 -1
  47. data/sub/avm/lib/avm/entries/base/uri_components_entries_values.rb +3 -2
  48. data/sub/avm/lib/avm/entries/base.rb +1 -1
  49. data/sub/avm/lib/avm/entries/entry/no_context_entry.rb +1 -1
  50. data/sub/avm/lib/avm/entries/entry.rb +1 -3
  51. data/sub/avm/lib/avm/entries/jobs/variables_source/read_entry.rb +1 -1
  52. data/sub/avm/lib/avm/entries/jobs/variables_source.rb +1 -1
  53. data/sub/avm/lib/avm/entries/jobs.rb +1 -2
  54. data/sub/avm/lib/avm/entries/keys_constants_set.rb +1 -1
  55. data/sub/avm/lib/avm/entries/uri_builder.rb +1 -3
  56. data/sub/avm/lib/avm/entries.rb +1 -2
  57. data/sub/avm/lib/avm/executables.rb +1 -2
  58. data/sub/avm/lib/avm/file_formats/search_formatter.rb +2 -2
  59. data/sub/avm/lib/avm/file_formats/unknown.rb +1 -1
  60. data/sub/avm/lib/avm/file_formats.rb +1 -2
  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 +1 -1
  72. data/sub/avm/lib/avm/instances/base/dockerizable.rb +1 -1
  73. data/sub/avm/lib/avm/instances/base/processes.rb +1 -1
  74. data/sub/avm/lib/avm/instances/base/subcommand_parent.rb +1 -1
  75. data/sub/avm/lib/avm/instances/base.rb +1 -2
  76. data/sub/avm/lib/avm/instances/data/unit.rb +1 -1
  77. data/sub/avm/lib/avm/instances/data.rb +1 -2
  78. data/sub/avm/lib/avm/instances/entry_keys.rb +1 -1
  79. data/sub/avm/lib/avm/instances/ids.rb +2 -2
  80. data/sub/avm/lib/avm/instances/process.rb +1 -1
  81. data/sub/avm/lib/avm/instances.rb +1 -2
  82. data/sub/avm/lib/avm/launcher/context/instance_collector.rb +1 -1
  83. data/sub/avm/lib/avm/launcher/context/instance_discovery/root_instance_paths.rb +1 -1
  84. data/sub/avm/lib/avm/launcher/context/instance_discovery.rb +1 -1
  85. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instance.rb +1 -1
  86. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instances.rb +1 -1
  87. data/sub/avm/lib/avm/launcher/context/instance_manager.rb +1 -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 +1 -2
  91. data/sub/avm/lib/avm/launcher/instances/base/publishing.rb +1 -1
  92. data/sub/avm/lib/avm/launcher/instances/base.rb +1 -3
  93. data/sub/avm/lib/avm/launcher/instances/runner_helper.rb +0 -1
  94. data/sub/avm/lib/avm/launcher/instances/settings.rb +1 -1
  95. data/sub/avm/lib/avm/launcher/instances.rb +1 -2
  96. data/sub/avm/lib/avm/launcher/paths/logical.rb +1 -1
  97. data/sub/avm/lib/avm/launcher/paths.rb +1 -2
  98. data/sub/avm/lib/avm/launcher/project.rb +1 -1
  99. data/sub/avm/lib/avm/launcher/publish/base.rb +1 -1
  100. data/sub/avm/lib/avm/launcher/publish/check_result.rb +1 -1
  101. data/sub/avm/lib/avm/launcher/publish.rb +2 -3
  102. data/sub/avm/lib/avm/launcher.rb +1 -2
  103. data/sub/avm/lib/avm/launcher_stereotypes.rb +1 -2
  104. data/sub/avm/lib/avm/registry/application_stereotypes/build_available.rb +1 -1
  105. data/sub/avm/lib/avm/registry/application_stereotypes/stereotype_builder.rb +1 -1
  106. data/sub/avm/lib/avm/registry/application_stereotypes.rb +1 -1
  107. data/sub/avm/lib/avm/registry/applications.rb +1 -1
  108. data/sub/avm/lib/avm/registry/config_objects.rb +1 -2
  109. data/sub/avm/lib/avm/registry/from_gems.rb +1 -2
  110. data/sub/avm/lib/avm/registry/launcher_stereotypes.rb +1 -1
  111. data/sub/avm/lib/avm/registry/with_path/cache.rb +1 -1
  112. data/sub/avm/lib/avm/registry/with_path.rb +1 -1
  113. data/sub/avm/lib/avm/registry.rb +1 -2
  114. data/sub/avm/lib/avm/result.rb +1 -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 +1 -1
  118. data/sub/avm/lib/avm/rspec/setup.rb +1 -2
  119. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_format_file_resource_name.rb +1 -1
  120. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_formats_with_fixtures.rb +1 -1
  121. data/sub/avm/lib/avm/rspec/shared_examples/avm_source_generated.rb +1 -1
  122. data/sub/avm/lib/avm/rspec/shared_examples/entries_values.rb +1 -1
  123. data/sub/avm/lib/avm/rspec/shared_examples/with_config.rb +1 -1
  124. data/sub/avm/lib/avm/rspec.rb +1 -2
  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 +1 -1
  130. data/sub/avm/lib/avm/scms/auto_commit/for_file.rb +1 -1
  131. data/sub/avm/lib/avm/scms/auto_commit/rules/base.rb +1 -1
  132. data/sub/avm/lib/avm/scms/auto_commit/rules.rb +3 -3
  133. data/sub/avm/lib/avm/scms/auto_commit.rb +1 -2
  134. data/sub/avm/lib/avm/scms/base/branches.rb +1 -1
  135. data/sub/avm/lib/avm/scms/base/commits.rb +1 -1
  136. data/sub/avm/lib/avm/scms/base/milestones.rb +1 -1
  137. data/sub/avm/lib/avm/scms/base/remotes.rb +1 -1
  138. data/sub/avm/lib/avm/scms/base.rb +1 -1
  139. data/sub/avm/lib/avm/scms/branch.rb +1 -1
  140. data/sub/avm/lib/avm/scms/changed_file.rb +1 -1
  141. data/sub/avm/lib/avm/scms/commit.rb +1 -1
  142. data/sub/avm/lib/avm/scms/commit_info.rb +1 -1
  143. data/sub/avm/lib/avm/scms/interval.rb +1 -1
  144. data/sub/avm/lib/avm/scms/null/commit.rb +1 -1
  145. data/sub/avm/lib/avm/scms/null.rb +1 -3
  146. data/sub/avm/lib/avm/scms/remote.rb +1 -1
  147. data/sub/avm/lib/avm/scms.rb +1 -2
  148. data/sub/avm/lib/avm/self/docker_image.rb +1 -1
  149. data/sub/avm/lib/avm/source_generators/base.rb +2 -4
  150. data/sub/avm/lib/avm/source_generators/option_list.rb +1 -1
  151. data/sub/avm/lib/avm/source_generators.rb +1 -2
  152. data/sub/avm/lib/avm/sources/auto_commit/for_file.rb +1 -1
  153. data/sub/avm/lib/avm/sources/auto_commit.rb +1 -2
  154. data/sub/avm/lib/avm/sources/base/application.rb +1 -1
  155. data/sub/avm/lib/avm/sources/base/configuration.rb +1 -2
  156. data/sub/avm/lib/avm/sources/base/locale.rb +2 -4
  157. data/sub/avm/lib/avm/sources/base/organizational.rb +1 -1
  158. data/sub/avm/lib/avm/sources/base/parent.rb +1 -1
  159. data/sub/avm/lib/avm/sources/base/stereotype.rb +1 -1
  160. data/sub/avm/lib/avm/sources/base/sub/remove.rb +1 -1
  161. data/sub/avm/lib/avm/sources/base/sub.rb +1 -1
  162. data/sub/avm/lib/avm/sources/base/subs.rb +1 -1
  163. data/sub/avm/lib/avm/sources/base/subs_paths.rb +1 -1
  164. data/sub/avm/lib/avm/sources/base/testing.rb +1 -2
  165. data/sub/avm/lib/avm/sources/base/update.rb +1 -1
  166. data/sub/avm/lib/avm/sources/base/update_sub.rb +1 -1
  167. data/sub/avm/lib/avm/sources/base/update_subs.rb +1 -1
  168. data/sub/avm/lib/avm/sources/base/version_bump.rb +1 -1
  169. data/sub/avm/lib/avm/sources/base.rb +1 -1
  170. data/sub/avm/lib/avm/sources/configuration.rb +1 -1
  171. data/sub/avm/lib/avm/sources/issues.rb +1 -2
  172. data/sub/avm/lib/avm/sources/tests/builder.rb +1 -2
  173. data/sub/avm/lib/avm/sources/tests/performer.rb +1 -1
  174. data/sub/avm/lib/avm/sources/tests/single.rb +1 -1
  175. data/sub/avm/lib/avm/sources/tests.rb +1 -2
  176. data/sub/avm/lib/avm/sources.rb +1 -2
  177. data/sub/avm/lib/avm/sync.rb +1 -1
  178. data/sub/avm/lib/avm/version.rb +1 -1
  179. data/sub/avm/lib/avm/with/application_stereotype.rb +2 -4
  180. data/sub/avm/lib/avm/with/extra_subcommands.rb +1 -1
  181. data/sub/avm/lib/avm.rb +5 -2
  182. data/sub/avm/spec/lib/avm/applications/base/entries_spec.rb +0 -2
  183. data/sub/avm/spec/lib/avm/applications/base_spec.rb +0 -2
  184. data/sub/avm/spec/lib/avm/file_formats/base_spec.rb +0 -2
  185. data/sub/avm/spec/lib/avm/instances/base_spec.rb +0 -3
  186. data/sub/avm/spec/lib/avm/launcher/context_spec.rb +0 -3
  187. data/sub/avm/spec/lib/avm/launcher/instances/base_spec.rb +0 -3
  188. data/sub/avm/spec/lib/avm/patches/eac_config/entry_path_spec.rb +0 -2
  189. data/sub/avm/spec/lib/avm/scms/auto_commit/file_resource_name_spec.rb +0 -2
  190. data/sub/avm/spec/lib/avm/scms/base_spec.rb +0 -2
  191. data/sub/avm/spec/lib/avm/sources/base_spec.rb +0 -2
  192. data/sub/avm/spec/lib/avm/sources/runner_spec.rb +0 -2
  193. data/sub/avm/spec/spec_helper.rb +1 -1
  194. data/sub/avm-eac_generic_base0/avm-eac_generic_base0.gemspec +3 -3
  195. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/apply.rb +1 -2
  196. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/file_resource_name_helper.rb +1 -3
  197. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/match.rb +1 -2
  198. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb +1 -2
  199. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats.rb +0 -2
  200. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/instances.rb +0 -2
  201. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/base.rb +0 -1
  202. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/docker.rb +0 -2
  203. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources.rb +0 -2
  204. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/version.rb +1 -1
  205. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0.rb +2 -2
  206. data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/file_formats/base_spec.rb +0 -2
  207. data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/sources/base_spec.rb +0 -2
  208. data/sub/avm-eac_generic_base0/spec/spec_helper.rb +2 -1
  209. data/sub/avm-files/Gemfile +8 -0
  210. data/sub/avm-files/avm-files.gemspec +18 -0
  211. data/sub/avm-files/lib/avm/files/version.rb +7 -0
  212. data/sub/avm-files/spec/rubocop_spec.rb +3 -0
  213. data/sub/avm-files/spec/spec_helper.rb +5 -0
  214. data/sub/avm-tools/Gemfile +8 -0
  215. data/sub/avm-tools/README.textile +28 -0
  216. data/sub/avm-tools/avm-tools.gemspec +25 -0
  217. data/sub/avm-tools/exe/avm +6 -0
  218. data/sub/avm-tools/lib/avm/tools/core_ext.rb +3 -0
  219. data/sub/avm-tools/lib/avm/tools/rspec/helpers/runner.rb +20 -0
  220. data/sub/avm-tools/lib/avm/tools/rspec/helpers.rb +13 -0
  221. data/sub/avm-tools/lib/avm/tools/rspec/setup.rb +24 -0
  222. data/sub/avm-tools/lib/avm/tools/rspec.rb +11 -0
  223. data/sub/avm-tools/lib/avm/tools/runner/application/info.rb +36 -0
  224. data/sub/avm-tools/lib/avm/tools/runner/application.rb +26 -0
  225. data/sub/avm-tools/lib/avm/tools/runner/application_stereotypes/list.rb +31 -0
  226. data/sub/avm-tools/lib/avm/tools/runner/application_stereotypes.rb +16 -0
  227. data/sub/avm-tools/lib/avm/tools/runner/applications/list.rb +31 -0
  228. data/sub/avm-tools/lib/avm/tools/runner/applications.rb +16 -0
  229. data/sub/avm-tools/lib/avm/tools/runner/config/load_path.rb +52 -0
  230. data/sub/avm-tools/lib/avm/tools/runner/config.rb +17 -0
  231. data/sub/avm-tools/lib/avm/tools/runner/files/format.rb +50 -0
  232. data/sub/avm-tools/lib/avm/tools/runner/files/rotate.rb +31 -0
  233. data/sub/avm-tools/lib/avm/tools/runner/files.rb +17 -0
  234. data/sub/avm-tools/lib/avm/tools/runner/instance/data/clear.rb +18 -0
  235. data/sub/avm-tools/lib/avm/tools/runner/instance/data/dump.rb +20 -0
  236. data/sub/avm-tools/lib/avm/tools/runner/instance/data/load.rb +25 -0
  237. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/clear.rb +20 -0
  238. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/dump.rb +20 -0
  239. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/load.rb +25 -0
  240. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit.rb +44 -0
  241. data/sub/avm-tools/lib/avm/tools/runner/instance/data.rb +27 -0
  242. data/sub/avm-tools/lib/avm/tools/runner/instance/entry.rb +43 -0
  243. data/sub/avm-tools/lib/avm/tools/runner/instance/info.rb +39 -0
  244. data/sub/avm-tools/lib/avm/tools/runner/instance/system.rb +65 -0
  245. data/sub/avm-tools/lib/avm/tools/runner/instance.rb +16 -0
  246. data/sub/avm-tools/lib/avm/tools/runner/launcher/instances.rb +36 -0
  247. data/sub/avm-tools/lib/avm/tools/runner/launcher/projects.rb +40 -0
  248. data/sub/avm-tools/lib/avm/tools/runner/launcher/publish.rb +53 -0
  249. data/sub/avm-tools/lib/avm/tools/runner/launcher.rb +17 -0
  250. data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes/list.rb +41 -0
  251. data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes.rb +16 -0
  252. data/sub/avm-tools/lib/avm/tools/runner/self/docker.rb +14 -0
  253. data/sub/avm-tools/lib/avm/tools/runner/self/registry.rb +25 -0
  254. data/sub/avm-tools/lib/avm/tools/runner/self.rb +22 -0
  255. data/sub/avm-tools/lib/avm/tools/runner/source/auto_commit.rb +72 -0
  256. data/sub/avm-tools/lib/avm/tools/runner/source/info.rb +55 -0
  257. data/sub/avm-tools/lib/avm/tools/runner/source/issue/complete.rb +86 -0
  258. data/sub/avm-tools/lib/avm/tools/runner/source/issue/deliver.rb +35 -0
  259. data/sub/avm-tools/lib/avm/tools/runner/source/issue.rb +19 -0
  260. data/sub/avm-tools/lib/avm/tools/runner/source/sub/remove.rb +22 -0
  261. data/sub/avm-tools/lib/avm/tools/runner/source/sub.rb +29 -0
  262. data/sub/avm-tools/lib/avm/tools/runner/source/subs.rb +72 -0
  263. data/sub/avm-tools/lib/avm/tools/runner/source/test.rb +93 -0
  264. data/sub/avm-tools/lib/avm/tools/runner/source/update.rb +22 -0
  265. data/sub/avm-tools/lib/avm/tools/runner/source/version_bump.rb +81 -0
  266. data/sub/avm-tools/lib/avm/tools/runner/source.rb +18 -0
  267. data/sub/avm-tools/lib/avm/tools/runner/source_generate.rb +12 -0
  268. data/sub/avm-tools/lib/avm/tools/runner.rb +25 -0
  269. data/sub/avm-tools/lib/avm/tools/runner_with/include_exclude.rb +23 -0
  270. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_clear.rb +23 -0
  271. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb +59 -0
  272. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_load.rb +69 -0
  273. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_performer.rb +40 -0
  274. data/sub/avm-tools/lib/avm/tools/runner_with.rb +11 -0
  275. data/sub/avm-tools/lib/avm/tools/self.rb +23 -0
  276. data/sub/avm-tools/lib/avm/tools/version.rb +7 -0
  277. data/sub/avm-tools/lib/avm/tools.rb +12 -0
  278. data/sub/avm-tools/spec/lib/avm/tools/runner/files/rotate_spec.rb +71 -0
  279. data/sub/avm-tools/spec/lib/avm/tools/runner/launcher_stereotypes/list_spec.rb +15 -0
  280. data/sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb +47 -0
  281. data/sub/avm-tools/spec/lib/avm/tools/runner_spec.rb +12 -0
  282. data/sub/avm-tools/spec/rubocop_spec.rb +3 -0
  283. data/sub/avm-tools/spec/spec_helper.rb +5 -0
  284. metadata +113 -30
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/registry'
4
+ require 'eac_ruby_base0/core_ext'
5
+
6
+ module Avm
7
+ module Tools
8
+ class Runner
9
+ class Application
10
+ runner_with :help, :subcommands do
11
+ pos_arg :application_id
12
+ subcommands
13
+ end
14
+ for_context :application
15
+
16
+ private
17
+
18
+ def application_uncached
19
+ ::Avm::Registry.applications.detect(parsed.application_id)
20
+ end
21
+
22
+ require_sub __FILE__
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/tools/core_ext'
4
+
5
+ module Avm
6
+ module Tools
7
+ class Runner
8
+ class ApplicationStereotypes
9
+ class List
10
+ runner_with :help, :output
11
+
12
+ def run
13
+ infov 'Found', stereotypes.count
14
+ run_output
15
+ end
16
+
17
+ def output_content
18
+ stereotypes.map { |s| "#{s}\n" }.join
19
+ end
20
+
21
+ private
22
+
23
+ def stereotypes
24
+ ::Avm::Registry.application_stereotypes.available
25
+ .sort_by { |s| [s.name, s.namespace_module] }
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/core_ext'
4
+
5
+ module Avm
6
+ module Tools
7
+ class Runner
8
+ class ApplicationStereotypes
9
+ require_sub __FILE__
10
+ runner_with :help, :subcommands do
11
+ subcommands
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/tools/core_ext'
4
+
5
+ module Avm
6
+ module Tools
7
+ class Runner
8
+ class Applications
9
+ class List
10
+ runner_with :help, :output
11
+
12
+ def run
13
+ infov 'Found', applications.count
14
+ run_output
15
+ end
16
+
17
+ def output_content
18
+ applications.map { |s| "#{s}\n" }.join
19
+ end
20
+
21
+ private
22
+
23
+ def applications_uncached
24
+ ::Avm::Registry.applications.available
25
+ .sort_by { |s| [s.id] }
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/core_ext'
4
+
5
+ module Avm
6
+ module Tools
7
+ class Runner
8
+ class Applications
9
+ require_sub __FILE__
10
+ runner_with :help, :subcommands do
11
+ subcommands
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -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