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
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'eac_docker/registry'
4
- require 'eac_ruby_utils/core_ext'
4
+ require 'eac_ruby_utils'
5
5
 
6
6
  module Avm
7
7
  module Docker
@@ -1,9 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
3
+ require 'eac_ruby_utils'
4
4
 
5
5
  module Avm
6
6
  module Docker
7
- require_sub __FILE__
8
7
  end
9
8
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'eac_config/node'
4
- require 'eac_ruby_utils/core_ext'
4
+ require 'eac_ruby_utils'
5
5
 
6
6
  module Avm
7
7
  module Entries
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/entries/uri_builder'
4
- require 'eac_ruby_utils/core_ext'
4
+ require 'eac_ruby_utils'
5
5
 
6
6
  module Avm
7
7
  module Entries
@@ -1,11 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
3
+ require 'eac_ruby_utils'
4
4
 
5
5
  module Avm
6
6
  module Entries
7
7
  module AutoValues
8
- require_sub __FILE__
9
8
  end
10
9
  end
11
10
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'avm/entries/uri_builder'
4
4
  require 'eac_config/entry_path'
5
- require 'eac_ruby_utils/core_ext'
5
+ require 'eac_ruby_utils'
6
6
 
7
7
  module Avm
8
8
  module Entries
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'avm/entries/uri_builder'
4
4
  require 'eac_config/entry_path'
5
- require 'eac_ruby_utils/core_ext'
5
+ require 'eac_ruby_utils'
6
6
 
7
7
  module Avm
8
8
  module Entries
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'avm/entries/uri_builder'
4
4
  require 'eac_config/entry_path'
5
- require 'eac_ruby_utils/core_ext'
5
+ require 'eac_ruby_utils'
6
6
 
7
7
  module Avm
8
8
  module Entries
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'avm/entries/uri_builder'
4
4
  require 'eac_config/entry_path'
5
- require 'eac_ruby_utils/core_ext'
5
+ require 'eac_ruby_utils'
6
6
 
7
7
  module Avm
8
8
  module Entries
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'avm/entries/uri_builder'
4
4
  require 'eac_config/entry_path'
5
- require 'eac_ruby_utils/core_ext'
5
+ require 'eac_ruby_utils'
6
6
 
7
7
  module Avm
8
8
  module Entries
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
3
+ require 'eac_ruby_utils'
4
4
 
5
5
  module Avm
6
6
  module Entries
@@ -2,7 +2,7 @@
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'
5
+ require 'eac_ruby_utils'
6
6
 
7
7
  module Avm
8
8
  module Entries
@@ -1,7 +1,7 @@
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'
4
+ require 'eac_ruby_utils'
5
5
 
6
6
  module Avm
7
7
  module Entries
@@ -1,7 +1,7 @@
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'
4
+ require 'eac_ruby_utils'
5
5
 
6
6
  module Avm
7
7
  module Entries
@@ -1,13 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/entries/uri_builder'
4
- require 'eac_ruby_utils/core_ext'
4
+ require 'eac_ruby_utils'
5
5
 
6
6
  module Avm
7
7
  module Entries
8
8
  module Base
9
9
  class UriComponentsEntriesValues
10
- require_sub __FILE__
11
10
  common_constructor :entries_provider_class, :prefix, :extra_fields
12
11
 
13
12
  ENTRIES_FIELDS = ::Avm::Entries::UriBuilder::ENTRIES_FIELDS + %w[url]
@@ -19,6 +18,8 @@ module Avm
19
18
  def result
20
19
  fields.map { |field| component_factory(field).setup }
21
20
  end
21
+
22
+ require_sub __FILE__, require_mode: :kernel
22
23
  end
23
24
  end
24
25
  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
+ require 'eac_ruby_utils'
5
5
  require 'avm/entries/entry'
6
6
 
7
7
  module Avm
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
3
+ require 'eac_ruby_utils'
4
4
 
5
5
  module Avm
6
6
  module Entries
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'avm/entries/auto_values/entry'
4
4
  require 'eac_config/node'
5
- require 'eac_ruby_utils/core_ext'
5
+ require 'eac_ruby_utils'
6
6
 
7
7
  module Avm
8
8
  module Entries
@@ -68,8 +68,6 @@ module Avm
68
68
 
69
69
  ::Avm::Entries::Entry::NoContextEntry.new
70
70
  end
71
-
72
- require_sub __FILE__
73
71
  end
74
72
  end
75
73
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
3
+ require 'eac_ruby_utils'
4
4
 
5
5
  module Avm
6
6
  module Entries
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
3
+ require 'eac_ruby_utils'
4
4
 
5
5
  module Avm
6
6
  module Entries
@@ -1,11 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
3
+ require 'eac_ruby_utils'
4
4
 
5
5
  module Avm
6
6
  module Entries
7
7
  module Jobs
8
- require_sub __FILE__
9
8
  end
10
9
  end
11
10
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
3
+ require 'eac_ruby_utils'
4
4
 
5
5
  module Avm
6
6
  module Entries
@@ -1,12 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
3
+ require 'eac_ruby_utils'
4
4
 
5
5
  module Avm
6
6
  module Entries
7
7
  class UriBuilder
8
- require_sub __FILE__
9
-
10
8
  FIELDS = %w[scheme user password host port path query fragment].freeze
11
9
  FIELDS_TRANSLATIONS = {
12
10
  username: :user, hostname: :host
@@ -1,9 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
3
+ require 'eac_ruby_utils'
4
4
 
5
5
  module Avm
6
6
  module Entries
7
- require_sub __FILE__
8
7
  end
9
8
  end
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/envs'
4
- require 'eac_ruby_utils/simple_cache'
3
+ require 'eac_ruby_utils'
5
4
 
6
5
  module Avm
7
6
  module Executables
@@ -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
+ require 'eac_ruby_utils'
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,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/file_formats/base'
4
- require 'eac_ruby_utils/core_ext'
4
+ require 'eac_ruby_utils'
5
5
 
6
6
  module Avm
7
7
  module FileFormats
@@ -1,9 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
3
+ require 'eac_ruby_utils'
4
4
 
5
5
  module Avm
6
6
  module FileFormats
7
- require_sub __FILE__
8
7
  end
9
8
  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