eac_tools 0.86.10 → 0.86.11

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 (310) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +39 -34
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm/Gemfile +8 -0
  5. data/sub/avm/avm.gemspec +28 -0
  6. data/sub/avm/lib/avm/application_scms/base.rb +39 -0
  7. data/sub/avm/lib/avm/application_scms.rb +9 -0
  8. data/sub/avm/lib/avm/application_stereotypes/base.rb +31 -0
  9. data/sub/avm/lib/avm/application_stereotypes.rb +9 -0
  10. data/sub/avm/lib/avm/applications/base/auto_local_source_path.rb +24 -0
  11. data/sub/avm/lib/avm/applications/base/local_instance.rb +31 -0
  12. data/sub/avm/lib/avm/applications/base/local_source.rb +30 -0
  13. data/sub/avm/lib/avm/applications/base/naming.rb +28 -0
  14. data/sub/avm/lib/avm/applications/base/organization.rb +29 -0
  15. data/sub/avm/lib/avm/applications/base/publishing.rb +43 -0
  16. data/sub/avm/lib/avm/applications/base/scm.rb +27 -0
  17. data/sub/avm/lib/avm/applications/base/stereotype.rb +31 -0
  18. data/sub/avm/lib/avm/applications/base.rb +37 -0
  19. data/sub/avm/lib/avm/applications.rb +9 -0
  20. data/sub/avm/lib/avm/data/callbacks.rb +37 -0
  21. data/sub/avm/lib/avm/data/clearer.rb +20 -0
  22. data/sub/avm/lib/avm/data/dumper.rb +142 -0
  23. data/sub/avm/lib/avm/data/loader.rb +28 -0
  24. data/sub/avm/lib/avm/data/package/base_performer.rb +38 -0
  25. data/sub/avm/lib/avm/data/package/build_directory.rb +28 -0
  26. data/sub/avm/lib/avm/data/package/clear.rb +22 -0
  27. data/sub/avm/lib/avm/data/package/dump.rb +45 -0
  28. data/sub/avm/lib/avm/data/package/load.rb +36 -0
  29. data/sub/avm/lib/avm/data/package.rb +67 -0
  30. data/sub/avm/lib/avm/data/performer.rb +49 -0
  31. data/sub/avm/lib/avm/data/rotate.rb +107 -0
  32. data/sub/avm/lib/avm/data/unit.rb +49 -0
  33. data/sub/avm/lib/avm/data/unit_with_commands.rb +52 -0
  34. data/sub/avm/lib/avm/docker/container.rb +50 -0
  35. data/sub/avm/lib/avm/docker/image.rb +76 -0
  36. data/sub/avm/lib/avm/docker/runner.rb +121 -0
  37. data/sub/avm/lib/avm/docker.rb +9 -0
  38. data/sub/avm/lib/avm/entries/auto_values/entry.rb +39 -0
  39. data/sub/avm/lib/avm/entries/auto_values/uri_entry.rb +24 -0
  40. data/sub/avm/lib/avm/entries/auto_values.rb +11 -0
  41. data/sub/avm/lib/avm/entries/base/inherited_entry_value.rb +46 -0
  42. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/default_value.rb +28 -0
  43. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb +39 -0
  44. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/url_entry_value.rb +31 -0
  45. data/sub/avm/lib/avm/entries/base/uri_component_entry_value.rb +44 -0
  46. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/component_factory.rb +42 -0
  47. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb +63 -0
  48. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/path_component.rb +19 -0
  49. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/url_component.rb +28 -0
  50. data/sub/avm/lib/avm/entries/base/uri_components_entries_values.rb +25 -0
  51. data/sub/avm/lib/avm/entries/base.rb +46 -0
  52. data/sub/avm/lib/avm/entries/entry/no_context_entry.rb +23 -0
  53. data/sub/avm/lib/avm/entries/entry.rb +70 -0
  54. data/sub/avm/lib/avm/entries/jobs/base.rb +62 -0
  55. data/sub/avm/lib/avm/entries/jobs/variables_source/read_entry.rb +50 -0
  56. data/sub/avm/lib/avm/entries/jobs/variables_source.rb +15 -0
  57. data/sub/avm/lib/avm/entries/jobs/with_variables_source.rb +15 -0
  58. data/sub/avm/lib/avm/entries/jobs.rb +11 -0
  59. data/sub/avm/lib/avm/entries/keys_constants_set.rb +43 -0
  60. data/sub/avm/lib/avm/entries/uri_builder.rb +91 -0
  61. data/sub/avm/lib/avm/entries.rb +9 -0
  62. data/sub/avm/lib/avm/executables.rb +24 -0
  63. data/sub/avm/lib/avm/file_formats/base.rb +35 -0
  64. data/sub/avm/lib/avm/file_formats/file_result.rb +13 -0
  65. data/sub/avm/lib/avm/file_formats/search_formatter.rb +87 -0
  66. data/sub/avm/lib/avm/file_formats/unknown.rb +18 -0
  67. data/sub/avm/lib/avm/file_formats/utf8_assert.rb +72 -0
  68. data/sub/avm/lib/avm/file_formats.rb +9 -0
  69. data/sub/avm/lib/avm/instances/base/auto_values/data.rb +25 -0
  70. data/sub/avm/lib/avm/instances/base/auto_values/database.rb +62 -0
  71. data/sub/avm/lib/avm/instances/base/auto_values/mailer.rb +35 -0
  72. data/sub/avm/lib/avm/instances/base/auto_values/source.rb +15 -0
  73. data/sub/avm/lib/avm/instances/base/auto_values.rb +14 -0
  74. data/sub/avm/lib/avm/instances/base/dockerizable.rb +45 -0
  75. data/sub/avm/lib/avm/instances/base/entry_keys.rb +27 -0
  76. data/sub/avm/lib/avm/instances/base/install.rb +31 -0
  77. data/sub/avm/lib/avm/instances/base/processes.rb +27 -0
  78. data/sub/avm/lib/avm/instances/base/subcommand_parent.rb +25 -0
  79. data/sub/avm/lib/avm/instances/base/web.rb +16 -0
  80. data/sub/avm/lib/avm/instances/base.rb +71 -0
  81. data/sub/avm/lib/avm/instances/data/files_unit.rb +59 -0
  82. data/sub/avm/lib/avm/instances/data/package.rb +27 -0
  83. data/sub/avm/lib/avm/instances/data/unit.rb +30 -0
  84. data/sub/avm/lib/avm/instances/data.rb +11 -0
  85. data/sub/avm/lib/avm/instances/docker_image.rb +15 -0
  86. data/sub/avm/lib/avm/instances/entry_keys.rb +43 -0
  87. data/sub/avm/lib/avm/instances/ids.rb +30 -0
  88. data/sub/avm/lib/avm/instances/process.rb +31 -0
  89. data/sub/avm/lib/avm/instances/runner.rb +37 -0
  90. data/sub/avm/lib/avm/instances.rb +9 -0
  91. data/sub/avm/lib/avm/launcher/context/instance_collector.rb +46 -0
  92. data/sub/avm/lib/avm/launcher/context/instance_discovery.rb +56 -0
  93. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instance.rb +37 -0
  94. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instances.rb +35 -0
  95. data/sub/avm/lib/avm/launcher/context/instance_manager.rb +77 -0
  96. data/sub/avm/lib/avm/launcher/context/settings.rb +53 -0
  97. data/sub/avm/lib/avm/launcher/context.rb +100 -0
  98. data/sub/avm/lib/avm/launcher/errors/base.rb +10 -0
  99. data/sub/avm/lib/avm/launcher/errors/non_project.rb +15 -0
  100. data/sub/avm/lib/avm/launcher/errors.rb +11 -0
  101. data/sub/avm/lib/avm/launcher/instances/base/cache.rb +43 -0
  102. data/sub/avm/lib/avm/launcher/instances/base/publishing.rb +53 -0
  103. data/sub/avm/lib/avm/launcher/instances/base.rb +78 -0
  104. data/sub/avm/lib/avm/launcher/instances/error.rb +10 -0
  105. data/sub/avm/lib/avm/launcher/instances/runner_helper.rb +47 -0
  106. data/sub/avm/lib/avm/launcher/instances/settings.rb +26 -0
  107. data/sub/avm/lib/avm/launcher/instances.rb +11 -0
  108. data/sub/avm/lib/avm/launcher/paths/logical.rb +80 -0
  109. data/sub/avm/lib/avm/launcher/paths/real.rb +44 -0
  110. data/sub/avm/lib/avm/launcher/paths.rb +11 -0
  111. data/sub/avm/lib/avm/launcher/project.rb +17 -0
  112. data/sub/avm/lib/avm/launcher/publish/base.rb +47 -0
  113. data/sub/avm/lib/avm/launcher/publish/check_result.rb +65 -0
  114. data/sub/avm/lib/avm/launcher/publish.rb +11 -0
  115. data/sub/avm/lib/avm/launcher/stereotype.rb +63 -0
  116. data/sub/avm/lib/avm/launcher.rb +9 -0
  117. data/sub/avm/lib/avm/launcher_stereotypes.rb +9 -0
  118. data/sub/avm/lib/avm/patches/eac_config/entry_path.rb +46 -0
  119. data/sub/avm/lib/avm/path_string.rb +27 -0
  120. data/sub/avm/lib/avm/registry/application_scms.rb +15 -0
  121. data/sub/avm/lib/avm/registry/application_stereotypes/build_available.rb +49 -0
  122. data/sub/avm/lib/avm/registry/application_stereotypes/stereotype_builder.rb +33 -0
  123. data/sub/avm/lib/avm/registry/application_stereotypes.rb +52 -0
  124. data/sub/avm/lib/avm/registry/applications.rb +38 -0
  125. data/sub/avm/lib/avm/registry/config_objects.rb +18 -0
  126. data/sub/avm/lib/avm/registry/file_formats.rb +20 -0
  127. data/sub/avm/lib/avm/registry/from_gems.rb +80 -0
  128. data/sub/avm/lib/avm/registry/instances.rb +16 -0
  129. data/sub/avm/lib/avm/registry/launcher_stereotypes.rb +11 -0
  130. data/sub/avm/lib/avm/registry/runners.rb +10 -0
  131. data/sub/avm/lib/avm/registry/scms.rb +10 -0
  132. data/sub/avm/lib/avm/registry/source_generators.rb +17 -0
  133. data/sub/avm/lib/avm/registry/sources.rb +40 -0
  134. data/sub/avm/lib/avm/registry/with_path/cache.rb +31 -0
  135. data/sub/avm/lib/avm/registry/with_path.rb +49 -0
  136. data/sub/avm/lib/avm/registry.rb +35 -0
  137. data/sub/avm/lib/avm/result.rb +82 -0
  138. data/sub/avm/lib/avm/rspec/setup/launcher.rb +20 -0
  139. data/sub/avm/lib/avm/rspec/setup/source_generator.rb +22 -0
  140. data/sub/avm/lib/avm/rspec/setup.rb +35 -0
  141. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_format_file_resource_name.rb +15 -0
  142. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_formats_with_fixtures.rb +31 -0
  143. data/sub/avm/lib/avm/rspec/shared_examples/avm_source_generated.rb +23 -0
  144. data/sub/avm/lib/avm/rspec/shared_examples/entries_values.rb +23 -0
  145. data/sub/avm/lib/avm/rspec/shared_examples/in_avm_registry.rb +11 -0
  146. data/sub/avm/lib/avm/rspec/shared_examples/not_in_avm_registry.rb +14 -0
  147. data/sub/avm/lib/avm/rspec.rb +9 -0
  148. data/sub/avm/lib/avm/runners/base.rb +27 -0
  149. data/sub/avm/lib/avm/scms/auto_commit/file_resource_name.rb +39 -0
  150. data/sub/avm/lib/avm/scms/auto_commit/for_file.rb +82 -0
  151. data/sub/avm/lib/avm/scms/auto_commit/rules/base.rb +40 -0
  152. data/sub/avm/lib/avm/scms/auto_commit/rules/last.rb +19 -0
  153. data/sub/avm/lib/avm/scms/auto_commit/rules/manual.rb +40 -0
  154. data/sub/avm/lib/avm/scms/auto_commit/rules/new.rb +24 -0
  155. data/sub/avm/lib/avm/scms/auto_commit/rules/nth.rb +31 -0
  156. data/sub/avm/lib/avm/scms/auto_commit/rules/unique.rb +21 -0
  157. data/sub/avm/lib/avm/scms/auto_commit/rules.rb +36 -0
  158. data/sub/avm/lib/avm/scms/auto_commit.rb +11 -0
  159. data/sub/avm/lib/avm/scms/base/branches.rb +22 -0
  160. data/sub/avm/lib/avm/scms/base/commits.rb +34 -0
  161. data/sub/avm/lib/avm/scms/base/milestones.rb +21 -0
  162. data/sub/avm/lib/avm/scms/base/remotes.rb +22 -0
  163. data/sub/avm/lib/avm/scms/base.rb +61 -0
  164. data/sub/avm/lib/avm/scms/branch.rb +26 -0
  165. data/sub/avm/lib/avm/scms/changed_file.rb +26 -0
  166. data/sub/avm/lib/avm/scms/commit.rb +66 -0
  167. data/sub/avm/lib/avm/scms/commit_info.rb +39 -0
  168. data/sub/avm/lib/avm/scms/inflector.rb +22 -0
  169. data/sub/avm/lib/avm/scms/interval.rb +18 -0
  170. data/sub/avm/lib/avm/scms/null/commit.rb +15 -0
  171. data/sub/avm/lib/avm/scms/null.rb +21 -0
  172. data/sub/avm/lib/avm/scms/remote.rb +11 -0
  173. data/sub/avm/lib/avm/scms.rb +9 -0
  174. data/sub/avm/lib/avm/self/docker_image.rb +14 -0
  175. data/sub/avm/lib/avm/self/instance/entry_keys.rb +12 -0
  176. data/sub/avm/lib/avm/self/instance.rb +31 -0
  177. data/sub/avm/lib/avm/source_generators/base.rb +45 -0
  178. data/sub/avm/lib/avm/source_generators/option.rb +11 -0
  179. data/sub/avm/lib/avm/source_generators/option_list.rb +32 -0
  180. data/sub/avm/lib/avm/source_generators/runner.rb +58 -0
  181. data/sub/avm/lib/avm/source_generators.rb +9 -0
  182. data/sub/avm/lib/avm/sources/auto_commit/for_file.rb +31 -0
  183. data/sub/avm/lib/avm/sources/auto_commit.rb +11 -0
  184. data/sub/avm/lib/avm/sources/base/application.rb +34 -0
  185. data/sub/avm/lib/avm/sources/base/configuration.rb +92 -0
  186. data/sub/avm/lib/avm/sources/base/instance.rb +16 -0
  187. data/sub/avm/lib/avm/sources/base/locale.rb +33 -0
  188. data/sub/avm/lib/avm/sources/base/organizational.rb +32 -0
  189. data/sub/avm/lib/avm/sources/base/parent.rb +28 -0
  190. data/sub/avm/lib/avm/sources/base/stereotype.rb +18 -0
  191. data/sub/avm/lib/avm/sources/base/sub/remove.rb +38 -0
  192. data/sub/avm/lib/avm/sources/base/sub.rb +26 -0
  193. data/sub/avm/lib/avm/sources/base/subs.rb +67 -0
  194. data/sub/avm/lib/avm/sources/base/subs_paths.rb +32 -0
  195. data/sub/avm/lib/avm/sources/base/testing.rb +70 -0
  196. data/sub/avm/lib/avm/sources/base/update.rb +39 -0
  197. data/sub/avm/lib/avm/sources/base/update_sub.rb +57 -0
  198. data/sub/avm/lib/avm/sources/base/update_subs.rb +19 -0
  199. data/sub/avm/lib/avm/sources/base/version_bump.rb +29 -0
  200. data/sub/avm/lib/avm/sources/base.rb +56 -0
  201. data/sub/avm/lib/avm/sources/configuration/rubocop.rb +26 -0
  202. data/sub/avm/lib/avm/sources/configuration.rb +59 -0
  203. data/sub/avm/lib/avm/sources/issues/deliver.rb +52 -0
  204. data/sub/avm/lib/avm/sources/issues.rb +11 -0
  205. data/sub/avm/lib/avm/sources/runner.rb +40 -0
  206. data/sub/avm/lib/avm/sources/tests/builder.rb +96 -0
  207. data/sub/avm/lib/avm/sources/tests/performer.rb +35 -0
  208. data/sub/avm/lib/avm/sources/tests/result.rb +15 -0
  209. data/sub/avm/lib/avm/sources/tests/single.rb +75 -0
  210. data/sub/avm/lib/avm/sources/tests.rb +11 -0
  211. data/sub/avm/lib/avm/sources/update_error.rb +8 -0
  212. data/sub/avm/lib/avm/sources.rb +9 -0
  213. data/sub/avm/lib/avm/sync.rb +94 -0
  214. data/sub/avm/lib/avm/version.rb +5 -0
  215. data/sub/avm/lib/avm/version_number.rb +45 -0
  216. data/sub/avm/lib/avm/with/application_stereotype.rb +33 -0
  217. data/sub/avm/lib/avm/with/extra_subcommands.rb +44 -0
  218. data/sub/avm/lib/avm.rb +7 -0
  219. data/sub/avm/locale/en.yml +6 -0
  220. data/sub/avm/locale/pt-BR.yml +6 -0
  221. data/sub/avm/spec/dummy/avm-tools_stub/avm-tools.gemspec +29 -0
  222. data/sub/avm/spec/dummy/avm-tools_stub/lib/avm/tools/version.rb +7 -0
  223. data/sub/avm/spec/dummy/avm-tools_stub/lib/avm/tools.rb +6 -0
  224. data/sub/avm/spec/dummy/ruby_gem_stub/lib/ruby_gem_stub/version.rb +5 -0
  225. data/sub/avm/spec/dummy/ruby_gem_stub/lib/ruby_gem_stub.rb +3 -0
  226. data/sub/avm/spec/dummy/ruby_gem_stub/ruby_gem_stub.gemspec +16 -0
  227. data/sub/avm/spec/lib/avm/applications/base/entries_spec.rb +31 -0
  228. data/sub/avm/spec/lib/avm/applications/base/entries_spec_files/config.yml +12 -0
  229. data/sub/avm/spec/lib/avm/applications/base_spec.rb +23 -0
  230. data/sub/avm/spec/lib/avm/applications/base_spec_fixture.yml +3 -0
  231. data/sub/avm/spec/lib/avm/file_formats/base_spec.rb +11 -0
  232. data/sub/avm/spec/lib/avm/instances/base_spec.rb +107 -0
  233. data/sub/avm/spec/lib/avm/instances/base_spec_files/config.yml +50 -0
  234. data/sub/avm/spec/lib/avm/launcher/context_spec.rb +128 -0
  235. data/sub/avm/spec/lib/avm/launcher/context_spec.yml +5 -0
  236. data/sub/avm/spec/lib/avm/launcher/instances/base_spec.rb +43 -0
  237. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/avm-tools_stub/avm-tools.gemspec +29 -0
  238. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/avm-tools_stub/lib/avm/tools/version.rb +7 -0
  239. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/avm-tools_stub/lib/avm/tools.rb +6 -0
  240. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/ruby_gem_stub/lib/ruby_gem_stub/version.rb +5 -0
  241. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/ruby_gem_stub/lib/ruby_gem_stub.rb +3 -0
  242. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/ruby_gem_stub/ruby_gem_stub.gemspec +16 -0
  243. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/settings.yaml +5 -0
  244. data/sub/avm/spec/lib/avm/patches/eac_config/entry_path_spec.rb +28 -0
  245. data/sub/avm/spec/lib/avm/scms/auto_commit/file_resource_name_spec.rb +21 -0
  246. data/sub/avm/spec/lib/avm/scms/base_spec.rb +7 -0
  247. data/sub/avm/spec/lib/avm/sources/base_spec.rb +7 -0
  248. data/sub/avm/spec/lib/avm/sources/runner_spec.rb +9 -0
  249. data/sub/avm/spec/rubocop_spec.rb +3 -0
  250. data/sub/avm/spec/spec_helper/eac_launcher/settings.yml +6 -0
  251. data/sub/avm/spec/spec_helper/eac_launcher.rb +52 -0
  252. data/sub/avm/spec/spec_helper.rb +5 -0
  253. data/sub/avm/template/avm/self/docker_image/Dockerfile +17 -0
  254. data/sub/avm/template/avm/self/docker_image/entrypoint.sh +12 -0
  255. data/sub/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +27 -0
  256. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/apache_host.rb +12 -0
  257. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/database.rb +30 -0
  258. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/files.rb +22 -0
  259. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/gitolite.rb +55 -0
  260. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/install.rb +46 -0
  261. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/nodejs.rb +22 -0
  262. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/web.rb +20 -0
  263. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base.rb +59 -0
  264. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/deploy.rb +19 -0
  265. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/docker_image.rb +106 -0
  266. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb +35 -0
  267. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/project.rb +26 -0
  268. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/root.rb +21 -0
  269. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb +54 -0
  270. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api.rb +14 -0
  271. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/docker.rb +17 -0
  272. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/read.rb +27 -0
  273. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/write.rb +70 -0
  274. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page.rb +30 -0
  275. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project.rb +26 -0
  276. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project_rename.rb +56 -0
  277. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners.rb +14 -0
  278. data/sub/{avm-eac_wordpress_base0/lib/avm/eac_wordpress_base0 → avm-eac_redmine_base0/lib/avm/eac_redmine_base0}/instances.rb +1 -1
  279. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base.rb +36 -0
  280. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update.rb +120 -0
  281. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/core_update.rb +65 -0
  282. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/docker.rb +19 -0
  283. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners.rb +13 -0
  284. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources.rb +11 -0
  285. data/sub/{avm-eac_wordpress_base0/lib/avm/eac_wordpress_base0 → avm-eac_redmine_base0/lib/avm/eac_redmine_base0}/version.rb +2 -2
  286. data/sub/{avm-eac_wordpress_base0/lib/avm/eac_wordpress_base0.rb → avm-eac_redmine_base0/lib/avm/eac_redmine_base0.rb} +1 -1
  287. data/sub/avm-eac_redmine_base0/locale/en.yml +6 -0
  288. data/sub/avm-eac_redmine_base0/locale/pt-BR.yml +6 -0
  289. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec.rb +22 -0
  290. data/sub/{avm-eac_wordpress_base0/spec/lib/avm/eac_wordpress_base0/instances → avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec_files}/apache_host_spec_no_ssl_content.conf +3 -3
  291. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec.rb +26 -0
  292. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec_files/config.yml +10 -0
  293. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/install.sh.template +45 -0
  294. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/secrets.yml +8 -0
  295. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/Dockerfile.template +33 -0
  296. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_host_dockerfile +8 -0
  297. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_http_virtualhost.conf.template +10 -0
  298. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_https_virtualhost.conf.template +16 -0
  299. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_path_dockerfile +5 -0
  300. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/start.sh.template +52 -0
  301. metadata +310 -23
  302. data/sub/avm-eac_wordpress_base0/avm-eac_wordpress_base0.gemspec +0 -21
  303. data/sub/avm-eac_wordpress_base0/lib/avm/eac_wordpress_base0/instances/apache_host.rb +0 -27
  304. data/sub/avm-eac_wordpress_base0/lib/avm/eac_wordpress_base0/instances/base.rb +0 -44
  305. data/sub/avm-eac_wordpress_base0/lib/avm/eac_wordpress_base0/instances/deploy.rb +0 -12
  306. data/sub/avm-eac_wordpress_base0/spec/lib/avm/eac_wordpress_base0/instances/apache_host_spec.rb +0 -25
  307. data/sub/avm-eac_wordpress_base0/template/avm/eac_wordpress_base0/deploy/wp-config.php.template +0 -90
  308. /data/sub/{avm-eac_wordpress_base0 → avm-eac_redmine_base0}/Gemfile +0 -0
  309. /data/sub/{avm-eac_wordpress_base0 → avm-eac_redmine_base0}/spec/rubocop_spec.rb +0 -0
  310. /data/sub/{avm-eac_wordpress_base0 → avm-eac_redmine_base0}/spec/spec_helper.rb +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e6a9b023bd2381b6d46559230461be701f5cba32a448d7c77e1b7b85ad301a37
