eac_tools 0.111.1 → 0.112.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 (374) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +37 -22
  3. data/eac_tools.gemspec +3 -3
  4. data/lib/eac_tools/version.rb +1 -1
  5. data/sub/avm/Gemfile +8 -0
  6. data/sub/avm/avm.gemspec +27 -0
  7. data/sub/avm/lib/avm/application_scms/base.rb +37 -0
  8. data/sub/avm/lib/avm/application_stereotypes/base.rb +29 -0
  9. data/sub/avm/lib/avm/applications/base/auto_local_source_path.rb +22 -0
  10. data/sub/avm/lib/avm/applications/base/local_instance.rb +28 -0
  11. data/sub/avm/lib/avm/applications/base/local_source.rb +31 -0
  12. data/sub/avm/lib/avm/applications/base/naming.rb +26 -0
  13. data/sub/avm/lib/avm/applications/base/organization.rb +27 -0
  14. data/sub/avm/lib/avm/applications/base/publishing.rb +39 -0
  15. data/sub/avm/lib/avm/applications/base/scm.rb +24 -0
  16. data/sub/avm/lib/avm/applications/base/stereotype.rb +29 -0
  17. data/sub/avm/lib/avm/applications/base.rb +34 -0
  18. data/sub/avm/lib/avm/data/callbacks.rb +36 -0
  19. data/sub/avm/lib/avm/data/clearer.rb +17 -0
  20. data/sub/avm/lib/avm/data/dumper.rb +137 -0
  21. data/sub/avm/lib/avm/data/loader.rb +23 -0
  22. data/sub/avm/lib/avm/data/package/base_performer.rb +36 -0
  23. data/sub/avm/lib/avm/data/package/build_directory.rb +25 -0
  24. data/sub/avm/lib/avm/data/package/clear.rb +19 -0
  25. data/sub/avm/lib/avm/data/package/dump.rb +42 -0
  26. data/sub/avm/lib/avm/data/package/load.rb +33 -0
  27. data/sub/avm/lib/avm/data/package.rb +64 -0
  28. data/sub/avm/lib/avm/data/performer.rb +45 -0
  29. data/sub/avm/lib/avm/data/rotate.rb +106 -0
  30. data/sub/avm/lib/avm/data/unit.rb +44 -0
  31. data/sub/avm/lib/avm/data/unit_with_commands.rb +48 -0
  32. data/sub/avm/lib/avm/docker/container.rb +47 -0
  33. data/sub/avm/lib/avm/docker/image.rb +70 -0
  34. data/sub/avm/lib/avm/docker/runner.rb +129 -0
  35. data/sub/avm/lib/avm/entries/auto_values/entry.rb +36 -0
  36. data/sub/avm/lib/avm/entries/auto_values/uri_entry.rb +21 -0
  37. data/sub/avm/lib/avm/entries/base/inherited_entry_value.rb +42 -0
  38. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/default_value.rb +24 -0
  39. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb +35 -0
  40. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/url_entry_value.rb +27 -0
  41. data/sub/avm/lib/avm/entries/base/uri_component_entry_value.rb +40 -0
  42. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/component_factory.rb +40 -0
  43. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb +59 -0
  44. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/path_component.rb +16 -0
  45. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/url_component.rb +22 -0
  46. data/sub/avm/lib/avm/entries/base/uri_components_entries_values.rb +23 -0
  47. data/sub/avm/lib/avm/entries/base.rb +53 -0
  48. data/sub/avm/lib/avm/entries/entry/no_context_entry.rb +21 -0
  49. data/sub/avm/lib/avm/entries/entry.rb +69 -0
  50. data/sub/avm/lib/avm/entries/jobs/base.rb +58 -0
  51. data/sub/avm/lib/avm/entries/jobs/variables_source/read_entry.rb +48 -0
  52. data/sub/avm/lib/avm/entries/jobs/variables_source.rb +13 -0
  53. data/sub/avm/lib/avm/entries/jobs/with_variables_source.rb +13 -0
  54. data/sub/avm/lib/avm/entries/keys_constants_set.rb +41 -0
  55. data/sub/avm/lib/avm/entries/uri_builder.rb +87 -0
  56. data/sub/avm/lib/avm/executables.rb +21 -0
  57. data/sub/avm/lib/avm/file_formats/base.rb +34 -0
  58. data/sub/avm/lib/avm/file_formats/file_result.rb +11 -0
  59. data/sub/avm/lib/avm/file_formats/search_formatter.rb +83 -0
  60. data/sub/avm/lib/avm/file_formats/unknown.rb +15 -0
  61. data/sub/avm/lib/avm/file_formats/utf8_assert.rb +72 -0
  62. data/sub/avm/lib/avm/files/appendable/file_content.rb +28 -0
  63. data/sub/avm/lib/avm/files/appendable/plain_directory.rb +27 -0
  64. data/sub/avm/lib/avm/files/appendable/resource_base.rb +17 -0
  65. data/sub/avm/lib/avm/files/appendable/tar_output_command.rb +27 -0
  66. data/sub/avm/lib/avm/files/appendable/templatized_directory.rb +36 -0
  67. data/sub/avm/lib/avm/files/appendable.rb +51 -0
  68. data/sub/avm/lib/avm/files/appender.rb +9 -0
  69. data/sub/avm/lib/avm/files/deploy.rb +70 -0
  70. data/sub/avm/lib/avm/files/text_replacer/gsub.rb +22 -0
  71. data/sub/avm/lib/avm/files/text_replacer.rb +29 -0
  72. data/sub/avm/lib/avm/instances/base/auto_values/data.rb +28 -0
  73. data/sub/avm/lib/avm/instances/base/auto_values/database.rb +60 -0
  74. data/sub/avm/lib/avm/instances/base/auto_values/mailer.rb +31 -0
  75. data/sub/avm/lib/avm/instances/base/auto_values/source.rb +16 -0
  76. data/sub/avm/lib/avm/instances/base/auto_values.rb +12 -0
  77. data/sub/avm/lib/avm/instances/base/dockerizable.rb +41 -0
  78. data/sub/avm/lib/avm/instances/base/entry_keys.rb +25 -0
  79. data/sub/avm/lib/avm/instances/base/install.rb +28 -0
  80. data/sub/avm/lib/avm/instances/base/processes.rb +25 -0
  81. data/sub/avm/lib/avm/instances/base/production.rb +33 -0
  82. data/sub/avm/lib/avm/instances/base/subcommand_parent.rb +23 -0
  83. data/sub/avm/lib/avm/instances/base/web.rb +15 -0
  84. data/sub/avm/lib/avm/instances/base.rb +70 -0
  85. data/sub/avm/lib/avm/instances/data/files_unit.rb +57 -0
  86. data/sub/avm/lib/avm/instances/data/loading_denied_error.rb +10 -0
  87. data/sub/avm/lib/avm/instances/data/package.rb +25 -0
  88. data/sub/avm/lib/avm/instances/data/unit.rb +36 -0
  89. data/sub/avm/lib/avm/instances/docker_image.rb +13 -0
  90. data/sub/avm/lib/avm/instances/entry_keys.rb +39 -0
  91. data/sub/avm/lib/avm/instances/ids.rb +28 -0
  92. data/sub/avm/lib/avm/instances/process.rb +29 -0
  93. data/sub/avm/lib/avm/instances/runner.rb +34 -0
  94. data/sub/avm/lib/avm/launcher/context/instance_collector.rb +44 -0
  95. data/sub/avm/lib/avm/launcher/context/instance_discovery/root_instance_paths.rb +51 -0
  96. data/sub/avm/lib/avm/launcher/context/instance_discovery.rb +53 -0
  97. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instance.rb +34 -0
  98. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instances.rb +32 -0
  99. data/sub/avm/lib/avm/launcher/context/instance_manager.rb +74 -0
  100. data/sub/avm/lib/avm/launcher/context/settings.rb +51 -0
  101. data/sub/avm/lib/avm/launcher/context.rb +83 -0
  102. data/sub/avm/lib/avm/launcher/errors/base.rb +10 -0
  103. data/sub/avm/lib/avm/launcher/errors/non_project.rb +13 -0
  104. data/sub/avm/lib/avm/launcher/instances/base/cache.rb +43 -0
  105. data/sub/avm/lib/avm/launcher/instances/base/publishing.rb +53 -0
  106. data/sub/avm/lib/avm/launcher/instances/base.rb +77 -0
  107. data/sub/avm/lib/avm/launcher/instances/error.rb +10 -0
  108. data/sub/avm/lib/avm/launcher/instances/runner_helper.rb +43 -0
  109. data/sub/avm/lib/avm/launcher/instances/settings.rb +24 -0
  110. data/sub/avm/lib/avm/launcher/paths/logical.rb +76 -0
  111. data/sub/avm/lib/avm/launcher/paths/real.rb +44 -0
  112. data/sub/avm/lib/avm/launcher/project.rb +15 -0
  113. data/sub/avm/lib/avm/launcher/publish/base.rb +44 -0
  114. data/sub/avm/lib/avm/launcher/publish/check_result.rb +64 -0
  115. data/sub/avm/lib/avm/launcher/stereotype.rb +63 -0
  116. data/sub/avm/lib/avm/patches/eac_config/entry_path.rb +44 -0
  117. data/sub/avm/lib/avm/path_string.rb +27 -0
  118. data/sub/avm/lib/avm/registry/application_scms.rb +13 -0
  119. data/sub/avm/lib/avm/registry/application_stereotypes/build_available.rb +45 -0
  120. data/sub/avm/lib/avm/registry/application_stereotypes/stereotype_builder.rb +30 -0
  121. data/sub/avm/lib/avm/registry/application_stereotypes.rb +42 -0
  122. data/sub/avm/lib/avm/registry/applications.rb +35 -0
  123. data/sub/avm/lib/avm/registry/base.rb +26 -0
  124. data/sub/avm/lib/avm/registry/config_objects.rb +15 -0
  125. data/sub/avm/lib/avm/registry/detection_error.rb +8 -0
  126. data/sub/avm/lib/avm/registry/file_formats.rb +17 -0
  127. data/sub/avm/lib/avm/registry/from_gems.rb +67 -0
  128. data/sub/avm/lib/avm/registry/instances.rb +13 -0
  129. data/sub/avm/lib/avm/registry/launcher_stereotypes.rb +8 -0
  130. data/sub/avm/lib/avm/registry/runners.rb +8 -0
  131. data/sub/avm/lib/avm/registry/scms.rb +8 -0
  132. data/sub/avm/lib/avm/registry/source_generators.rb +14 -0
  133. data/sub/avm/lib/avm/registry/sources.rb +38 -0
  134. data/sub/avm/lib/avm/registry/with_path/cache.rb +28 -0
  135. data/sub/avm/lib/avm/registry/with_path.rb +44 -0
  136. data/sub/avm/lib/avm/registry.rb +31 -0
  137. data/sub/avm/lib/avm/result.rb +80 -0
  138. data/sub/avm/lib/avm/rspec/launcher_controller.rb +91 -0
  139. data/sub/avm/lib/avm/rspec/setup/launcher.rb +18 -0
  140. data/sub/avm/lib/avm/rspec/setup/source_generator.rb +20 -0
  141. data/sub/avm/lib/avm/rspec/setup.rb +32 -0
  142. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_format_file_resource_name.rb +13 -0
  143. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_formats_with_fixtures.rb +28 -0
  144. data/sub/avm/lib/avm/rspec/shared_examples/avm_source_generated.rb +23 -0
  145. data/sub/avm/lib/avm/rspec/shared_examples/entries_values.rb +19 -0
  146. data/sub/avm/lib/avm/rspec/shared_examples/in_avm_registry.rb +9 -0
  147. data/sub/avm/lib/avm/rspec/shared_examples/not_in_avm_registry.rb +12 -0
  148. data/sub/avm/lib/avm/rspec/shared_examples/with_config.rb +9 -0
  149. data/sub/avm/lib/avm/rspec/shared_examples/with_launcher.rb +13 -0
  150. data/sub/avm/lib/avm/runner_with/file_replacer.rb +28 -0
  151. data/sub/avm/lib/avm/runner_with/filesystem_renamer.rb +99 -0
  152. data/sub/avm/lib/avm/runner_with/filesystem_traverser.rb +49 -0
  153. data/sub/avm/lib/avm/runners/base.rb +25 -0
  154. data/sub/avm/lib/avm/scms/auto_commit/file_resource_name.rb +47 -0
  155. data/sub/avm/lib/avm/scms/auto_commit/for_file.rb +79 -0
  156. data/sub/avm/lib/avm/scms/auto_commit/rules/base.rb +37 -0
  157. data/sub/avm/lib/avm/scms/auto_commit/rules/last.rb +17 -0
  158. data/sub/avm/lib/avm/scms/auto_commit/rules/manual.rb +38 -0
  159. data/sub/avm/lib/avm/scms/auto_commit/rules/new.rb +21 -0
  160. data/sub/avm/lib/avm/scms/auto_commit/rules/nth.rb +29 -0
  161. data/sub/avm/lib/avm/scms/auto_commit/rules/unique.rb +19 -0
  162. data/sub/avm/lib/avm/scms/auto_commit/rules.rb +32 -0
  163. data/sub/avm/lib/avm/scms/base/branches.rb +20 -0
  164. data/sub/avm/lib/avm/scms/base/commits.rb +32 -0
  165. data/sub/avm/lib/avm/scms/base/milestones.rb +19 -0
  166. data/sub/avm/lib/avm/scms/base/remotes.rb +20 -0
  167. data/sub/avm/lib/avm/scms/base.rb +59 -0
  168. data/sub/avm/lib/avm/scms/branch.rb +24 -0
  169. data/sub/avm/lib/avm/scms/changed_file.rb +46 -0
  170. data/sub/avm/lib/avm/scms/commit.rb +64 -0
  171. data/sub/avm/lib/avm/scms/commit_info.rb +37 -0
  172. data/sub/avm/lib/avm/scms/inflector.rb +22 -0
  173. data/sub/avm/lib/avm/scms/interval.rb +16 -0
  174. data/sub/avm/lib/avm/scms/null/commit.rb +11 -0
  175. data/sub/avm/lib/avm/scms/null.rb +16 -0
  176. data/sub/avm/lib/avm/scms/remote.rb +9 -0
  177. data/sub/avm/lib/avm/self/docker_image.rb +11 -0
  178. data/sub/avm/lib/avm/self/instance/entry_keys.rb +12 -0
  179. data/sub/avm/lib/avm/self/instance.rb +27 -0
  180. data/sub/avm/lib/avm/source_generators/base.rb +69 -0
  181. data/sub/avm/lib/avm/source_generators/option.rb +11 -0
  182. data/sub/avm/lib/avm/source_generators/option_list.rb +29 -0
  183. data/sub/avm/lib/avm/source_generators/runner.rb +55 -0
  184. data/sub/avm/lib/avm/sources/auto_commit/for_file.rb +29 -0
  185. data/sub/avm/lib/avm/sources/base/application.rb +32 -0
  186. data/sub/avm/lib/avm/sources/base/configuration.rb +89 -0
  187. data/sub/avm/lib/avm/sources/base/instance.rb +13 -0
  188. data/sub/avm/lib/avm/sources/base/locale.rb +30 -0
  189. data/sub/avm/lib/avm/sources/base/organizational.rb +30 -0
  190. data/sub/avm/lib/avm/sources/base/parent.rb +26 -0
  191. data/sub/avm/lib/avm/sources/base/stereotype.rb +16 -0
  192. data/sub/avm/lib/avm/sources/base/sub/remove.rb +36 -0
  193. data/sub/avm/lib/avm/sources/base/sub.rb +23 -0
  194. data/sub/avm/lib/avm/sources/base/subs.rb +63 -0
  195. data/sub/avm/lib/avm/sources/base/subs_paths.rb +30 -0
  196. data/sub/avm/lib/avm/sources/base/testing.rb +67 -0
  197. data/sub/avm/lib/avm/sources/base/update.rb +37 -0
  198. data/sub/avm/lib/avm/sources/base/update_sub.rb +55 -0
  199. data/sub/avm/lib/avm/sources/base/update_subs.rb +17 -0
  200. data/sub/avm/lib/avm/sources/base/version_bump.rb +26 -0
  201. data/sub/avm/lib/avm/sources/base.rb +56 -0
  202. data/sub/avm/lib/avm/sources/configuration/rubocop.rb +26 -0
  203. data/sub/avm/lib/avm/sources/configuration.rb +57 -0
  204. data/sub/avm/lib/avm/sources/issues/deliver.rb +51 -0
  205. data/sub/avm/lib/avm/sources/runner.rb +38 -0
  206. data/sub/avm/lib/avm/sources/tests/builder.rb +91 -0
  207. data/sub/avm/lib/avm/sources/tests/performer.rb +32 -0
  208. data/sub/avm/lib/avm/sources/tests/result.rb +13 -0
  209. data/sub/avm/lib/avm/sources/tests/single.rb +71 -0
  210. data/sub/avm/lib/avm/sources/update_error.rb +8 -0
  211. data/sub/avm/lib/avm/sync.rb +90 -0
  212. data/sub/avm/lib/avm/version.rb +5 -0
  213. data/sub/avm/lib/avm/version_number.rb +45 -0
  214. data/sub/avm/lib/avm/with/application_stereotype.rb +29 -0
  215. data/sub/avm/lib/avm/with/extra_subcommands.rb +41 -0
  216. data/sub/avm/lib/avm.rb +18 -0
  217. data/sub/avm/locale/en.yml +6 -0
  218. data/sub/avm/locale/pt-BR.yml +6 -0
  219. data/sub/avm/spec/lib/avm/applications/base/entries_spec.rb +29 -0
  220. data/sub/avm/spec/lib/avm/applications/base/entries_spec_files/config.yml +12 -0
  221. data/sub/avm/spec/lib/avm/applications/base_spec.rb +21 -0
  222. data/sub/avm/spec/lib/avm/applications/base_spec_fixture.yml +3 -0
  223. data/sub/avm/spec/lib/avm/file_formats/base_spec.rb +9 -0
  224. data/sub/avm/spec/lib/avm/instances/base/entries_spec.rb +78 -0
  225. data/sub/avm/spec/lib/avm/instances/base/entries_spec_files/config.yml +50 -0
  226. data/sub/avm/spec/lib/avm/instances/base_spec.rb +29 -0
  227. data/sub/avm/spec/lib/avm/launcher/context_spec.rb +98 -0
  228. data/sub/avm/spec/lib/avm/launcher/context_spec.yml +5 -0
  229. data/sub/avm/spec/lib/avm/launcher/context_spec_files/config.yml +9 -0
  230. data/sub/avm/spec/lib/avm/launcher/instances/base_spec.rb +39 -0
  231. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/config.yml +5 -0
  232. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/settings.yaml +5 -0
  233. data/sub/avm/spec/lib/avm/patches/eac_config/entry_path_spec.rb +26 -0
  234. data/sub/avm/spec/lib/avm/scms/auto_commit/file_resource_name_spec.rb +20 -0
  235. data/sub/avm/spec/lib/avm/scms/base_spec.rb +5 -0
  236. data/sub/avm/spec/lib/avm/sources/base_spec.rb +5 -0
  237. data/sub/avm/spec/lib/avm/sources/runner_spec.rb +7 -0
  238. data/sub/avm/spec/meta/rubocop_spec.rb +3 -0
  239. data/sub/avm/spec/spec_helper/launcher_context/settings.yml +6 -0
  240. data/sub/avm/spec/spec_helper.rb +7 -0
  241. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/avm-tools.gemspec +29 -0
  242. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/lib/avm/tools/version.rb +7 -0
  243. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/lib/avm/tools.rb +6 -0
  244. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/lib/ruby_gem_stub/version.rb +5 -0
  245. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/lib/ruby_gem_stub.rb +3 -0
  246. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/ruby_gem_stub.gemspec +16 -0
  247. data/sub/avm/template/avm/rspec/launcher_controller/settings.yml +1 -0
  248. data/sub/avm/template/avm/self/docker_image/Dockerfile +17 -0
  249. data/sub/avm/template/avm/self/docker_image/entrypoint.sh +12 -0
  250. data/sub/avm-eac_webapp_base0/Gemfile +8 -0
  251. data/sub/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec +24 -0
  252. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/executables.rb +23 -0
  253. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb +44 -0
  254. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css.rb +17 -0
  255. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/html.rb +42 -0
  256. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/javascript.rb +19 -0
  257. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/json.rb +23 -0
  258. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/provider.rb +17 -0
  259. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/xml.rb +23 -0
  260. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_base.rb +28 -0
  261. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_host.rb +72 -0
  262. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_path.rb +37 -0
  263. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/apache.rb +42 -0
  264. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/deploy.rb +24 -0
  265. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/deploy_info.rb +27 -0
  266. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/install.rb +24 -0
  267. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base.rb +37 -0
  268. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/appended_directories.rb +25 -0
  269. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/build.rb +45 -0
  270. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/info.rb +44 -0
  271. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/scm.rb +88 -0
  272. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/setup_files_unit.rb +53 -0
  273. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/write_on_target.rb +18 -0
  274. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy.rb +70 -0
  275. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy_info.rb +35 -0
  276. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/processes/web_server.rb +34 -0
  277. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/apache_host.rb +34 -0
  278. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/apache_path.rb +38 -0
  279. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/deploy.rb +47 -0
  280. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/deploy_info.rb +24 -0
  281. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/sources/base.rb +13 -0
  282. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +7 -0
  283. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0.rb +14 -0
  284. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec.rb +7 -0
  285. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec_files/css1.source.css +11 -0
  286. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec_files/css1.target.css +11 -0
  287. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec.rb +7 -0
  288. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.erb.source +8 -0
  289. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.erb.target +8 -0
  290. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.source +5 -0
  291. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.target +5 -0
  292. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec.rb +7 -0
  293. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec_files/javascript_code1.js.source +29 -0
  294. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec_files/javascript_code1.js.target +21 -0
  295. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec.rb +7 -0
  296. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec_files/json_code.json.source +8 -0
  297. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec_files/json_code.json.target +7 -0
  298. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec.rb +7 -0
  299. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec_files/xml_code.xml.source +11 -0
  300. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec_files/xml_code.xml.target +9 -0
  301. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/instances/base_spec.rb +11 -0
  302. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/sources/base_spec.rb +7 -0
  303. data/sub/avm-eac_webapp_base0/spec/meta/rubocop_spec.rb +3 -0
  304. data/sub/avm-eac_webapp_base0/spec/spec_helper.rb +5 -0
  305. data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/instances/apache_host/no_ssl.conf +11 -0
  306. data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/instances/apache_path/default.conf +7 -0
  307. data/sub/avm-tools/Gemfile +8 -0
  308. data/sub/avm-tools/README.textile +28 -0
  309. data/sub/avm-tools/avm-tools.gemspec +24 -0
  310. data/sub/avm-tools/exe/avm +6 -0
  311. data/sub/avm-tools/lib/avm/tools/core_ext.rb +1 -0
  312. data/sub/avm-tools/lib/avm/tools/rspec/helpers/runner.rb +19 -0
  313. data/sub/avm-tools/lib/avm/tools/rspec/setup.rb +21 -0
  314. data/sub/avm-tools/lib/avm/tools/runner/application/info.rb +34 -0
  315. data/sub/avm-tools/lib/avm/tools/runner/application.rb +21 -0
  316. data/sub/avm-tools/lib/avm/tools/runner/application_stereotypes/list.rb +29 -0
  317. data/sub/avm-tools/lib/avm/tools/runner/application_stereotypes.rb +13 -0
  318. data/sub/avm-tools/lib/avm/tools/runner/applications/list.rb +29 -0
  319. data/sub/avm-tools/lib/avm/tools/runner/applications.rb +13 -0
  320. data/sub/avm-tools/lib/avm/tools/runner/config/load_path.rb +48 -0
  321. data/sub/avm-tools/lib/avm/tools/runner/config.rb +14 -0
  322. data/sub/avm-tools/lib/avm/tools/runner/files/format.rb +46 -0
  323. data/sub/avm-tools/lib/avm/tools/runner/files/rotate.rb +28 -0
  324. data/sub/avm-tools/lib/avm/tools/runner/files.rb +14 -0
  325. data/sub/avm-tools/lib/avm/tools/runner/instance/data/clear.rb +15 -0
  326. data/sub/avm-tools/lib/avm/tools/runner/instance/data/dump.rb +17 -0
  327. data/sub/avm-tools/lib/avm/tools/runner/instance/data/load.rb +22 -0
  328. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/clear.rb +17 -0
  329. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/dump.rb +17 -0
  330. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/load.rb +22 -0
  331. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit.rb +40 -0
  332. data/sub/avm-tools/lib/avm/tools/runner/instance/data.rb +23 -0
  333. data/sub/avm-tools/lib/avm/tools/runner/instance/entry.rb +41 -0
  334. data/sub/avm-tools/lib/avm/tools/runner/instance/info.rb +35 -0
  335. data/sub/avm-tools/lib/avm/tools/runner/instance/system.rb +63 -0
  336. data/sub/avm-tools/lib/avm/tools/runner/instance.rb +10 -0
  337. data/sub/avm-tools/lib/avm/tools/runner/launcher/instances.rb +34 -0
  338. data/sub/avm-tools/lib/avm/tools/runner/launcher/projects.rb +37 -0
  339. data/sub/avm-tools/lib/avm/tools/runner/launcher/publish.rb +51 -0
  340. data/sub/avm-tools/lib/avm/tools/runner/launcher.rb +14 -0
  341. data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes/list.rb +38 -0
  342. data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes.rb +13 -0
  343. data/sub/avm-tools/lib/avm/tools/runner/self/docker.rb +12 -0
  344. data/sub/avm-tools/lib/avm/tools/runner/self/registry.rb +22 -0
  345. data/sub/avm-tools/lib/avm/tools/runner/self.rb +18 -0
  346. data/sub/avm-tools/lib/avm/tools/runner/source/auto_commit.rb +67 -0
  347. data/sub/avm-tools/lib/avm/tools/runner/source/info.rb +54 -0
  348. data/sub/avm-tools/lib/avm/tools/runner/source/issue/complete.rb +85 -0
  349. data/sub/avm-tools/lib/avm/tools/runner/source/issue/deliver.rb +32 -0
  350. data/sub/avm-tools/lib/avm/tools/runner/source/issue.rb +16 -0
  351. data/sub/avm-tools/lib/avm/tools/runner/source/sub/remove.rb +20 -0
  352. data/sub/avm-tools/lib/avm/tools/runner/source/sub.rb +25 -0
  353. data/sub/avm-tools/lib/avm/tools/runner/source/subs.rb +70 -0
  354. data/sub/avm-tools/lib/avm/tools/runner/source/test.rb +90 -0
  355. data/sub/avm-tools/lib/avm/tools/runner/source/update.rb +20 -0
  356. data/sub/avm-tools/lib/avm/tools/runner/source/version_bump.rb +78 -0
  357. data/sub/avm-tools/lib/avm/tools/runner/source.rb +13 -0
  358. data/sub/avm-tools/lib/avm/tools/runner/source_generate.rb +10 -0
  359. data/sub/avm-tools/lib/avm/tools/runner.rb +19 -0
  360. data/sub/avm-tools/lib/avm/tools/runner_with/include_exclude.rb +20 -0
  361. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_clear.rb +19 -0
  362. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb +55 -0
  363. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_load.rb +64 -0
  364. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_performer.rb +37 -0
  365. data/sub/avm-tools/lib/avm/tools/self.rb +17 -0
  366. data/sub/avm-tools/lib/avm/tools/version.rb +7 -0
  367. data/sub/avm-tools/lib/avm/tools.rb +16 -0
  368. data/sub/avm-tools/spec/lib/avm/tools/runner/files/rotate_spec.rb +71 -0
  369. data/sub/avm-tools/spec/lib/avm/tools/runner/launcher_stereotypes/list_spec.rb +15 -0
  370. data/sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb +47 -0
  371. data/sub/avm-tools/spec/lib/avm/tools/runner_spec.rb +12 -0
  372. data/sub/avm-tools/spec/meta/rubocop_spec.rb +3 -0
  373. data/sub/avm-tools/spec/spec_helper.rb +7 -0
  374. metadata +381 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d3a264ee1bc7f5b4d6f9ec631b8f62906986c70fc65f55f6a76955942d2e8346
