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
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'eac_docker/registry'
4
- require 'eac_ruby_utils/core_ext'
5
4
 
6
5
  module Avm
7
6
  module Docker
@@ -1,9 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
4
-
5
3
  module Avm
6
4
  module Docker
7
- require_sub __FILE__
8
5
  end
9
6
  end
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'eac_config/node'
4
- require 'eac_ruby_utils/core_ext'
5
4
 
6
5
  module Avm
7
6
  module Entries
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/entries/uri_builder'
4
- require 'eac_ruby_utils/core_ext'
5
4
 
6
5
  module Avm
7
6
  module Entries
@@ -1,11 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
4
-
5
3
  module Avm
6
4
  module Entries
7
5
  module AutoValues
8
- require_sub __FILE__
9
6
  end
10
7
  end
11
8
  end
@@ -2,7 +2,6 @@
2
2
 
3
3
  require 'avm/entries/uri_builder'
4
4
  require 'eac_config/entry_path'
5
- require 'eac_ruby_utils/core_ext'
6
5
 
7
6
  module Avm
8
7
  module Entries
@@ -2,7 +2,6 @@
2
2
 
3
3
  require 'avm/entries/uri_builder'
4
4
  require 'eac_config/entry_path'
5
- require 'eac_ruby_utils/core_ext'
6
5
 
7
6
  module Avm
8
7
  module Entries
@@ -2,7 +2,6 @@
2
2
 
3
3
  require 'avm/entries/uri_builder'
4
4
  require 'eac_config/entry_path'
5
- require 'eac_ruby_utils/core_ext'
6
5
 
7
6
  module Avm
8
7
  module Entries
@@ -2,7 +2,6 @@
2
2
 
3
3
  require 'avm/entries/uri_builder'
4
4
  require 'eac_config/entry_path'
5
- require 'eac_ruby_utils/core_ext'
6
5
 
7
6
  module Avm
8
7
  module Entries
@@ -2,7 +2,6 @@
2
2
 
3
3
  require 'avm/entries/uri_builder'
4
4
  require 'eac_config/entry_path'
5
- require 'eac_ruby_utils/core_ext'
6
5
 
7
6
  module Avm
8
7
  module Entries
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
4
-
5
3
  module Avm
6
4
  module Entries
7
5
  module Base
@@ -2,7 +2,6 @@
2
2
 
3
3
  require 'avm/entries/uri_builder'
4
4
  require 'avm/patches/eac_config/entry_path'
5
- require 'eac_ruby_utils/core_ext'
6
5
 
7
6
  module Avm
8
7
  module Entries
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/entries/base/uri_components_entries_values/generic_component'
4
- require 'eac_ruby_utils/core_ext'
5
4
 
6
5
  module Avm
7
6
  module Entries
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/entries/base/uri_components_entries_values/generic_component'
4
- require 'eac_ruby_utils/core_ext'
5
4
 
6
5
  module Avm
7
6
  module Entries
@@ -1,13 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/entries/uri_builder'
4
- require 'eac_ruby_utils/core_ext'
5
4
 
6
5
  module Avm
7
6
  module Entries
8
7
  module Base
9
8
  class UriComponentsEntriesValues
10
- require_sub __FILE__
11
9
  common_constructor :entries_provider_class, :prefix, :extra_fields
12
10
 
13
11
  ENTRIES_FIELDS = ::Avm::Entries::UriBuilder::ENTRIES_FIELDS + %w[url]
@@ -19,6 +17,8 @@ module Avm
19
17
  def result
20
18
  fields.map { |field| component_factory(field).setup }
21
19
  end
20
+
21
+ require_sub __FILE__, require_mode: :kernel
22
22
  end
23
23
  end
24
24
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'eac_config/entry_path'
4
- require 'eac_ruby_utils/core_ext'
4
+
5
5
  require 'avm/entries/entry'
6
6
 
7
7
  module Avm
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
4
-
5
3
  module Avm
6
4
  module Entries
7
5
  class Entry
@@ -2,7 +2,6 @@
2
2
 
3
3
  require 'avm/entries/auto_values/entry'
4
4
  require 'eac_config/node'
5
- require 'eac_ruby_utils/core_ext'
6
5
 
7
6
  module Avm
8
7
  module Entries
@@ -68,8 +67,6 @@ module Avm
68
67
 
69
68
  ::Avm::Entries::Entry::NoContextEntry.new
70
69
  end
71
-
72
- require_sub __FILE__
73
70
  end
74
71
  end
75
72
  end
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
4
-
5
3
  module Avm
6
4
  module Entries
7
5
  module Jobs
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
4
-
5
3
  module Avm
6
4
  module Entries
7
5
  module Jobs
@@ -1,11 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
4
-
5
3
  module Avm
6
4
  module Entries
7
5
  module Jobs
8
- require_sub __FILE__
9
6
  end
10
7
  end
11
8
  end
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
4
-
5
3
  module Avm
6
4
  module Entries
7
5
  class KeysConstantsSet