4
- data.tar.gz: e781d7770b15c965badbb070551ab2119bb01b1206fd612665dbc95be497740d
3
+ metadata.gz: c42d867b1d3a8e563bd8f2c686276276e761c304d7d5ae58db395ffa96945856
4
+ data.tar.gz: d2c47905e467c14aa4ee717385e799fc6870b4cf67016c160dc5711d18476362
5
5
  SHA512:
6
- metadata.gz: 6a2b74ed15fc9734acf72c96e36f39b20dd8ce4aa2bb38d76ff3f63cc78bac9ffdb8e6d60b7f5e5bdd8485dbb8a9d59d7ff48ddc3a95d16c0ce36f536543b947
7
- data.tar.gz: 3989e86275cee4a1e7f478c49d438e6e76ab5946647b18d2d0d9ba39dda0a486d31279f22cbbc2e91d40a806f0a0cf1a494234e79ba73f0d6e61f6df5587178e
6
+ metadata.gz: 1478e06ac5dd682c95952406730b14ca9f93feb57a3d210f0f5aa28fbfd6730b1ce06862578be19b12d78c489128f513b93e0bddc6491865d84215ed3e80fcdc
7
+ data.tar.gz: 886581a976625b50bc24477785006060e88e5755e5f0a7acc36d60e8485e7d102c0345bfc9b59e2601dd2f2d6b5cfc77d8ace5171a2000e52d3f2cb74fa1ee92
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eac_tools (0.86.10)
5
- avm (~> 0.86, >= 0.86.2)
4
+ eac_tools (0.86.11)
5
+ avm (~> 0.88)
6
6
  avm-eac_asciidoctor_base0 (~> 0.22)