4
- data.tar.gz: 795fb7f5c6652e6c49f06866ec0392e7abe32b227782688f7e4747d91e4c3c75
3
+ metadata.gz: 246f5eac295a386529a594fccbf071ab5a974d8bad3f485f043da469582738e6
4
+ data.tar.gz: 3e9e6cc000d899eed39e46f54dc980a9960d11cf7a081b0e3d43cb701e7dae00
5
5
  SHA512:
6
- metadata.gz: bbbd0044b9557c9ba25cbe015bd90ea8a952f7ce41961b670a6761f12f6923e1d753249c32812a976ebdbdfef1c9d2a6ef6091e5f176d7a5e5ca145f2aeeaeed
7
- data.tar.gz: c0a492e96e62b6cf7491b60098e3334717217aa8b25e3cc34bfc9967e664c65610220f238f0ba2ca306b39b5fe8dc79d85a0cf829beef5e13de8a775f7b3047a
6
+ metadata.gz: 0043cf8d05b44d4ffb410c1531174f2bceb10a5f7434ba9f016fe69edc166c2b281c9f974f9d08ed68be26cea65974451c576ceec106fdf53d49b5f4f3dd97bb
7
+ data.tar.gz: 653926c55c06cc8d42834cbd67999a2c9115c1b2cc97afc6303322bfbc7365a980cf9c3a5e7860c9690e0e095be39c54353f5d5ba235a6f1f27e208967d1c1b0
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eac_tools (0.111.1)
5
- avm (~> 0.98, >= 0.98.4)
4
+ eac_tools (0.112.0)
5
+ avm (~> 0.98, >= 0.98.5)
6
6
  avm-eac_asciidoctor_base0 (~> 0.26, >= 0.26.1)