@@ -1,12 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
4
-
5
3
  module Avm
6
4
  module Entries
7
5
  class UriBuilder
8
- require_sub __FILE__
9
-
10
6
  FIELDS = %w[scheme user password host port path query fragment].freeze
11
7
  FIELDS_TRANSLATIONS = {
12
8
  username: :user, hostname: :host
@@ -1,9 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
4
-
5
3
  module Avm
6
4
  module Entries
7
- require_sub __FILE__
8
5
  end
9
6
  end
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/envs'
4
- require 'eac_ruby_utils/simple_cache'
5
-
6
3
  module Avm
7
4
  module Executables
8
5
  class << self
@@ -1,14 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/registry'
4
- require 'eac_ruby_utils/core_ext'
4
+
5
5
  require 'eac_fs/traversable'
6
6
 
7
7
  module Avm
8
8
  module FileFormats
9
9
  class SearchFormatter
10
10
  include ::EacFs::Traversable
11
- require_sub __FILE__
11
+
12
12
  enable_simple_cache
13
13
  enable_speaker
14
14
  enable_listable
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/file_formats/base'
4
- require 'eac_ruby_utils/core_ext'
5
4
 
6
5
  module Avm
7
6
  module FileFormats
@@ -1,9 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
4
-
5
3
  module Avm
6
4
  module FileFormats
7
- require_sub __FILE__
8
5
  end
9
6
  end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+ require 'avm/files/appendable/resource_base'
5
+
6
+ module Avm
7
+ module Files
8
+ module Appendable
9
+ class FileContent < ::Avm::Files::Appendable::ResourceBase
10
+ attr_reader :target_path, :content
11
+
12
+ def initialize(deploy, target_path, content)
13
+ super(deploy)
14
+ @target_path = target_path
15
+ @content = content
16
+ end
17
+
18
+ def write_on(target_dir)
19
+ target_dir.join(target_path).write(content)
20
+ end
21
+
22
+ protected
23
+
24
+ # @return [Enumerable<Symbol>]
25
+ def to_s_attributes
26
+ %i[target_path content]
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+ require 'avm/files/appendable/resource_base'
5
+
6
+ module Avm
7
+ module Files
8
+ module Appendable
9
+ class PlainDirectory < ::Avm::Files::Appendable::ResourceBase
10
+ attr_reader :source_path
11
+
12
+ def initialize(appender, source_path)
13
+ super(appender)
14
+ @source_path = source_path.to_pathname
15
+ end
16
+
17
+ def write_on(target_dir)
18
+ raise "\"#{source_path}\" is not a directory" unless source_path.directory?
19
+
20
+ ::FileUtils.cp_r("#{source_path}/.", target_dir.to_path)
21
+ end
22
+
23
+ # @return [Enumerable<Symbol>]
24
+ def to_s_attributes
25
+ [:source_path]
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Files
7
+ module Appendable
8
+ class ResourceBase
9
+ acts_as_abstract :to_s_attributes
10
+ common_constructor :appender
11
+
12
+ def to_s
13
+ v_to_s = to_s_attributes.map { |k| "#{k}: #{send(k)}" }.join(', ')
14
+ "#{self.class.name}[#{v_to_s}]"
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+ require 'eac_ruby_utils/envs'
5
+ require 'avm/files/appendable/resource_base'
6
+
7
+ module Avm
8
+ module Files
9
+ module Appendable
10
+ class TarOutputCommand < ::Avm::Files::Appendable::ResourceBase
11
+ attr_reader :command
12
+
13
+ def initialize(appender, command)
14
+ super(appender)
15
+ @command = command
16
+ end
17
+
18
+ def write_on(target_dir)
19
+ command.pipe(
20
+ ::EacRubyUtils::Envs.local.command('tar', '-xf', '-', '-C', target_dir)
21
+ ).execute!
22
+ end
23
+
24
+ # @return [Enumerable<Symbol>]
25
+ def to_s_attributes
26
+ [:command]
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+ require 'avm/files/appendable/resource_base'
5
+ require 'eac_templates/variables/directory'
6
+
7
+ module Avm
8
+ module Files
9
+ module Appendable
10
+ class TemplatizedDirectory < ::Avm::Files::Appendable::ResourceBase
11
+ common_constructor :appender, :source_path, super_args: -> { [appender] }
12
+
13
+ # @return [Object]
14
+ def applier
15
+ return source_path if source_path.respond_to?(:apply)
16
+
17
+ applier_from_path
18
+ end
19
+
20
+ # @return [EacTemplates::Variables::Directory]
21
+ def applier_from_path
22
+ raise "\"#{source_path}\" is not a directory" unless ::File.directory?(source_path)
23
+
24
+ ::EacTemplates::Variables::Directory.new(source_path)
25
+ end
26
+
27
+ def write_on(target_dir)
28
+ raise 'Variables source not set' if appender.variables_source.blank?
29
+
30
+ applier.apply(appender.variables_source, target_dir)
31
+ end
32
+
33
+ # @return [Enumerable<Symbol>]
34
+ def to_s_attributes
35
+ [:source_path]
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Files
7
+ module Appendable
8
+ require_sub __FILE__
9
+
10
+ attr_reader :variables_source
11
+
12
+ def appended
13
+ @appended ||= []
14
+ end
15
+
16
+ def append_templatized_directories(directories)
17
+ directories.each { |directory| append_templatized_directory(directory) }
18
+ self
19
+ end
20
+
21
+ def append_plain_directory(directory)
22
+ appended << ::Avm::Files::Appendable::PlainDirectory.new(self, directory)
23
+ self
24
+ end
25
+
26
+ def append_tar_output_command(tar_command)
27
+ appended << ::Avm::Files::Appendable::TarOutputCommand.new(self, tar_command)
28
+ self
29
+ end
30
+
31
+ def append_templatized_directory(directory)
32
+ appended << ::Avm::Files::Appendable::TemplatizedDirectory.new(self, directory)
33
+ self
34
+ end
35
+
36
+ def append_file_content(target_path, content)
37
+ appended << ::Avm::Files::Appendable::FileContent
38
+ .new(self, target_path, content)
39
+ self
40
+ end
41
+
42
+ def variables_source_set(source)
43
+ @variables_source = source
44
+ self
45
+ end
46
+
47
+ def write_appended_on(target_dir)
48
+ target_dir = target_dir.to_pathname
49
+ raise "\"#{target_dir}\" is not a directory" unless target_dir.directory?
50
+
51
+ appended.each { |append| append.write_on(target_dir) }
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/files/appendable'
4
+
5
+ module Avm
6
+ module Files
7
+ class Appender
8
+ include ::Avm::Files::Appendable
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'addressable'
4
+ require 'avm/files/appendable'
5
+ require 'eac_ruby_utils/core_ext'
6
+
7
+ module Avm
8
+ module Files
9
+ class Deploy
10
+ include ::Avm::Files::Appendable
11
+ enable_simple_cache
12
+
13
+ attr_reader :build_dir, :target_env, :target_path
14
+
15
+ common_constructor :target_env, :target_path
16
+
17
+ def run
18
+ on_build_dir do
19
+ copy_content_to_build_dir
20
+ mkdir_target
21
+ clear_content
22
+ send_untar_package
23
+ set_target_permission
24
+ end
25
+ end
26
+
27
+ private
28
+
29
+ def on_build_dir
30
+ @build_dir = ::Dir.mktmpdir
31
+ yield
32
+ ensure
33
+ ::FileUtils.rm_rf(@build_dir)
34
+ end
35
+
36
+ def copy_content_to_build_dir
37
+ write_appended_on(build_dir)
38
+ end
39
+
40
+ def mkdir_target
41
+ target_env.command('mkdir', '-p', target_path).execute!
42
+ end
43
+
44
+ def clear_content
45
+ target_env.command(
46
+ 'find', target_path, '-mindepth', '1', '-maxdepth', '1', '-exec', 'rm', '-rf', '{}', ';'
47
+ ).execute!
48
+ end
49
+
50
+ def send_untar_package
51
+ tar_build_command.pipe(untar_build_command).execute!
52
+ end
53
+
54
+ def set_target_permission
55
+ target_env.command('chmod', '755', target_path).execute!
56
+ end
57
+
58
+ def tar_build_command
59
+ source_env.command('tar', '-czO', '-C', build_dir, '.')
60
+ end
61
+
62
+ def untar_build_command
63
+ target_env.command('tar', '-xzf', '-', '-C', target_path)
64
+ end
65
+
66
+ def source_env
67
+ ::EacRubyUtils::Envs.local
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Files
7
+ class TextReplacer
8
+ class Gsub
9
+ common_constructor :from, :to do
10
+ self.from = from
11
+ self.to = to
12
+ end
13
+
14
+ def apply(input)
15
+ input.gsub(from, to)
16
+ end
17
+
18
+ def to_s
19
+ "\"#{from}\" => \"#{to}\""
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Files
7
+ class TextReplacer
8
+ require_sub __FILE__
9
+ enable_immutable
10
+
11
+ immutable_accessor :replacement, type: :array
12
+
13
+ def apply(input)
14
+ replacements.inject(input) { |a, e| e.apply(a) }
15
+ end
16
+
17
+ def file_apply(file) # rubocop:disable Naming/PredicateMethod
18
+ file = file.to_pathname
19
+ input = file.read
20
+ output = apply(file.read)
21
+ return false if output == input
22
+
23
+ file.write(output)
24
+ true
25
+ end
26
+
27
+ def gsub(from, to)
28
+ replacement(::Avm::Files::TextReplacer::Gsub.new(from, to))
29
+ end
30
+ end
31
+ end
32
+ end
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
4
-
5
3
  module Avm
6
4
  module Instances
7
5
  class Base
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'eac_docker/executables'
4
- require 'eac_ruby_utils/core_ext'
4
+
5
5
  require 'avm/docker/container'
6
6
 
7
7
  module Avm