7
7
  avm-eac_generic_base0 (~> 0.12, >= 0.12.2)
8
8
  avm-eac_github_base0 (~> 0.3)
@@ -13,7 +13,7 @@ PATH
13
13
  avm-eac_python_base0 (~> 0.2, >= 0.2.2)
14
14
  avm-eac_rails_base0 (~> 0.11, >= 0.11.1)
15
15
  avm-eac_rails_base1 (~> 0.10)
16
- avm-eac_redmine_base0 (~> 0.22)
16
+ avm-eac_redmine_base0 (~> 0.22, >= 0.22.1)
17
17
  avm-eac_redmine_plugin_base0 (~> 0.4, >= 0.4.1)
18
18
  avm-eac_ruby_base1 (~> 0.33, >= 0.33.1)
19
19
  avm-eac_webapp_base0 (~> 0.18, >= 0.18.4)
@@ -23,12 +23,30 @@ PATH
23
23
  eac_ruby_utils (~> 0.121)
24
24
 
25
25
  PATH
26
- remote: sub/avm-eac_wordpress_base0
26
+ remote: sub/avm-eac_redmine_base0
27
27
  specs:
28
- avm-eac_wordpress_base0 (0.3.2)
29
- avm (~> 0.86, >= 0.86.2)
30
- avm-eac_webapp_base0 (~> 0.18, >= 0.18.4)
28
+ avm-eac_redmine_base0 (0.22.1)
29
+ avm (~> 0.88)
30
+ avm-eac_generic_base0 (~> 0.12, >= 0.12.2)
31
+ avm-eac_rails_base1 (~> 0.10)
32
+ avm-eac_ubuntu_base0 (~> 0.5, >= 0.5.1)
33
+ curb (~> 0.9, >= 0.9.11)
34
+ eac_fs (~> 0.17)
35
+ eac_rest (~> 0.12)
36
+ eac_ruby_utils (~> 0.121)
37
+
38
+ PATH
39
+ remote: sub/avm
40
+ specs:
41
+ avm (0.88.0)
42
+ eac_cli (~> 0.40, >= 0.40.1)
43
+ eac_config (~> 0.14, >= 0.14.2)
44
+ eac_docker (~> 0.7)
45
+ eac_fs (~> 0.17)
31
46
  eac_ruby_utils (~> 0.121)