7
7
  avm-eac_generic_base0 (~> 0.15, >= 0.15.2)
8
8
  avm-eac_github_base0 (~> 0.4)
@@ -17,11 +17,41 @@ PATH
17
17
  avm-eac_redmine_plugin_base0 (~> 0.5)
18
18
  avm-eac_ruby_base0 (~> 0.1)
19
19
  avm-eac_ruby_base1 (~> 0.39)
20
- avm-eac_webapp_base0 (~> 0.22)
20
+ avm-eac_webapp_base0 (~> 0.22, >= 0.22.1)
21
21
  avm-eac_wordpress_base0 (~> 0.3, >= 0.3.2)
22
22
  avm-git (~> 0.21, >= 0.21.2)
23
- avm-tools (~> 0.163, >= 0.163.6)
23
+ avm-tools (~> 0.164)
24
+ eac_ruby_utils (~> 0.130)
25
+
26
+ PATH
27
+ remote: sub/avm-eac_webapp_base0
28
+ specs:
29
+ avm-eac_webapp_base0 (0.22.1)
30
+ avm (~> 0.98, >= 0.98.5)
31
+ avm-eac_generic_base0 (~> 0.15, >= 0.15.2)
32
+ avm-eac_postgresql_base0 (~> 0.6)
33
+ avm-eac_ubuntu_base0 (~> 0.7)
24
34
  eac_ruby_utils (~> 0.130)
