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,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 Launcher
9
+ require_sub __FILE__
10
+ runner_with :help, :subcommands do
11
+ desc 'Utilities to deploy applications and libraries.'
12
+ subcommands
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/launcher/stereotype'
4
+ require 'avm/tools/core_ext'
5
+
6
+ module Avm
7
+ module Tools
8
+ class Runner
9
+ class LauncherStereotypes
10
+ class List
11
+ runner_with :help, :output do
12
+ bool_opt '-d', '--deprecated'
13
+ end
14
+
15
+ def run
16
+ infov 'Found', stereotypes.count
17
+ run_output
18
+ end
19
+
20
+ def output_content
21
+ stereotypes.map { |s| "#{s}\n" }.join
22
+ end
23
+
24
+ private
25
+
26
+ def stereotypes
27
+ (parsed.deprecated? ? deprecated_stereotypes : registry_stereotypes)
28
+ end
29
+
30
+ def registry_stereotypes
31
+ ::Avm::Registry.launcher_stereotypes.available.sort_by { |s| [s.name] }
32
+ end
33
+
34
+ def deprecated_stereotypes
35
+ ::Avm::Launcher::Stereotype.stereotypes.sort_by { |s| [s.stereotype_name] }
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ 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 LauncherStereotypes
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,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/docker/runner'
4
+
5
+ module Avm
6
+ module Tools
7
+ class Runner
8
+ class Self
9
+ class Docker < ::Avm::Docker::Runner
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/registry'
4
+ require 'avm/tools/core_ext'
5
+
6
+ module Avm
7
+ module Tools
8
+ class Runner
9
+ class Self
10
+ class Registry
11
+ runner_with :help do
12
+ desc 'Show information from registry'
13
+ end
14
+
15
+ def run
16
+ ::Avm::Registry.registries.each do |registry|
17
+ infov registry.module_suffix, registry.registered_modules.count
18
+ registry.registered_modules.each { |m| infov ' * ', m }
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/tools/core_ext'
4
+ require 'avm/self/instance'
5
+
6
+ module Avm
7
+ module Tools
8
+ class Runner
9
+ class Self
10
+ require_sub __FILE__
11
+ runner_with :help, :subcommands do
12
+ desc 'Utilities for self avm-tools.'
13
+ subcommands
14
+ end
15
+
16
+ def instance
17
+ ::Avm::Self::Instance.default
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/core_ext'
4
+ require 'avm/file_formats/search_formatter'
5
+ require 'avm/scms/auto_commit/rules'
6
+ require 'avm/sources/auto_commit/for_file'
7
+
8
+ module Avm
9
+ module Tools
10
+ class Runner
11
+ class Source < ::Avm::Sources::Runner
12
+ class AutoCommit
13
+ runner_with :help do
14
+ desc 'Auto fixup files.'
15
+ bool_opt '-d', '--dirty', 'Select dirty files.'
16
+ bool_opt '-f', '--format', 'Format files before commit.'
17
+ arg_opt '-r', '--rule', 'Apply a rule in the specified order.', repeat: true
18
+ pos_arg :files, repeat: true, optional: true
19
+ end
20
+
21
+ def run
22
+ format_files
23
+ files.each do |file|
24
+ ::Avm::Sources::AutoCommit::ForFile.new(runner_context.call(:source), file, rules)
25
+ .run
26
+ end
27
+ end
28
+
29
+ def help_extra_text
30
+ "Rules\n" + ::Avm::Scms::AutoCommit::Rules.all # rubocop:disable Style/StringConcatenation
31
+ .map { |r| " #{r.keys.join(', ')}\n" }.join
32
+ end
33
+
34
+ private
35
+
36
+ def files_uncached
37
+ (files_from_option + dirty_files).sort.uniq
38
+ end
39
+
40
+ def files_from_option
41
+ parsed.files.map { |p| p.to_pathname.expand_path }
42
+ end
43
+
44
+ def format_files
45
+ return unless parsed.format?
46
+
47
+ infom 'Formating files...'
48
+ ::Avm::FileFormats::SearchFormatter
49
+ .new(files, ::Avm::FileFormats::SearchFormatter::OPTION_APPLY => true)
50
+ .run
51
+ end
52
+
53
+ def dirty_files
54
+ return [] unless parsed.dirty?
55
+
56
+ runner_context.call(:source).scm.changed_files.map(&:absolute_path)
57
+ end
58
+
59
+ def rules
60
+ parsed.rule.map do |rule_string|
61
+ ::Avm::Scms::AutoCommit::Rules.parse(rule_string)
62
+ end
63
+ end
64
+
65
+ def select
66
+ parsed.last? ? 1 : parsed.select
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/tools/core_ext'
4
+
5
+ module Avm
6
+ module Tools
7
+ class Runner
8
+ class Source < ::Avm::Sources::Runner
9
+ class Info
10
+ SOURCE_PROPERTIES = {
11
+ path: 'Path',
12
+ application: 'Application',
13
+ class: 'Stereotype',
14
+ scm: 'SCM'
15
+ }.freeze
16
+
17
+ runner_with :help do
18
+ desc 'Show information about local project instance.'
19
+ bool_opt '-p', '--parent', 'Show the parent source.'
20
+ bool_opt '-t', '--tests', 'Show test commands.'
21
+ end
22
+
23
+ def run
24
+ show_source
25
+ show_parent
26
+ show_test_commands
27
+ end
28
+
29
+ private
30
+
31
+ def show_parent
32
+ return unless parsed.parent?
33
+
34
+ infov 'Parent', runner_context.call(:subject).parent
35
+ end
36
+
37
+ def show_source
38
+ SOURCE_PROPERTIES.each do |property, label|
39
+ infov label, runner_context.call(:subject).send(property)
40
+ end
41
+ end
42
+
43
+ def show_test_commands
44
+ return unless parsed.tests?
45
+
46
+ infov 'Test commands', runner_context.call(:subject).test_commands.count
47
+ runner_context.call(:subject).test_commands.each do |name, command|
48
+ infov " * #{name}", command
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,86 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/tools/core_ext'
4
+ require 'clipboard'
5
+
6
+ module Avm
7
+ module Tools
8
+ class Runner
9
+ class Source < ::Avm::Sources::Runner
10
+ class Issue
11
+ class Complete
12
+ runner_with :confirmation, :help do
13
+ desc 'Closes a issue in a remote repository.'
14
+ bool_opt '-f', '--uncomplete-unfail', 'Do not exit with error if issue is not ' \
15
+ 'completed or is invalid.'
16
+ arg_opt '-s', '--skip-validations', 'Does not validate conditions on <validations> ' \
17
+ '(Comma separated value).'
18
+ end
19
+
20
+ def run
21
+ return unless run_validate
22
+ return unless run_complete
23
+
24
+ clipboard_copy_tracker_message
25
+
26
+ success('Done!')
27
+ end
28
+
29
+ def help_extra_text
30
+ "Validations:\n#{doc_validations_list}"
31
+ end
32
+
33
+ def run_validate
34
+ complete.start_banner
35
+ return true if complete.valid?
36
+
37
+ uncomplete_message('Some validation did not pass')
38
+ end
39
+
40
+ def run_complete
41
+ return complete.run if confirm?('Confirm issue completion?')
42
+
43
+ uncomplete_message('Issue was not completed')
44
+ end
45
+
46
+ private
47
+
48
+ def clipboard_copy_tracker_message
49
+ ::Clipboard.copy(complete.textile_tracker_message)
50
+ infov 'Copied to clipboard', complete.textile_tracker_message
51
+ end
52
+
53
+ def complete_uncached
54
+ runner_context.call(:subject).completer(complete_issue_options)
55
+ end
56
+
57
+ def skip_validations
58
+ parsed.skip_validations.to_s.split(',').map(&:strip).compact_blank
59
+ end
60
+
61
+ def complete_issue_options
62
+ { skip_validations: skip_validations }
63
+ end
64
+
65
+ def doc_validations_list
66
+ complete.validation_keys.map { |k| " * #{k}" }.join("\n")
67
+ end
68
+
69
+ def uncomplete_unfail?
70
+ parsed.uncomplete_unfail?
71
+ end
72
+
73
+ def uncomplete_message(message) # rubocop:disable Naming/PredicateMethod
74
+ if uncomplete_unfail?
75
+ warn(message)
76
+ else
77
+ fatal_error(message)
78
+ end
79
+ false
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/tools/core_ext'
4
+ require 'avm/sources/issues/deliver'
5
+
6
+ module Avm
7
+ module Tools
8
+ class Runner
9
+ class Source < ::Avm::Sources::Runner
10
+ class Issue
11
+ class Deliver
12
+ runner_with :confirmation, :help do
13
+ desc 'Deliver a issue in a remote repository.'
14
+ end
15
+
16
+ def run
17
+ deliver.start_banner
18
+ if confirm?('Confirm issue delivery?')
19
+ deliver.run
20
+ else
21
+ fatal_error 'Issue undelivered'
22
+ end
23
+ end
24
+
25
+ private
26
+
27
+ def deliver_uncached
28
+ ::Avm::Sources::Issues::Deliver.new(runner_context.call(:subject).scm)
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/tools/core_ext'
4
+
5
+ module Avm
6
+ module Tools
7
+ class Runner
8
+ class Source < ::Avm::Sources::Runner
9
+ class Issue
10
+ require_sub __FILE__
11
+ runner_with :help, :subcommands do
12
+ desc 'Issue operations within source.'
13
+ subcommands
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/tools/core_ext'
4
+
5
+ module Avm
6
+ module Tools
7
+ class Runner
8
+ class Source < ::Avm::Sources::Runner
9
+ class Sub
10
+ class Remove
11
+ runner_with :help
12
+
13
+ def run
14
+ source_sub.remove
15
+ success "Sub[#{source_sub.sub_path}] removed"
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/tools/core_ext'
4
+
5
+ module Avm
6
+ module Tools
7
+ class Runner
8
+ class Source < ::Avm::Sources::Runner
9
+ class Sub
10
+ runner_with :help, :subcommands do
11
+ pos_arg :sub_path
12
+ subcommands
13
+ end
14
+ for_context :source_sub
15
+
16
+ private
17
+
18
+ # !method source_sub
19
+ # @return [Avm::Sources::Base::Sub]
20
+ def source_sub_uncached
21
+ source.sub(parsed.sub_path)
22
+ end
23
+
24
+ require_sub __FILE__
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/tools/core_ext'
4
+
5
+ module Avm
6
+ module Tools
7
+ class Runner
8
+ class Source < ::Avm::Sources::Runner
9
+ class Subs
10
+ PADDING = ' '
11
+
12
+ runner_with :help, :output do
13
+ desc 'Output source\'s subs.'
14
+ bool_opt '-i', '--info'
15
+ bool_opt '-R', '--recursive'
16
+ bool_opt '-t', '--tree'
17
+ end
18
+
19
+ def run
20
+ start_banner
21
+ run_output
22
+ end
23
+
24
+ def start_banner
25
+ infov 'Include PATH', runner_context.call(:subject).subs_include_path
26
+ infov 'Exclude PATH', runner_context.call(:subject).subs_exclude_path
27
+ infov 'Count', runner_context.call(:subject).subs.count
28
+ end
29
+
30
+ def output_content
31
+ b = []
32
+ runner_context.call(:subject).subs.each do |sub|
33
+ b += sub_output_content_lines(sub, 0)
34
+ end
35
+ b.map { |line| "#{line}\n" }.join
36
+ end
37
+
38
+ def sub_info_label(sub)
39
+ return '' unless parsed.info?
40
+
41
+ ' [' + { # rubocop:disable Style/StringConcatenation
42
+ 'CLASS' => sub.class.name,
43
+ 'SCM' => sub.scm.class.name
44
+ }.map { |k, v| "#{k}: #{v}" }.join(', ') + ']'
45
+ end
46
+
47
+ def sub_label(sub, level)
48
+ sub_self_label(sub, level) + sub_info_label(sub)
49
+ end
50
+
51
+ def sub_self_label(sub, level)
52
+ if parsed.tree?
53
+ (PADDING * level) + sub.relative_path.to_s
54
+ else
55
+ sub.path.relative_path_from(runner_context.call(:subject).path).to_s
56
+ end
57
+ end
58
+
59
+ def sub_output_content_lines(sub, level)
60
+ [sub_label(sub, level)] + sub_subs_output_content_lines(sub, level)
61
+ end
62
+
63
+ def sub_subs_output_content_lines(sub, level)
64
+ return [] unless parsed.recursive?
65
+
66
+ sub.subs.flat_map { |sub_sub| sub_output_content_lines(sub_sub, level + 1) }
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,93 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/tools/core_ext'
4
+ require 'avm/sources/tests/builder'
5
+
6
+ module Avm
7
+ module Tools
8
+ class Runner
9
+ class Source < ::Avm::Sources::Runner
10
+ class Test
11
+ runner_with :help do
12
+ desc 'Test local project.'
13
+ bool_opt '-a', '--all', 'Same as "--self --subs".'
14
+ bool_opt '-f', '--fail-fast', 'Abort after first failure.'
15
+ bool_opt '-m', '--main', 'Test main source.'
16
+ bool_opt '-s', '--subs', 'Test subs\' sources.'
17
+ pos_arg :source_id, repeat: true, optional: true
18
+ end
19
+
20
+ def run
21
+ reset_tested_units
22
+ start_banner
23
+ show_units_results
24
+ final_result
25
+ end
26
+
27
+ private
28
+
29
+ attr_accessor :tested_units
30
+
31
+ def failed_units
32
+ tested_units.select(&:failed?)
33
+ end
34
+
35
+ def final_result
36
+ if failed_units.any?
37
+ failed_units.each do |unit|
38
+ infov ' * Source', unit
39
+ info unit.logs.truncate_all
40
+ end
41
+ fatal_error 'Some test did not pass'
42
+ else
43
+ success 'None test failed'
44
+ end
45
+ end
46
+
47
+ def include_main?
48
+ parsed.main? || parsed.all?
49
+ end
50
+
51
+ def include_subs?
52
+ parsed.subs? || parsed.all?
53
+ end
54
+
55
+ def reset_tested_units
56
+ self.tested_units = []
57
+ end
58
+
59
+ def show_units_results
60
+ test_performer.units.each do |unit|
61
+ infov unit, unit_result(unit)
62
+ tested_units << unit
63
+ break if unit.failed? && parsed.fail_fast?
64
+ end
65
+ end
66
+
67
+ def start_banner
68
+ runner_context.call(:source_banner)
69
+ infov 'Selected units', test_performer.units.count
70
+ end
71
+
72
+ def test_builder
73
+ r = ::Avm::Sources::Tests::Builder.new(runner_context.call(:subject))
74
+ .include_main(include_main?)
75
+ .include_subs(include_subs?)
76
+ parsed.source_id.inject(r) { |a, e| a.include_id(e) }
77
+ end
78
+
79
+ def test_performer_uncached
80
+ test_builder.performer
81
+ end
82
+
83
+ def unit_result(unit)
84
+ (
85
+ [unit.result.to_label] +
86
+ %i[stdout stderr].map { |label| "#{label.to_s.upcase}: #{unit.logs[label]}" }
87
+ ).join(' | '.blue)
88
+ end
89
+ end
90
+ end
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/tools/core_ext'
4
+
5
+ module Avm
6
+ module Tools
7
+ class Runner
8
+ class Source < ::Avm::Sources::Runner
9
+ class Update
10
+ runner_with :help do
11
+ desc 'Update local project.'
12
+ end
13
+
14
+ def run
15
+ infov 'Path', runner_context.call(:subject).path
16
+ runner_context.call(:subject).update
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end