47
+ eac_templates (~> 0.5, >= 0.5.1)
48
+ minitar (~> 0.9)
49
+ ruby-progressbar (~> 1.13)
32
50
 
33
51
  GEM
34
52
  remote: https://rubygems.org/
@@ -48,17 +66,8 @@ GEM
48
66
  eac_ruby_utils (~> 0.119, >= 0.119.2)
49
67
  nokogiri (~> 1.15, >= 1.15.4)
50
68
  ofx-parser (~> 1.1)
51
- asciidoctor (2.0.21)
69
+ asciidoctor (2.0.22)
52
70
  ast (2.4.2)
53
- avm (0.86.2)
54
- eac_cli (~> 0.40, >= 0.40.1)
55
- eac_config (~> 0.14, >= 0.14.2)
56
- eac_docker (~> 0.7)
57
- eac_fs (~> 0.17)
58
- eac_ruby_utils (~> 0.121)
59
- eac_templates (~> 0.5, >= 0.5.1)
60
- minitar (~> 0.9)
61
- ruby-progressbar (~> 1.13)
62
71
  avm-eac_asciidoctor_base0 (0.22.0)
63
72
  asciidoctor (~> 2.0, >= 2.0.20)
64
73
  avm-eac_webapp_base0 (~> 0.18, >= 0.18.3)