35
+ htmlbeautifier (~> 1.4, >= 1.4.3)
36
+
37
+ PATH
38
+ remote: sub/avm-tools
39
+ specs:
40
+ avm-tools (0.164.0)
41
+ avm (~> 0.98, >= 0.98.5)
42
+ eac_ruby_base0 (~> 0.19, >= 0.19.3)
43
+
44
+ PATH
45
+ remote: sub/avm
46
+ specs:
47
+ avm (0.98.5)
48
+ eac_cli (~> 0.45)
49
+ eac_config (~> 0.15)
50
+ eac_docker (~> 0.8)
51
+ eac_fs (~> 0.20)
52
+ eac_ruby_utils (~> 0.130)
53
+ eac_templates (~> 0.8, >= 0.8.3)
54
+ minitar (~> 0.12, >= 0.12.1)
25
55
 
26
56
  GEM
27
57
  remote: https://rubygems.org/
@@ -47,14 +77,6 @@ GEM
47
77
  asciidoctor (2.0.26)
48
78
  ast (2.4.3)
49
79
  attr_extras (7.1.0)
50
- avm (0.98.4)
51
- eac_cli (~> 0.45)
52
- eac_config (~> 0.15)
53
- eac_docker (~> 0.8)
54
- eac_fs (~> 0.20)
55
- eac_ruby_utils (~> 0.129)
56
- eac_templates (~> 0.8, >= 0.8.3)
57
- minitar (~> 0.12, >= 0.12.1)
58
80
  avm-eac_asciidoctor_base0 (0.26.1)