@@ -98,15 +107,6 @@ GEM
98
107
  avm-eac_ruby_base1 (~> 0.33)
99
108
  avm-eac_webapp_base0 (~> 0.18, >= 0.18.2)
100
109
  eac_ruby_utils (~> 0.119, >= 0.119.2)
101
- avm-eac_redmine_base0 (0.22.0)
102
- avm (~> 0.81)
103
- avm-eac_generic_base0 (~> 0.12, >= 0.12.1)
104
- avm-eac_rails_base1 (~> 0.10)
105
- avm-eac_ubuntu_base0 (~> 0.5)
106
- curb (~> 0.9, >= 0.9.11)
107
- eac_fs (~> 0.16)
108
- eac_rest (~> 0.10)
109
- eac_ruby_utils (~> 0.119, >= 0.119.2)
110
110
  avm-eac_redmine_plugin_base0 (0.4.1)
111
111
  avm-eac_ruby_base1 (~> 0.33, >= 0.33.1)
112
112
  eac_ruby_utils (~> 0.121)
@@ -128,6 +128,10 @@ GEM
128
128
  avm-files (~> 0.7)
129
129
  eac_ruby_utils (~> 0.121)
130
130
  htmlbeautifier (~> 1.4, >= 1.4.3)
131
+ avm-eac_wordpress_base0 (0.3.2)
132
+ avm (~> 0.86, >= 0.86.2)
133
+ avm-eac_webapp_base0 (~> 0.18, >= 0.18.4)
134
+ eac_ruby_utils (~> 0.121)
131
135
  avm-files (0.7.0)