59
81
  asciidoctor (~> 2.0, >= 2.0.26)
60
82
  avm-eac_webapp_base0 (~> 0.21, >= 0.21.3)
@@ -119,13 +141,6 @@ GEM
119
141
  avm (~> 0.98, >= 0.98.2)
120
142
  eac_ruby_utils (~> 0.128, >= 0.128.6)
121
143
  eac_templates (~> 0.8, >= 0.8.3)
122
- avm-eac_webapp_base0 (0.22.0)
123
- avm (~> 0.98, >= 0.98.4)
124
- avm-eac_generic_base0 (~> 0.15, >= 0.15.2)
125
- avm-eac_postgresql_base0 (~> 0.6)
126
- avm-eac_ubuntu_base0 (~> 0.7)
127
- eac_ruby_utils (~> 0.130)
128
- htmlbeautifier (~> 1.4, >= 1.4.3)
129
144
  avm-eac_wordpress_base0 (0.3.2)
130
145
  avm (~> 0.86, >= 0.86.2)
131
146
  avm-eac_webapp_base0 (~> 0.18, >= 0.18.4)
@@ -136,9 +151,6 @@ GEM
136
151
  eac_ruby_utils (~> 0.129, >= 0.129.1)
137
152
  filesize
138
153
  git (~> 1.19, >= 1.19.1)