132
136
  avm (~> 0.84, >= 0.84.2)
133
137
  eac_cli (~> 0.40)
@@ -222,15 +226,15 @@ GEM
222
226
  rchardet (~> 1.8)
223
227
  hpricot (0.8.6)
224
228
  htmlbeautifier (1.4.3)
225
- i18n (1.14.1)
229
+ i18n (1.14.4)
226
230
  concurrent-ruby (~> 1.0)
227
231
  json (2.7.1)
228
232
  language_server-protocol (3.17.0.3)
229
233
  minitar (0.9)
230
- minitest (5.22.2)
234
+ minitest (5.22.3)
231
235
  multipart-post (2.4.0)
232
236
  net-ssh (4.2.0)
233
- nokogiri (1.15.5-x86_64-linux)
237
+ nokogiri (1.15.6-x86_64-linux)
234
238
  racc (~> 1.4)
235
239
  ofx-parser (1.1.0)
236
240
  hpricot (>= 0.6)
@@ -245,7 +249,7 @@ GEM
245
249
  tty-color (~> 0.5)
246
250
  public_suffix (5.0.4)
247
251
  racc (1.7.3)
248
- rack (3.0.9.1)
252
+ rack (3.0.10)
249
253
  rainbow (3.1.1)
250
254
  rchardet (1.8.0)
251
255
  regexp_parser (2.9.0)
@@ -264,7 +268,7 @@ GEM
264
268
  diff-lcs (>= 1.2.0, < 2.0)
265
269
  rspec-support (~> 3.13.0)
266
270
  rspec-support (3.13.1)
267
- rubocop (1.61.0)
271
+ rubocop (1.62.1)
268
272
  json (~> 2.3)
269
273
  language_server-protocol (>= 3.17.0)
270
274
  parallel (~> 1.10)
@@ -272,10 +276,10 @@ GEM
272
276
  rainbow (>= 2.2.2, < 4.0)
273
277
  regexp_parser (>= 1.8, < 3.0)
274
278
  rexml (>= 3.2.5, < 4.0)
275
- rubocop-ast (>= 1.30.0, < 2.0)
279
+ rubocop-ast (>= 1.31.1, < 2.0)
276
280
  ruby-progressbar (~> 1.7)
277
281
  unicode-display_width (>= 2.4.0, < 3.0)
278
- rubocop-ast (1.31.1)
282
+ rubocop-ast (1.31.2)
279
283
  parser (>= 3.3.0.4)
280
284
  rubocop-capybara (2.20.0)
281
285
  rubocop (~> 1.41)
@@ -315,7 +319,8 @@ PLATFORMS
315
319
  x86_64-linux
316
320
 
317
321
  DEPENDENCIES
318
- avm-eac_wordpress_base0!
322
+ avm!
323
+ avm-eac_redmine_base0!
319
324
  eac_ruby_gem_support (~> 0.10)
320
325
  eac_tools!
321
326
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacTools
4
- VERSION = '0.86.10'
4
+ VERSION = '0.86.11'
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,28 @@
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.40', '>= 0.40.1'
17
+ s.add_dependency 'eac_config', '~> 0.14', '>= 0.14.2'
18
+ s.add_dependency 'eac_docker', '~> 0.7'
19
+ s.add_dependency 'eac_fs', '~> 0.17'
20
+ s.add_dependency 'eac_ruby_utils', '~> 0.121'
21
+ s.add_dependency 'eac_templates', '~> 0.5', '>= 0.5.1'
22
+ s.add_dependency 'minitar', '~> 0.9'
23
+ s.add_dependency 'ruby-progressbar', '~> 1.13'
24
+
25
+ s.add_development_dependency 'avm-eac_ruby_base1', '~> 0.33', '>= 0.33.1'
26
+ s.add_development_dependency 'avm-git', '~> 0.17'
27
+ s.add_development_dependency 'eac_ruby_gem_support', '~> 0.10'
28
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module ApplicationScms
7
+ class Base
8
+ acts_as_abstract
9
+
10
+ class << self
11
+ # @return [String]
12
+ def type_name
13
+ name.gsub(/#{Regexp.quote('::ApplicationScms::Base')}$/, '').demodulize
14
+ end
15
+ end
16
+
17
+ # !method initialize(application)
18
+ # @param application [Avm::Application::Base]
19
+ common_constructor :application
20
+ delegate :type_name, to: :class
21
+
22
+ # @param path [Pathname]
23
+ # @return [Pathname]
24
+ def assert_main_at(path) # rubocop:disable Lint/UnusedMethodArgument
25
+ raise_abstract_method __method__
26
+ end
27
+
28
+ # @return [String]
29
+ def to_s
30
+ "#{type_name}[#{to_s_type_specific}]"
31
+ end
32
+
33
+ # @return [String]
34
+ def to_s_type_specific
35
+ ''
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module ApplicationScms
7
+ require_sub __FILE__
8
+ end
9
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module ApplicationStereotypes
7
+ class Base
8
+ enable_listable
9
+ lists.add_symbol :resource, :instance, :source, :source_generator
10
+ common_constructor :namespace_module, :resources do
11
+ self.resources = self.class.lists.resource.hash_keys_validate!(resources)
12
+ end
13
+
14
+ # @return [String]
15
+ def name
16
+ namespace_module.name.demodulize
17
+ end
18
+
19
+ # @return [String]
20
+ def to_s
21
+ name
22
+ end
23
+
24
+ lists.resource.each_value do |resource|
25
+ define_method "#{resource}_class" do
26
+ resources[resource]
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module ApplicationStereotypes
7
+ require_sub __FILE__
8
+ end
9
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_fs/core_ext'
4
+
5
+ module Avm
6
+ module Applications
7
+ class Base
8
+ class AutoLocalSourcePath
9
+ acts_as_instance_method
10
+ common_constructor :application
11
+
12
+ # @return [Pathname]
13
+ def result
14
+ application.scm.assert_main_at(fs_cache.path.to_pathname)
15
+ end
16
+
17
+ # @return [String]
18
+ def fs_object_id
19
+ application.id.to_s.parameterize
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/instances/ids'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Applications
8
+ class Base
9
+ module LocalInstance
10
+ LOCAL_INSTANCE_SUFFIX = 'dev'
11
+
12
+ # @return [String]
13
+ def local_instance_id
14
+ ::Avm::Instances::Ids.build(id, local_instance_suffix)
15
+ end
16
+
17
+ # @return [String]
18
+ def local_instance_suffix
19
+ LOCAL_INSTANCE_SUFFIX
20
+ end
21
+
22
+ private
23
+
24
+ # @return [Avm::Instances::Base]
25
+ def local_instance_uncached
26
+ instance(local_instance_suffix)
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/registry'
4
+ require 'eac_config/node'
5
+ require 'eac_ruby_utils/core_ext'
6
+
7
+ module Avm
8
+ module Applications
9
+ class Base
10
+ module LocalSource
11
+ # @return [Pathname]
12
+ def local_source_path
13
+ (local_source_path_entry.value || auto_local_source_path).to_pathname
14
+ end
15
+
16
+ # @return [EacConfig::Entry]
17
+ def local_source_path_entry
18
+ ::EacConfig::Node.context.current.entry([local_instance_id, 'install', 'path'])
19
+ end
20
+
21
+ private
22
+
23
+ # @return [Avm::Sources::Base]
24
+ def local_source_uncached
25
+ ::Avm::Registry.sources.detect(local_source_path)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Applications
7
+ class Base
8
+ module Naming
9
+ DEFAULT_NAME = '_Undefined_'
10
+
11
+ # @return [String]
12
+ def default_name
13
+ DEFAULT_NAME
14
+ end
15
+
16
+ # @return [String]
17
+ def name
18
+ name_from_configuration || default_name
19
+ end
20
+
21
+ # @return [String]
22
+ def name_from_configuration
23
+ entry(::Avm::Instances::EntryKeys::NAME).optional_value
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/registry'
4
+
5
+ module Avm
6
+ module Applications
7
+ class Base
8
+ module Organization
9
+ DEFAULT_ORGANIZATION = '_undefined_'
10
+ ORGANIZATION_CONFIG_KEY = 'organization'
11
+
12
+ # @return [String]
13
+ def default_organization
14
+ DEFAULT_ORGANIZATION
15
+ end
16
+
17
+ # @return [String, nil]
18
+ def organization_by_configuration
19
+ entry(ORGANIZATION_CONFIG_KEY).optional_value
20
+ end
21
+
22
+ # @return [String]
23
+ def organization
24
+ organization_by_configuration || default_organization
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/registry'
4
+ require 'eac_ruby_utils/blank_not_blank'
5
+ require 'eac_ruby_utils/core_ext'
6
+
7
+ module Avm
8
+ module Applications
9
+ class Base
10
+ module Publishing
11
+ PUBLISHABLE_KEY = 'publishable'
12
+
13
+ def publishable?
14
+ publishable_value ? true : false
15
+ end
16
+
17
+ def stereotype_publishable?(stereotype)
18
+ return publishable? unless publishable_value.is_a?(::Hash)
19
+
20
+ parse_publishable_value(publishable_value[stereotype.stereotype_name], true)
21
+ end
22
+
23
+ private
24
+
25
+ def publishable_value
26
+ parse_publishable_value(entry(PUBLISHABLE_KEY).optional_value, false)
27
+ end
28
+
29
+ def parse_publishable_value(value, hash_to_true)
30
+ return value.with_indifferent_access if parse_publishable_value_hash?(value, hash_to_true)
31
+ return true if value.nil? || value == true
32
+ return false if value == false || value.is_a?(::EacRubyUtils::BlankNotBlank)
33
+
34
+ value ? true : false
35
+ end
36
+
37
+ def parse_publishable_value_hash?(value, hash_to_true)
38
+ !hash_to_true && value.is_a?(::Hash)
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/registry'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Applications
8
+ class Base
9
+ module Scm
10
+ common_concern do
11
+ uri_components_entries_values 'scm', %w[repos_path ssh_username type]
12
+ end
13
+
14
+ # @return [Avm::ApplicationScms::Base]
15
+ def scm
16
+ @scm ||= ::Avm::Registry.application_scms.detect(self)
17
+ end
18
+
19
+ # @param value [String]
20
+ # @return [String]
21
+ def scm_repos_path_inherited_value_proc(value)
22
+ value.to_pathname.join(id).to_path
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/registry'
4
+
5
+ module Avm
6
+ module Applications
7
+ class Base
8
+ module Stereotype
9
+ # @return [Avm::ApplicationStereotypes::Base, nil]
10
+ def stereotype_by_configuration
11
+ entry('stereotype').optional_value.if_present do |v|
12
+ ::Avm::Registry.application_stereotypes.detect(v)
13
+ end
14
+ end
15
+
16
+ # @return [Avm::ApplicationStereotypes::Base, nil]
17
+ def stereotype_by_source
18
+ ::Avm::Registry.application_stereotypes.detect_optional(local_source.class)
19
+ end
20
+
21
+ private
22
+
23
+ # @return [Avm::ApplicationStereotypes::Base]
24
+ def stereotype_uncached
25
+ stereotype_by_configuration || stereotype_by_source ||
26
+ raise("Could not find stereotype for application \"#{self}\"")
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/entries/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Applications
8
+ class Base
9
+ enable_simple_cache
10
+ include ::Avm::Entries::Base
11
+
12
+ AVM_TYPE = 'Application'
13
+
14
+ class << self
15
+ # @param id [String]
16
+ # @return [Avm::Applications::Base]
17
+ def by_id(id)
18
+ new(id)
19
+ end
20
+ end
21
+
22
+ common_constructor :id do
23
+ self.id = id.to_s
24
+ end
25
+
26
+ def to_s
27
+ id
28
+ end
29
+
30
+ def instance(suffix)
31
+ stereotype.instance_class.new(self, suffix)
32
+ end
33
+
34
+ require_sub __FILE__, include_modules: true
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Applications
7
+ require_sub __FILE__
8
+ end
9
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'active_support/callbacks'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Data
8
+ module Callbacks
9
+ common_concern do
10
+ include ::ActiveSupport::Callbacks
11
+
12
+ %i[dump load].each do |action|
13
+ define_callbacks action
14
+
15
+ %i[before after].each do |callback|
16
+ method_name = "#{callback}_#{action}"
17
+ singleton_class.class_eval do
18
+ define_method method_name do |callback_method = nil, &block|
19
+ if callback_method
20
+ set_callback action, callback, callback_method
21
+ else
22
+ set_callback action, callback, &block
23
+ end
24
+ self
25
+ end
26
+ end
27
+
28
+ define_method method_name do |callback_method = nil, &block|
29
+ singleton_class.send(method_name, callback_method, &block)
30
+ self
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/data/performer'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Data
8
+ class Clearer < ::Avm::Data::Performer
9
+ def cannot_perform_reason
10
+ nil
11
+ end
12
+
13
+ protected
14
+
15
+ def internal_perform
16
+ data_owner.clear(*include_excludes_arguments)
17
+ end
18
+ end
19
+ end
20
+ end