139
- avm-tools (0.163.6)
140
- avm (~> 0.98, >= 0.98.4)
141
- eac_ruby_base0 (~> 0.19, >= 0.19.3)
142
154
  bigdecimal (4.0.1)
143
155
  clipboard (2.0.0)
144
156
  colorize (0.8.1)
@@ -335,6 +347,9 @@ PLATFORMS
335
347
  x86_64-linux-gnu
336
348
 
337
349
  DEPENDENCIES
350
+ avm!
351
+ avm-eac_webapp_base0!
352
+ avm-tools!
338
353
  eac_ruby_gem_support (~> 0.12, >= 0.12.2)
339
354
  eac_tools!
340
355
 
data/eac_tools.gemspec CHANGED
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
16
16
 
17
17
  s.required_ruby_version = '>= 2.7.0'
18
18
 
19
- s.add_dependency 'avm', '~> 0.98', '>= 0.98.4'
19
+ s.add_dependency 'avm', '~> 0.98', '>= 0.98.5'
20
20
  s.add_dependency 'avm-eac_asciidoctor_base0', '~> 0.26', '>= 0.26.1'
21
21
  s.add_dependency 'avm-eac_generic_base0', '~> 0.15', '>= 0.15.2'
22
22
  s.add_dependency 'avm-eac_github_base0', '~> 0.4'
@@ -31,10 +31,10 @@ Gem::Specification.new do |s|
31
31
  s.add_dependency 'avm-eac_redmine_plugin_base0', '~> 0.5'
32
32
  s.add_dependency 'avm-eac_ruby_base0', '~> 0.1'
33
33
  s.add_dependency 'avm-eac_ruby_base1', '~> 0.39'
34
- s.add_dependency 'avm-eac_webapp_base0', '~> 0.22'
34
+ s.add_dependency 'avm-eac_webapp_base0', '~> 0.22', '>= 0.22.1'
35
35
  s.add_dependency 'avm-eac_wordpress_base0', '~> 0.3', '>= 0.3.2'
36
36
  s.add_dependency 'avm-git', '~> 0.21', '>= 0.21.2'
37
- s.add_dependency 'avm-tools', '~> 0.163', '>= 0.163.6'
37
+ s.add_dependency 'avm-tools', '~> 0.164'
38
38
  s.add_dependency 'eac_ruby_utils', '~> 0.130'
39
39
 
40
40
  s.add_development_dependency 'eac_ruby_gem_support', '~> 0.12', '>= 0.12.2'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacTools
4
- VERSION = '0.111.1'
4
+ VERSION = '0.112.0'
5
5
  end
data/sub/avm/Gemfile ADDED
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ gemspec
6
+
7
+ local_gemfile = File.join(File.dirname(__FILE__), 'Gemfile.local')
8
+ eval_gemfile local_gemfile if File.exist?(local_gemfile)
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
4
+
5
+ require 'avm/version'
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = 'avm'
9
+ s.version = Avm::VERSION
10
+ s.authors = ['Eduardo H. Bogoni']
11
+ s.summary = 'Ruby base library for Agora Vai! Methodology (https://avm.esquiloazul.tech).'
12
+
13
+ s.files = Dir['{lib,locale,template}/**/{*,.*}']
14
+ s.required_ruby_version = '>= 2.7'
15
+
16
+ s.add_dependency 'eac_cli', '~> 0.45'
17
+ s.add_dependency 'eac_config', '~> 0.15'
18
+ s.add_dependency 'eac_docker', '~> 0.8'
19
+ s.add_dependency 'eac_fs', '~> 0.20'
20
+ s.add_dependency 'eac_ruby_utils', '~> 0.130'
21
+ s.add_dependency 'eac_templates', '~> 0.8', '>= 0.8.3'
22
+ s.add_dependency 'minitar', '~> 0.12', '>= 0.12.1'
23
+
24
+ s.add_development_dependency 'avm-eac_ruby_base1', '~> 0.39'
25
+ s.add_development_dependency 'avm-git', '~> 0.21', '>= 0.21.2'
26
+ s.add_development_dependency 'eac_ruby_gem_support', '~> 0.12', '>= 0.12.2'
27
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module ApplicationScms
5
+ class Base
6
+ acts_as_abstract
7
+
8
+ class << self
9
+ # @return [String]
10
+ def type_name
11
+ name.gsub(/#{Regexp.quote('::ApplicationScms::Base')}$/, '').demodulize
12
+ end
13
+ end
14
+
15
+ # !method initialize(application)
16
+ # @param application [Avm::Application::Base]
17
+ common_constructor :application
18
+ delegate :type_name, to: :class
19
+
20
+ # @param path [Pathname]
21
+ # @return [Pathname]
22
+ def assert_main_at(path) # rubocop:disable Lint/UnusedMethodArgument
23
+ raise_abstract_method __method__
24
+ end
25
+
26
+ # @return [String]
27
+ def to_s
28
+ "#{type_name}[#{to_s_type_specific}]"
29
+ end
30
+
31
+ # @return [String]
32
+ def to_s_type_specific
33
+ ''
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module ApplicationStereotypes
5
+ class Base
6
+ enable_listable
7
+ lists.add_symbol :resource, :instance, :source, :source_generator
8
+ common_constructor :namespace_module, :resources do
9
+ self.resources = self.class.lists.resource.hash_keys_validate!(resources)
10
+ end
11
+
12
+ # @return [String]
13
+ def name
14
+ namespace_module.name.demodulize
15
+ end
16
+
17
+ # @return [String]
18
+ def to_s
19
+ name
20
+ end
21
+
22
+ lists.resource.each_value do |resource|
23
+ define_method "#{resource}_class" do
24
+ resources[resource]
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Applications
5
+ class Base
6
+ class AutoLocalSourcePath
7
+ acts_as_instance_method
8
+ common_constructor :application
9
+
10
+ # @return [Pathname]
11
+ def result
12
+ application.scm.assert_main_at(fs_cache.path.to_pathname)
13
+ end
14
+
15
+ # @return [String]
16
+ def fs_object_id
17
+ application.id.to_s.parameterize
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Applications
5
+ class Base
6
+ module LocalInstance
7
+ LOCAL_INSTANCE_SUFFIX = 'dev'
8
+
9
+ # @return [String]
10
+ def local_instance_id
11
+ ::Avm::Instances::Ids.build(id, local_instance_suffix)
12
+ end
13
+
14
+ # @return [String]
15
+ def local_instance_suffix
16
+ LOCAL_INSTANCE_SUFFIX
17
+ end
18
+
19
+ private
20
+
21
+ # @return [Avm::Instances::Base]
22
+ def local_instance_uncached
23
+ instance(local_instance_suffix)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Applications
5
+ class Base
6
+ module LocalSource
7
+ # @return [Pathname]
8
+ def local_source_path
9
+ user_local_source_path || auto_local_source_path
10
+ end
11
+
12
+ # @return [EacConfig::Entry]
13
+ def local_source_path_entry
14
+ ::EacConfig::Node.context.current.entry([local_instance_id, 'install', 'path'])
15
+ end
16
+
17
+ # @return [Path, nil]
18
+ def user_local_source_path
19
+ local_source_path_entry.value.if_present(&:to_pathname)
20
+ end
21
+
22
+ private
23
+
24
+ # @return [Avm::Sources::Base]
25
+ def local_source_uncached
26
+ ::Avm::Registry.sources.detect(local_source_path)
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Applications
5
+ class Base
6
+ module Naming
7
+ DEFAULT_NAME = '_Undefined_'
8
+
9
+ # @return [String]
10
+ def default_name
11
+ DEFAULT_NAME
12
+ end
13
+
14
+ # @return [String]
15
+ def name
16
+ name_from_configuration || default_name
17
+ end
18
+
19
+ # @return [String]
20
+ def name_from_configuration
21
+ entry(::Avm::Instances::EntryKeys::NAME).optional_value
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Applications
5
+ class Base
6
+ module Organization
7
+ DEFAULT_ORGANIZATION = '_undefined_'
8
+ ORGANIZATION_CONFIG_KEY = 'organization'
9
+
10
+ # @return [String]
11
+ def default_organization
12
+ DEFAULT_ORGANIZATION
13
+ end
14
+
15
+ # @return [String, nil]
16
+ def organization_by_configuration
17
+ entry(ORGANIZATION_CONFIG_KEY).optional_value
18
+ end
19
+
20
+ # @return [String]
21
+ def organization
22
+ organization_by_configuration || default_organization
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Applications
5
+ class Base
6
+ module Publishing
7
+ PUBLISHABLE_KEY = 'publishable'
8
+
9
+ def publishable?
10
+ publishable_value ? true : false
11
+ end
12
+
13
+ def stereotype_publishable?(stereotype)
14
+ return publishable? unless publishable_value.is_a?(::Hash)
15
+
16
+ parse_publishable_value(publishable_value[stereotype.stereotype_name], true)
17
+ end
18
+
19
+ private
20
+
21
+ def publishable_value
22
+ parse_publishable_value(entry(PUBLISHABLE_KEY).optional_value, false)
23
+ end
24
+
25
+ def parse_publishable_value(value, hash_to_true)
26
+ return value.with_indifferent_access if parse_publishable_value_hash?(value, hash_to_true)
27
+ return true if value.nil? || value == true
28
+ return false if value == false || value.is_a?(::EacRubyUtils::BlankNotBlank)
29
+
30
+ value ? true : false
31
+ end
32
+
33
+ def parse_publishable_value_hash?(value, hash_to_true)
34
+ !hash_to_true && value.is_a?(::Hash)
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Applications
5
+ class Base
6
+ module Scm
7
+ common_concern do
8
+ uri_components_entries_values 'scm', %w[repos_path ssh_username type]
9
+ end
10
+
11
+ # @return [Avm::ApplicationScms::Base]
12
+ def scm
13
+ @scm ||= ::Avm::Registry.application_scms.detect(self)
14
+ end
15
+
16
+ # @param value [String]
17
+ # @return [String]
18
+ def scm_repos_path_inherited_value_proc(value)
19
+ value.to_pathname.join(id).to_path
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Applications
5
+ class Base
6
+ module Stereotype
7
+ # @return [Avm::ApplicationStereotypes::Base, nil]
8
+ def stereotype_by_configuration
9
+ entry('stereotype').optional_value.if_present do |v|
10
+ ::Avm::Registry.application_stereotypes.detect(v)
11
+ end
12
+ end
13
+
14
+ # @return [Avm::ApplicationStereotypes::Base, nil]
15
+ def stereotype_by_source
16
+ ::Avm::Registry.application_stereotypes.detect_optional(local_source.class)
17
+ end
18
+
19
+ private
20
+
21
+ # @return [Avm::ApplicationStereotypes::Base]
22
+ def stereotype_uncached
23
+ stereotype_by_configuration || stereotype_by_source ||
24
+ raise("Could not find stereotype for application \"#{self}\"")
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Applications
5
+ class Base
6
+ enable_simple_cache
7
+ include ::Avm::Entries::Base
8
+
9
+ AVM_TYPE = 'Application'
10
+
11
+ class << self
12
+ # @param id [String]
13
+ # @return [Avm::Applications::Base]
14
+ def by_id(id)
15
+ new(id)
16
+ end
17
+ end
18
+
19
+ common_constructor :id do
20
+ self.id = id.to_s
21
+ end
22
+
23
+ def to_s
24
+ id
25
+ end
26
+
27
+ def instance(suffix)
28
+ stereotype.instance_class.new(self, suffix)
29
+ end
30
+
31
+ require_sub __FILE__, include_modules: true, require_mode: :kernel
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'active_support/callbacks'
4
+
5
+ module Avm
6
+ module Data
7
+ module Callbacks
8
+ common_concern do
9
+ include ::ActiveSupport::Callbacks
10
+
11
+ %i[dump load].each do |action|
12
+ define_callbacks action
13
+
14
+ %i[before after].each do |callback|
15
+ method_name = "#{callback}_#{action}"
16
+ singleton_class.class_eval do
17
+ define_method method_name do |callback_method = nil, &block|
18
+ if callback_method
19
+ set_callback action, callback, callback_method
20
+ else
21
+ set_callback action, callback, &block
22
+ end
23
+ self
24
+ end
25
+ end
26
+
27
+ define_method method_name do |callback_method = nil, &block|
28
+ singleton_class.send(method_name, callback_method, &block)
29
+ self
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Data
5
+ class Clearer < ::Avm::Data::Performer
6
+ def cannot_perform_reason
7
+ nil
8
+ end
9
+
10
+ protected
11
+
12
+ def internal_perform
13
+ data_owner.clear(*include_excludes_arguments)
14
+ end
15
+ end
16
+ end
17
+ end