eac_tools 0.103.0 → 0.104.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 (473) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +42 -48
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm/avm.gemspec +28 -0
  5. data/sub/avm/lib/avm/application_scms/base.rb +37 -0
  6. data/sub/avm/lib/avm/application_scms.rb +6 -0
  7. data/sub/avm/lib/avm/application_stereotypes/base.rb +29 -0
  8. data/sub/avm/lib/avm/application_stereotypes.rb +6 -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 +33 -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/applications.rb +6 -0
  19. data/sub/avm/lib/avm/data/callbacks.rb +36 -0
  20. data/sub/avm/lib/avm/data/clearer.rb +17 -0
  21. data/sub/avm/lib/avm/data/dumper.rb +137 -0
  22. data/sub/avm/lib/avm/data/loader.rb +23 -0
  23. data/sub/avm/lib/avm/data/package/base_performer.rb +36 -0
  24. data/sub/avm/lib/avm/data/package/build_directory.rb +25 -0
  25. data/sub/avm/lib/avm/data/package/clear.rb +19 -0
  26. data/sub/avm/lib/avm/data/package/dump.rb +42 -0
  27. data/sub/avm/lib/avm/data/package/load.rb +33 -0
  28. data/sub/avm/lib/avm/data/package.rb +64 -0
  29. data/sub/avm/lib/avm/data/performer.rb +45 -0
  30. data/sub/avm/lib/avm/data/rotate.rb +106 -0
  31. data/sub/avm/lib/avm/data/unit.rb +44 -0
  32. data/sub/avm/lib/avm/data/unit_with_commands.rb +48 -0
  33. data/sub/avm/lib/avm/docker/container.rb +49 -0
  34. data/sub/avm/lib/avm/docker/image.rb +73 -0
  35. data/sub/avm/lib/avm/docker/runner.rb +131 -0
  36. data/sub/avm/lib/avm/docker.rb +6 -0
  37. data/sub/avm/lib/avm/entries/auto_values/entry.rb +38 -0
  38. data/sub/avm/lib/avm/entries/auto_values/uri_entry.rb +21 -0
  39. data/sub/avm/lib/avm/entries/auto_values.rb +8 -0
  40. data/sub/avm/lib/avm/entries/base/inherited_entry_value.rb +44 -0
  41. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/default_value.rb +26 -0
  42. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb +37 -0
  43. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/url_entry_value.rb +29 -0
  44. data/sub/avm/lib/avm/entries/base/uri_component_entry_value.rb +42 -0
  45. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/component_factory.rb +40 -0
  46. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb +59 -0
  47. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/path_component.rb +16 -0
  48. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/url_component.rb +24 -0
  49. data/sub/avm/lib/avm/entries/base/uri_components_entries_values.rb +23 -0
  50. data/sub/avm/lib/avm/entries/base.rb +55 -0
  51. data/sub/avm/lib/avm/entries/entry/no_context_entry.rb +21 -0
  52. data/sub/avm/lib/avm/entries/entry.rb +71 -0
  53. data/sub/avm/lib/avm/entries/jobs/base.rb +60 -0
  54. data/sub/avm/lib/avm/entries/jobs/variables_source/read_entry.rb +48 -0
  55. data/sub/avm/lib/avm/entries/jobs/variables_source.rb +13 -0
  56. data/sub/avm/lib/avm/entries/jobs/with_variables_source.rb +13 -0
  57. data/sub/avm/lib/avm/entries/jobs.rb +8 -0
  58. data/sub/avm/lib/avm/entries/keys_constants_set.rb +41 -0
  59. data/sub/avm/lib/avm/entries/uri_builder.rb +87 -0
  60. data/sub/avm/lib/avm/entries.rb +6 -0
  61. data/sub/avm/lib/avm/executables.rb +21 -0
  62. data/sub/avm/lib/avm/file_formats/base.rb +34 -0
  63. data/sub/avm/lib/avm/file_formats/file_result.rb +11 -0
  64. data/sub/avm/lib/avm/file_formats/search_formatter.rb +83 -0
  65. data/sub/avm/lib/avm/file_formats/unknown.rb +15 -0
  66. data/sub/avm/lib/avm/file_formats/utf8_assert.rb +70 -0
  67. data/sub/avm/lib/avm/file_formats.rb +6 -0
  68. data/sub/avm/lib/avm/files/appendable/file_content.rb +30 -0
  69. data/sub/avm/lib/avm/files/appendable/plain_directory.rb +29 -0
  70. data/sub/avm/lib/avm/files/appendable/resource_base.rb +19 -0
  71. data/sub/avm/lib/avm/files/appendable/tar_output_command.rb +30 -0
  72. data/sub/avm/lib/avm/files/appendable/templatized_directory.rb +40 -0
  73. data/sub/avm/lib/avm/files/appendable.rb +55 -0
  74. data/sub/avm/lib/avm/files/appender.rb +9 -0
  75. data/sub/avm/lib/avm/files/deploy.rb +72 -0
  76. data/sub/avm/lib/avm/files/text_replacer/gsub.rb +24 -0
  77. data/sub/avm/lib/avm/files/text_replacer.rb +32 -0
  78. data/sub/avm/lib/avm/instances/base/auto_values/data.rb +28 -0
  79. data/sub/avm/lib/avm/instances/base/auto_values/database.rb +60 -0
  80. data/sub/avm/lib/avm/instances/base/auto_values/mailer.rb +31 -0
  81. data/sub/avm/lib/avm/instances/base/auto_values/source.rb +16 -0
  82. data/sub/avm/lib/avm/instances/base/auto_values.rb +12 -0
  83. data/sub/avm/lib/avm/instances/base/dockerizable.rb +43 -0
  84. data/sub/avm/lib/avm/instances/base/entry_keys.rb +25 -0
  85. data/sub/avm/lib/avm/instances/base/install.rb +28 -0
  86. data/sub/avm/lib/avm/instances/base/processes.rb +25 -0
  87. data/sub/avm/lib/avm/instances/base/production.rb +33 -0
  88. data/sub/avm/lib/avm/instances/base/subcommand_parent.rb +25 -0
  89. data/sub/avm/lib/avm/instances/base/web.rb +15 -0
  90. data/sub/avm/lib/avm/instances/base.rb +70 -0
  91. data/sub/avm/lib/avm/instances/data/files_unit.rb +57 -0
  92. data/sub/avm/lib/avm/instances/data/loading_denied_error.rb +10 -0
  93. data/sub/avm/lib/avm/instances/data/package.rb +25 -0
  94. data/sub/avm/lib/avm/instances/data/unit.rb +36 -0
  95. data/sub/avm/lib/avm/instances/data.rb +8 -0
  96. data/sub/avm/lib/avm/instances/docker_image.rb +13 -0
  97. data/sub/avm/lib/avm/instances/entry_keys.rb +39 -0
  98. data/sub/avm/lib/avm/instances/ids.rb +28 -0
  99. data/sub/avm/lib/avm/instances/process.rb +29 -0
  100. data/sub/avm/lib/avm/instances/runner.rb +36 -0
  101. data/sub/avm/lib/avm/instances.rb +6 -0
  102. data/sub/avm/lib/avm/launcher/context/instance_collector.rb +44 -0
  103. data/sub/avm/lib/avm/launcher/context/instance_discovery/root_instance_paths.rb +51 -0
  104. data/sub/avm/lib/avm/launcher/context/instance_discovery.rb +53 -0
  105. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instance.rb +34 -0
  106. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instances.rb +32 -0
  107. data/sub/avm/lib/avm/launcher/context/instance_manager.rb +74 -0
  108. data/sub/avm/lib/avm/launcher/context/settings.rb +51 -0
  109. data/sub/avm/lib/avm/launcher/context.rb +85 -0
  110. data/sub/avm/lib/avm/launcher/errors/base.rb +10 -0
  111. data/sub/avm/lib/avm/launcher/errors/non_project.rb +13 -0
  112. data/sub/avm/lib/avm/launcher/errors.rb +8 -0
  113. data/sub/avm/lib/avm/launcher/instances/base/cache.rb +43 -0
  114. data/sub/avm/lib/avm/launcher/instances/base/publishing.rb +53 -0
  115. data/sub/avm/lib/avm/launcher/instances/base.rb +77 -0
  116. data/sub/avm/lib/avm/launcher/instances/error.rb +10 -0
  117. data/sub/avm/lib/avm/launcher/instances/runner_helper.rb +43 -0
  118. data/sub/avm/lib/avm/launcher/instances/settings.rb +24 -0
  119. data/sub/avm/lib/avm/launcher/instances.rb +8 -0
  120. data/sub/avm/lib/avm/launcher/paths/logical.rb +76 -0
  121. data/sub/avm/lib/avm/launcher/paths/real.rb +44 -0
  122. data/sub/avm/lib/avm/launcher/paths.rb +8 -0
  123. data/sub/avm/lib/avm/launcher/project.rb +15 -0
  124. data/sub/avm/lib/avm/launcher/publish/base.rb +44 -0
  125. data/sub/avm/lib/avm/launcher/publish/check_result.rb +64 -0
  126. data/sub/avm/lib/avm/launcher/publish.rb +8 -0
  127. data/sub/avm/lib/avm/launcher/stereotype.rb +63 -0
  128. data/sub/avm/lib/avm/launcher.rb +6 -0
  129. data/sub/avm/lib/avm/launcher_stereotypes.rb +6 -0
  130. data/sub/avm/lib/avm/patches/eac_config/entry_path.rb +46 -0
  131. data/sub/avm/lib/avm/path_string.rb +27 -0
  132. data/sub/avm/lib/avm/registry/application_scms.rb +13 -0
  133. data/sub/avm/lib/avm/registry/application_stereotypes/build_available.rb +45 -0
  134. data/sub/avm/lib/avm/registry/application_stereotypes/stereotype_builder.rb +30 -0
  135. data/sub/avm/lib/avm/registry/application_stereotypes.rb +42 -0
  136. data/sub/avm/lib/avm/registry/applications.rb +35 -0
  137. data/sub/avm/lib/avm/registry/base.rb +26 -0
  138. data/sub/avm/lib/avm/registry/config_objects.rb +15 -0
  139. data/sub/avm/lib/avm/registry/detection_error.rb +8 -0
  140. data/sub/avm/lib/avm/registry/file_formats.rb +17 -0
  141. data/sub/avm/lib/avm/registry/from_gems.rb +67 -0
  142. data/sub/avm/lib/avm/registry/instances.rb +13 -0
  143. data/sub/avm/lib/avm/registry/launcher_stereotypes.rb +8 -0
  144. data/sub/avm/lib/avm/registry/runners.rb +8 -0
  145. data/sub/avm/lib/avm/registry/scms.rb +8 -0
  146. data/sub/avm/lib/avm/registry/source_generators.rb +14 -0
  147. data/sub/avm/lib/avm/registry/sources.rb +38 -0
  148. data/sub/avm/lib/avm/registry/with_path/cache.rb +28 -0
  149. data/sub/avm/lib/avm/registry/with_path.rb +46 -0
  150. data/sub/avm/lib/avm/registry.rb +32 -0
  151. data/sub/avm/lib/avm/result.rb +80 -0
  152. data/sub/avm/lib/avm/rspec/launcher_controller.rb +95 -0
  153. data/sub/avm/lib/avm/rspec/setup/launcher.rb +18 -0
  154. data/sub/avm/lib/avm/rspec/setup/source_generator.rb +20 -0
  155. data/sub/avm/lib/avm/rspec/setup.rb +32 -0
  156. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_format_file_resource_name.rb +13 -0
  157. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_formats_with_fixtures.rb +28 -0
  158. data/sub/avm/lib/avm/rspec/shared_examples/avm_source_generated.rb +23 -0
  159. data/sub/avm/lib/avm/rspec/shared_examples/entries_values.rb +19 -0
  160. data/sub/avm/lib/avm/rspec/shared_examples/in_avm_registry.rb +9 -0
  161. data/sub/avm/lib/avm/rspec/shared_examples/not_in_avm_registry.rb +12 -0
  162. data/sub/avm/lib/avm/rspec/shared_examples/with_config.rb +9 -0
  163. data/sub/avm/lib/avm/rspec/shared_examples/with_launcher.rb +13 -0
  164. data/sub/avm/lib/avm/rspec.rb +6 -0
  165. data/sub/avm/lib/avm/runner_with/file_replacer.rb +30 -0
  166. data/sub/avm/lib/avm/runner_with/filesystem_renamer.rb +101 -0
  167. data/sub/avm/lib/avm/runner_with/filesystem_traverser.rb +54 -0
  168. data/sub/avm/lib/avm/runner_with.rb +9 -0
  169. data/sub/avm/lib/avm/runners/base.rb +27 -0
  170. data/sub/avm/lib/avm/scms/auto_commit/file_resource_name.rb +47 -0
  171. data/sub/avm/lib/avm/scms/auto_commit/for_file.rb +79 -0
  172. data/sub/avm/lib/avm/scms/auto_commit/rules/base.rb +37 -0
  173. data/sub/avm/lib/avm/scms/auto_commit/rules/last.rb +17 -0
  174. data/sub/avm/lib/avm/scms/auto_commit/rules/manual.rb +38 -0
  175. data/sub/avm/lib/avm/scms/auto_commit/rules/new.rb +21 -0
  176. data/sub/avm/lib/avm/scms/auto_commit/rules/nth.rb +29 -0
  177. data/sub/avm/lib/avm/scms/auto_commit/rules/unique.rb +19 -0
  178. data/sub/avm/lib/avm/scms/auto_commit/rules.rb +34 -0
  179. data/sub/avm/lib/avm/scms/auto_commit.rb +8 -0
  180. data/sub/avm/lib/avm/scms/base/branches.rb +20 -0
  181. data/sub/avm/lib/avm/scms/base/commits.rb +32 -0
  182. data/sub/avm/lib/avm/scms/base/milestones.rb +19 -0
  183. data/sub/avm/lib/avm/scms/base/remotes.rb +20 -0
  184. data/sub/avm/lib/avm/scms/base.rb +59 -0
  185. data/sub/avm/lib/avm/scms/branch.rb +24 -0
  186. data/sub/avm/lib/avm/scms/changed_file.rb +46 -0
  187. data/sub/avm/lib/avm/scms/commit.rb +64 -0
  188. data/sub/avm/lib/avm/scms/commit_info.rb +37 -0
  189. data/sub/avm/lib/avm/scms/inflector.rb +22 -0
  190. data/sub/avm/lib/avm/scms/interval.rb +16 -0
  191. data/sub/avm/lib/avm/scms/null/commit.rb +11 -0
  192. data/sub/avm/lib/avm/scms/null.rb +16 -0
  193. data/sub/avm/lib/avm/scms/remote.rb +9 -0
  194. data/sub/avm/lib/avm/scms.rb +6 -0
  195. data/sub/avm/lib/avm/self/docker_image.rb +11 -0
  196. data/sub/avm/lib/avm/self/instance/entry_keys.rb +12 -0
  197. data/sub/avm/lib/avm/self/instance.rb +27 -0
  198. data/sub/avm/lib/avm/source_generators/base.rb +69 -0
  199. data/sub/avm/lib/avm/source_generators/option.rb +11 -0
  200. data/sub/avm/lib/avm/source_generators/option_list.rb +29 -0
  201. data/sub/avm/lib/avm/source_generators/runner.rb +57 -0
  202. data/sub/avm/lib/avm/source_generators.rb +6 -0
  203. data/sub/avm/lib/avm/sources/auto_commit/for_file.rb +29 -0
  204. data/sub/avm/lib/avm/sources/auto_commit.rb +8 -0
  205. data/sub/avm/lib/avm/sources/base/application.rb +34 -0
  206. data/sub/avm/lib/avm/sources/base/configuration.rb +91 -0
  207. data/sub/avm/lib/avm/sources/base/instance.rb +13 -0
  208. data/sub/avm/lib/avm/sources/base/locale.rb +30 -0
  209. data/sub/avm/lib/avm/sources/base/organizational.rb +30 -0
  210. data/sub/avm/lib/avm/sources/base/parent.rb +26 -0
  211. data/sub/avm/lib/avm/sources/base/stereotype.rb +16 -0
  212. data/sub/avm/lib/avm/sources/base/sub/remove.rb +36 -0
  213. data/sub/avm/lib/avm/sources/base/sub.rb +23 -0
  214. data/sub/avm/lib/avm/sources/base/subs.rb +63 -0
  215. data/sub/avm/lib/avm/sources/base/subs_paths.rb +30 -0
  216. data/sub/avm/lib/avm/sources/base/testing.rb +67 -0
  217. data/sub/avm/lib/avm/sources/base/update.rb +37 -0
  218. data/sub/avm/lib/avm/sources/base/update_sub.rb +55 -0
  219. data/sub/avm/lib/avm/sources/base/update_subs.rb +17 -0
  220. data/sub/avm/lib/avm/sources/base/version_bump.rb +26 -0
  221. data/sub/avm/lib/avm/sources/base.rb +56 -0
  222. data/sub/avm/lib/avm/sources/configuration/rubocop.rb +26 -0
  223. data/sub/avm/lib/avm/sources/configuration.rb +59 -0
  224. data/sub/avm/lib/avm/sources/issues/deliver.rb +52 -0
  225. data/sub/avm/lib/avm/sources/issues.rb +8 -0
  226. data/sub/avm/lib/avm/sources/runner.rb +40 -0
  227. data/sub/avm/lib/avm/sources/tests/builder.rb +91 -0
  228. data/sub/avm/lib/avm/sources/tests/performer.rb +32 -0
  229. data/sub/avm/lib/avm/sources/tests/result.rb +15 -0
  230. data/sub/avm/lib/avm/sources/tests/single.rb +71 -0
  231. data/sub/avm/lib/avm/sources/tests.rb +8 -0
  232. data/sub/avm/lib/avm/sources/update_error.rb +8 -0
  233. data/sub/avm/lib/avm/sources.rb +6 -0
  234. data/sub/avm/lib/avm/sync.rb +90 -0
  235. data/sub/avm/lib/avm/version.rb +5 -0
  236. data/sub/avm/lib/avm/version_number.rb +45 -0
  237. data/sub/avm/lib/avm/with/application_stereotype.rb +29 -0
  238. data/sub/avm/lib/avm/with/extra_subcommands.rb +43 -0
  239. data/sub/{eac_docker/lib/eac_docker.rb → avm/lib/avm.rb} +5 -2
  240. data/sub/avm/locale/en.yml +6 -0
  241. data/sub/avm/locale/pt-BR.yml +6 -0
  242. data/sub/avm/spec/lib/avm/applications/base/entries_spec.rb +29 -0
  243. data/sub/avm/spec/lib/avm/applications/base/entries_spec_files/config.yml +12 -0
  244. data/sub/avm/spec/lib/avm/applications/base_spec.rb +21 -0
  245. data/sub/avm/spec/lib/avm/applications/base_spec_fixture.yml +3 -0
  246. data/sub/avm/spec/lib/avm/file_formats/base_spec.rb +9 -0
  247. data/sub/avm/spec/lib/avm/instances/base_spec.rb +104 -0
  248. data/sub/avm/spec/lib/avm/instances/base_spec_files/config.yml +50 -0
  249. data/sub/avm/spec/lib/avm/launcher/context_spec.rb +98 -0
  250. data/sub/avm/spec/lib/avm/launcher/context_spec.yml +5 -0
  251. data/sub/avm/spec/lib/avm/launcher/context_spec_files/config.yml +9 -0
  252. data/sub/avm/spec/lib/avm/launcher/instances/base_spec.rb +39 -0
  253. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/config.yml +5 -0
  254. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/settings.yaml +5 -0
  255. data/sub/avm/spec/lib/avm/patches/eac_config/entry_path_spec.rb +26 -0
  256. data/sub/avm/spec/lib/avm/scms/auto_commit/file_resource_name_spec.rb +20 -0
  257. data/sub/avm/spec/lib/avm/scms/base_spec.rb +5 -0
  258. data/sub/avm/spec/lib/avm/sources/base_spec.rb +5 -0
  259. data/sub/avm/spec/lib/avm/sources/runner_spec.rb +7 -0
  260. data/sub/avm/spec/spec_helper/launcher_context/settings.yml +6 -0
  261. data/sub/{avm-eac_redmine_base0 → avm}/spec/spec_helper.rb +5 -3
  262. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/avm-tools.gemspec +29 -0
  263. data/sub/{avm-eac_redmine_base0/lib/avm/eac_redmine_base0 → avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/lib/avm/tools}/version.rb +2 -2
  264. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/lib/avm/tools.rb +6 -0
  265. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/lib/ruby_gem_stub/version.rb +5 -0
  266. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/lib/ruby_gem_stub.rb +3 -0
  267. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/ruby_gem_stub.gemspec +16 -0
  268. data/sub/avm/template/avm/rspec/launcher_controller/settings.yml +1 -0
  269. data/sub/avm/template/avm/self/docker_image/Dockerfile +17 -0
  270. data/sub/avm/template/avm/self/docker_image/entrypoint.sh +12 -0
  271. data/sub/avm-git/avm-git.gemspec +25 -0
  272. data/sub/avm-git/lib/avm/git/application_scms/base/assert_main_at.rb +44 -0
  273. data/sub/avm-git/lib/avm/git/application_scms/base.rb +18 -0
  274. data/sub/{avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources.rb → avm-git/lib/avm/git/application_scms.rb} +2 -4
  275. data/sub/avm-git/lib/avm/git/commit/class_methods.rb +29 -0
  276. data/sub/avm-git/lib/avm/git/commit/diff_tree_line.rb +32 -0
  277. data/sub/avm-git/lib/avm/git/commit/file.rb +42 -0
  278. data/sub/avm-git/lib/avm/git/commit.rb +57 -0
  279. data/sub/avm-git/lib/avm/git/issue/complete/commits.rb +40 -0
  280. data/sub/avm-git/lib/avm/git/issue/complete/git_subrepos.rb +20 -0
  281. data/sub/avm-git/lib/avm/git/issue/complete/local_branch.rb +59 -0
  282. data/sub/avm-git/lib/avm/git/issue/complete/local_tag.rb +37 -0
  283. data/sub/avm-git/lib/avm/git/issue/complete/push.rb +60 -0
  284. data/sub/avm-git/lib/avm/git/issue/complete/remote.rb +33 -0
  285. data/sub/avm-git/lib/avm/git/issue/complete/test.rb +34 -0
  286. data/sub/avm-git/lib/avm/git/issue/complete/tracker.rb +21 -0
  287. data/sub/avm-git/lib/avm/git/issue/complete/validation.rb +36 -0
  288. data/sub/avm-git/lib/avm/git/issue/complete/validations.rb +54 -0
  289. data/sub/avm-git/lib/avm/git/issue/complete/working_tree.rb +19 -0
  290. data/sub/avm-git/lib/avm/git/issue/complete.rb +66 -0
  291. data/sub/avm-git/lib/avm/git/issue.rb +10 -0
  292. data/sub/avm-git/lib/avm/git/launcher/base/class_methods.rb +28 -0
  293. data/sub/avm-git/lib/avm/git/launcher/base/dirty_files.rb +21 -0
  294. data/sub/avm-git/lib/avm/git/launcher/base/remotes.rb +37 -0
  295. data/sub/avm-git/lib/avm/git/launcher/base/subrepo.rb +42 -0
  296. data/sub/avm-git/lib/avm/git/launcher/base/underlying.rb +54 -0
  297. data/sub/avm-git/lib/avm/git/launcher/base.rb +81 -0
  298. data/sub/avm-git/lib/avm/git/launcher/error.rb +13 -0
  299. data/sub/avm-git/lib/avm/git/launcher/mirror_update.rb +36 -0
  300. data/sub/avm-git/lib/avm/git/launcher/publish_base.rb +128 -0
  301. data/sub/avm-git/lib/avm/git/launcher/remote.rb +53 -0
  302. data/sub/avm-git/lib/avm/git/launcher/sub_warp_base.rb +36 -0
  303. data/sub/avm-git/lib/avm/git/launcher/warp_base.rb +63 -0
  304. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/local_project_mixin.rb +16 -0
  305. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/publish.rb +13 -0
  306. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/warp.rb +25 -0
  307. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git.rb +22 -0
  308. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo/publish.rb +29 -0
  309. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo/warp.rb +82 -0
  310. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo.rb +32 -0
  311. data/sub/avm-git/lib/avm/git/launcher_stereotypes/provider.rb +16 -0
  312. data/sub/{avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances.rb → avm-git/lib/avm/git/launcher_stereotypes.rb} +2 -4
  313. data/sub/avm-git/lib/avm/git/organize/reference_update.rb +32 -0
  314. data/sub/avm-git/lib/avm/git/organize/repository.rb +74 -0
  315. data/sub/avm-git/lib/avm/git/organize.rb +9 -0
  316. data/sub/avm-git/lib/avm/git/revision_test.rb +102 -0
  317. data/sub/avm-git/lib/avm/git/runners/base/commit.rb +96 -0
  318. data/sub/avm-git/lib/avm/git/runners/base/deploy.rb +108 -0
  319. data/sub/avm-git/lib/avm/git/runners/base/dirty_files.rb +42 -0
  320. data/sub/avm-git/lib/avm/git/runners/base/organize.rb +72 -0
  321. data/sub/avm-git/lib/avm/git/runners/base/revisions_test.rb +63 -0
  322. data/sub/avm-git/lib/avm/git/runners/base/subrepo/check.rb +45 -0
  323. data/sub/avm-git/lib/avm/git/runners/base/subrepo/clone.rb +80 -0
  324. data/sub/avm-git/lib/avm/git/runners/base/subrepo/fix.rb +69 -0
  325. data/sub/avm-git/lib/avm/git/runners/base/subrepo.rb +17 -0
  326. data/sub/avm-git/lib/avm/git/runners/base.rb +40 -0
  327. data/sub/avm-git/lib/avm/git/runners.rb +9 -0
  328. data/sub/avm-git/lib/avm/git/scms/git/branch.rb +28 -0
  329. data/sub/avm-git/lib/avm/git/scms/git/branches.rb +17 -0
  330. data/sub/avm-git/lib/avm/git/scms/git/change_tracker.rb +34 -0
  331. data/sub/avm-git/lib/avm/git/scms/git/changed_file.rb +25 -0
  332. data/sub/avm-git/lib/avm/git/scms/git/changed_files.rb +21 -0
  333. data/sub/avm-git/lib/avm/git/scms/git/commit/deploy.rb +38 -0
  334. data/sub/avm-git/lib/avm/git/scms/git/commit/deploy_methods.rb +24 -0
  335. data/sub/avm-git/lib/avm/git/scms/git/commit.rb +64 -0
  336. data/sub/avm-git/lib/avm/git/scms/git/commit_dirty.rb +32 -0
  337. data/sub/avm-git/lib/avm/git/scms/git/commits.rb +44 -0
  338. data/sub/avm-git/lib/avm/git/scms/git/interval.rb +28 -0
  339. data/sub/avm-git/lib/avm/git/scms/git/milestones.rb +18 -0
  340. data/sub/avm-git/lib/avm/git/scms/git/remote.rb +18 -0
  341. data/sub/avm-git/lib/avm/git/scms/git/remotes.rb +29 -0
  342. data/sub/avm-git/lib/avm/git/scms/git/run_commit.rb +54 -0
  343. data/sub/avm-git/lib/avm/git/scms/git.rb +46 -0
  344. data/sub/avm-git/lib/avm/git/scms/git_sub_base/changed_file.rb +19 -0
  345. data/sub/avm-git/lib/avm/git/scms/git_sub_base/commit.rb +23 -0
  346. data/sub/avm-git/lib/avm/git/scms/git_sub_base/interval.rb +23 -0
  347. data/sub/avm-git/lib/avm/git/scms/git_sub_base.rb +30 -0
  348. data/sub/avm-git/lib/avm/git/scms/git_subrepo.rb +33 -0
  349. data/sub/avm-git/lib/avm/git/scms/git_subtree.rb +29 -0
  350. data/sub/avm-git/lib/avm/git/scms/provider.rb +16 -0
  351. data/sub/avm-git/lib/avm/git/scms.rb +9 -0
  352. data/sub/avm-git/lib/avm/git/subrepo_check/parent.rb +48 -0
  353. data/sub/avm-git/lib/avm/git/subrepo_check/remote.rb +86 -0
  354. data/sub/avm-git/lib/avm/git/subrepo_check/show_result.rb +30 -0
  355. data/sub/avm-git/lib/avm/git/subrepo_check.rb +36 -0
  356. data/sub/avm-git/lib/avm/git/subrepo_checks.rb +57 -0
  357. data/sub/avm-git/lib/avm/git/vendor/github.rb +20 -0
  358. data/sub/avm-git/lib/avm/git/vendor.rb +9 -0
  359. data/sub/{avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0 → avm-git/lib/avm/git}/version.rb +2 -2
  360. data/sub/{avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0.rb → avm-git/lib/avm/git.rb} +8 -5
  361. data/sub/avm-git/locale/en.yml +6 -0
  362. data/sub/avm-git/locale/pt-BR.yml +6 -0
  363. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec.rb +13 -0
  364. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.source.out +1 -0
  365. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.target.yaml +7 -0
  366. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.source.out +1 -0
  367. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.target.yaml +7 -0
  368. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.source.out +1 -0
  369. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.target.yaml +7 -0
  370. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.source.out +2 -0
  371. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.target.yaml +13 -0
  372. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.source.out +2 -0
  373. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.target.yaml +13 -0
  374. data/sub/avm-git/spec/lib/avm/git/commit_spec.rb +56 -0
  375. data/sub/avm-git/spec/lib/avm/git/launcher/base_spec.rb +45 -0
  376. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/publish_spec.rb +83 -0
  377. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/publish_spec_files/config.yml +5 -0
  378. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/publish_spec_settings.yml +6 -0
  379. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/warp_spec.rb +53 -0
  380. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/warp_spec_files/config.yml +3 -0
  381. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/warp_spec_settings.yml +6 -0
  382. data/sub/avm-git/spec/lib/avm/git/runners/base/deploy_spec.rb +126 -0
  383. data/sub/avm-git/spec/lib/avm/git/runners/base/deploy_spec_files/append1/stub3.txt.template +1 -0
  384. data/sub/avm-git/spec/lib/avm/git/runners/base/deploy_spec_files/append2/stub4.txt +1 -0
  385. data/sub/avm-git/spec/lib/avm/git/scms/git/commit/deploy_spec.rb +92 -0
  386. data/sub/avm-git/spec/lib/avm/git/scms/git_spec.rb +8 -0
  387. data/sub/avm-git/spec/lib/avm/git/scms/git_subrepo_spec.rb +8 -0
  388. data/sub/avm-git/spec/lib/avm/git/vendor/github_spec.rb +23 -0
  389. data/sub/{avm-eac_ubuntu_base0 → avm-git}/spec/spec_helper.rb +1 -1
  390. metadata +402 -109
  391. data/sub/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +0 -26
  392. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/apache_host.rb +0 -12
  393. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/database.rb +0 -30
  394. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/files.rb +0 -22
  395. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/gitolite.rb +0 -55
  396. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/install.rb +0 -46
  397. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/nodejs.rb +0 -22
  398. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/web.rb +0 -20
  399. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base.rb +0 -59
  400. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/deploy.rb +0 -19
  401. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/docker_image.rb +0 -116
  402. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb +0 -35
  403. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/project.rb +0 -26
  404. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/root.rb +0 -21
  405. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb +0 -54
  406. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api.rb +0 -14
  407. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/docker.rb +0 -17
  408. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/read.rb +0 -27
  409. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/write.rb +0 -70
  410. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page.rb +0 -30
  411. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project.rb +0 -26
  412. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project_rename.rb +0 -56
  413. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners.rb +0 -14
  414. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base.rb +0 -36
  415. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update.rb +0 -131
  416. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/core_update.rb +0 -65
  417. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/docker.rb +0 -19
  418. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners.rb +0 -13
  419. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0.rb +0 -16
  420. data/sub/avm-eac_redmine_base0/locale/en.yml +0 -6
  421. data/sub/avm-eac_redmine_base0/locale/pt-BR.yml +0 -6
  422. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec.rb +0 -22
  423. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec_files/apache_host_spec_no_ssl_content.conf +0 -11
  424. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec.rb +0 -26
  425. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec_files/config.yml +0 -10
  426. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/install.sh.template +0 -45
  427. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/secrets.yml +0 -8
  428. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/Dockerfile.template +0 -36
  429. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_host_dockerfile +0 -8
  430. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_http_virtualhost.conf.template +0 -10
  431. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_https_virtualhost.conf.template +0 -16
  432. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_path_dockerfile +0 -5
  433. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/start.sh.template +0 -52
  434. data/sub/avm-eac_ubuntu_base0/avm-eac_ubuntu_base0.gemspec +0 -21
  435. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/apache/resource.rb +0 -57
  436. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/apache.rb +0 -24
  437. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/docker_image.rb +0 -31
  438. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/instances/base.rb +0 -24
  439. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/rspec/ssh_docker_server.rb +0 -82
  440. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/runners/base/docker.rb +0 -15
  441. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/runners/base.rb +0 -26
  442. data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/docker_image_spec.rb +0 -12
  443. data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/rspec/ssh_docker_server_spec.rb +0 -11
  444. data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/runners/base/docker_spec.rb +0 -11
  445. data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/runners/base_spec.rb +0 -5
  446. data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/docker_image/Dockerfile.template +0 -27
  447. data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/rspec/ssh_docker_server/Dockerfile.template +0 -24
  448. data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/rspec/ssh_docker_server/id_rsa +0 -27
  449. data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/rspec/ssh_docker_server/id_rsa.pub +0 -1
  450. data/sub/eac_docker/Gemfile +0 -8
  451. data/sub/eac_docker/eac_docker.gemspec +0 -20
  452. data/sub/eac_docker/lib/eac_docker/container.rb +0 -83
  453. data/sub/eac_docker/lib/eac_docker/debug.rb +0 -13
  454. data/sub/eac_docker/lib/eac_docker/executables.rb +0 -15
  455. data/sub/eac_docker/lib/eac_docker/images/base.rb +0 -11
  456. data/sub/eac_docker/lib/eac_docker/images/coded.rb +0 -39
  457. data/sub/eac_docker/lib/eac_docker/images/named.rb +0 -26
  458. data/sub/eac_docker/lib/eac_docker/images/templatized.rb +0 -43
  459. data/sub/eac_docker/lib/eac_docker/registry.rb +0 -15
  460. data/sub/eac_docker/lib/eac_docker/rspec/setup.rb +0 -15
  461. data/sub/eac_docker/lib/eac_docker/rspec/stub_image.rb +0 -39
  462. data/sub/eac_docker/lib/eac_docker/version.rb +0 -5
  463. data/sub/eac_docker/spec/lib/eac_docker/executables_spec.rb +0 -7
  464. data/sub/eac_docker/spec/lib/eac_docker/images/coded_spec.rb +0 -10
  465. data/sub/eac_docker/spec/lib/eac_docker/images/coded_spec_files/image1/Dockerfile +0 -1
  466. data/sub/eac_docker/spec/lib/eac_docker/images/templatized_spec.rb +0 -15
  467. data/sub/eac_docker/spec/lib/eac_docker/images/templatized_spec_files/stub_docker_image/Dockerfile +0 -1
  468. data/sub/eac_docker/spec/rubocop_spec.rb +0 -3
  469. data/sub/eac_docker/spec/spec_helper.rb +0 -5
  470. /data/sub/{avm-eac_ubuntu_base0 → avm}/Gemfile +0 -0
  471. /data/sub/{avm-eac_ubuntu_base0 → avm}/spec/rubocop_spec.rb +0 -0
  472. /data/sub/{avm-eac_redmine_base0 → avm-git}/Gemfile +0 -0
  473. /data/sub/{avm-eac_redmine_base0 → avm-git}/spec/rubocop_spec.rb +0 -0
@@ -1,30 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_rails_base1/instances/base'
4
- require 'eac_ruby_utils/core_ext'
5
-
6
- module Avm
7
- module EacRedmineBase0
8
- module Instances
9
- class Base < ::Avm::EacRailsBase1::Instances::Base
10
- module Database
11
- DATABASE_INTERNAL_HOSTNAME = ::Avm::Instances::Base::AutoValues::Database::LOCAL_ADDRESS
12
- DEFAULT_POSTGRESQL_VERSION = ''
13
-
14
- common_concern do
15
- uri_components_entries_values 'postgresql', %w[version]
16
- end
17
-
18
- def database_internal # rubocop:disable Naming/PredicateMethod
19
- ::Avm::Instances::Base::AutoValues::Database::LOCAL_ADDRESSES
20
- .include?(entry(::Avm::Instances::EntryKeys::DATABASE_HOSTNAME).value)
21
- end
22
-
23
- def postgresql_version_default_value
24
- DEFAULT_POSTGRESQL_VERSION
25
- end
26
- end
27
- end
28
- end
29
- end
30
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_rails_base1/instances/base'
4
- require 'avm/instances/data/files_unit'
5
- require 'eac_ruby_utils/core_ext'
6
-
7
- module Avm
8
- module EacRedmineBase0
9
- module Instances
10
- class Base < ::Avm::EacRailsBase1::Instances::Base
11
- module Files
12
- FILES_SUBPATH = 'files'
13
-
14
- # @return [Avm::Instances::Data::FilesUnit]
15
- def files_data_unit
16
- ::Avm::Instances::Data::FilesUnit.new(self, FILES_SUBPATH)
17
- end
18
- end
19
- end
20
- end
21
- end
22
- end
@@ -1,55 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_rails_base1/instances/base'
4
- require 'eac_ruby_utils/core_ext'
5
-
6
- module Avm
7
- module EacRedmineBase0
8
- module Instances
9
- class Base < ::Avm::EacRailsBase1::Instances::Base
10
- module Gitolite
11
- GITOLITE_ENTRY_KEYS_PREFIX = 'gitolite'
12
- DEFAULT_HOSTNAME = 'localhost'
13
- DEFAULT_PATH_PARENT = '/var/lib'
14
- DEFAULT_SCHEME = 'file'
15
- DEFAULT_USERNAME = 'git'
16
-
17
- common_concern do
18
- uri_components_entries_values GITOLITE_ENTRY_KEYS_PREFIX
19
- undef_method :gitolite_path_inherited_value_proc
20
- end
21
-
22
- # @return [Avm::Instances::Data::FilesUnit]
23
- def gitolite_data_unit
24
- ::Avm::Instances::Data::FilesUnit.new(self, gitolite_repositories_path,
25
- sudo_user: entry('gitolite.username').value!)
26
- end
27
-
28
- def gitolite_hostname_default_value
29
- DEFAULT_HOSTNAME
30
- end
31
-
32
- # @return [String]
33
- def gitolite_path_default_value
34
- gitolite_username_optional.if_present do |v|
35
- ::File.join(DEFAULT_PATH_PARENT, v)
36
- end
37
- end
38
-
39
- # @return [Pathname]
40
- def gitolite_repositories_path
41
- entry('gitolite.path').value!.to_pathname.join('repositories')
42
- end
43
-
44
- def gitolite_scheme_default_value
45
- DEFAULT_SCHEME
46
- end
47
-
48
- def gitolite_username_default_value
49
- DEFAULT_USERNAME
50
- end
51
- end
52
- end
53
- end
54
- end
55
- end
@@ -1,46 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_rails_base1/instances/base'
4
- require 'eac_ruby_utils/core_ext'
5
-
6
- module Avm
7
- module EacRedmineBase0
8
- module Instances
9
- class Base < ::Avm::EacRailsBase1::Instances::Base
10
- module Install
11
- INSTALL_EXTRA_KEY = 'install.extra'
12
- DEFAULT_INSTALL_EXTRA = ''
13
-
14
- # @return [String]
15
- def auto_install_extra
16
- inherited_entry_value(::Avm::Instances::EntryKeys::INSTALL_ID, INSTALL_EXTRA_KEY) ||
17
- DEFAULT_INSTALL_EXTRA
18
- end
19
-
20
- def run_installer
21
- ::EacRubyUtils::Ruby.on_clean_environment do
22
- installer_command.system!
23
- end
24
- end
25
-
26
- def installer_command
27
- host_env.command(installer_path, install_task)
28
- end
29
-
30
- def installer_path
31
- ::File.join(install_path, 'plugins', 'redmine_installer', 'installer',
32
- 'run.sh')
33
- end
34
-
35
- def install_task
36
- if web_path_optional.present?
37
- 'redmine_as_apache_path'
38
- else
39
- 'redmine_as_apache_base'
40
- end
41
- end
42
- end
43
- end
44
- end
45
- end
46
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_rails_base1/instances/base'
4
- require 'eac_ruby_utils/core_ext'
5
-
6
- module Avm
7
- module EacRedmineBase0
8
- module Instances
9
- class Base < ::Avm::EacRailsBase1::Instances::Base
10
- module Nodejs
11
- DEFAULT_NODEJS_VERSION = '19.8.1'
12
- NODEJS_VERSION_KEY = 'nodejs.version'
13
-
14
- def auto_install_nodejs_version
15
- inherited_entry_value(::Avm::Instances::EntryKeys::INSTALL_ID, NODEJS_VERSION_KEY) ||
16
- DEFAULT_NODEJS_VERSION
17
- end
18
- end
19
- end
20
- end
21
- end
22
- end
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_rails_base1/instances/base'
4
- require 'eac_ruby_utils/core_ext'
5
-
6
- module Avm
7
- module EacRedmineBase0
8
- module Instances
9
- class Base < ::Avm::EacRailsBase1::Instances::Base
10
- module Web
11
- def web_authority
12
- web_hostname.if_present do |h|
13
- h.to_s + web_port_optional.if_present('') { |p| ":#{p}" }
14
- end
15
- end
16
- end
17
- end
18
- end
19
- end
20
- end
@@ -1,59 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'addressable/uri'
4
- require 'avm/eac_redmine_base0/instances/apache_host'
5
- require 'avm/eac_redmine_base0/instances/docker_image'
6
- require 'avm/eac_redmine_base0/instances/runners'
7
- require 'avm/eac_redmine_base0/instances/rest_api'
8
- require 'avm/eac_rails_base1/instances/base'
9
- require 'avm/eac_ruby_base1/instances/mixin'
10
-
11
- module Avm
12
- module EacRedmineBase0
13
- module Instances
14
- class Base < ::Avm::EacRailsBase1::Instances::Base
15
- require_sub __FILE__, include_modules: true, require_dependency: true
16
- enable_simple_cache
17
-
18
- include ::Avm::EacRubyBase1::Instances::Mixin
19
-
20
- def docker_image_class
21
- ::Avm::EacRedmineBase0::Instances::DockerImage
22
- end
23
-
24
- def docker_run_arguments
25
- [
26
- '--volume',
27
- "#{install_path}:/home/myuser/eac_redmine_base0",
28
- '--publish', "#{read_entry(:ssh_port)}:22",
29
- '--publish', "#{read_entry(:http_port)}:80",
30
- '--publish', "#{read_entry(:https_port)}:443"
31
- ]
32
- end
33
-
34
- # @return [Avm::Instances::Data::Package]
35
- def data_package_create
36
- r = super.add_unit('files', files_data_unit).add_unit('gitolite', gitolite_data_unit)
37
- r.after_load { instance.run_installer }
38
- r
39
- end
40
-
41
- # @return [Addressable::URI]
42
- def root_url
43
- r = ::Addressable::URI.parse(read_entry(::Avm::Instances::EntryKeys::WEB_URL))
44
- r.query_values = nil
45
- r
46
- end
47
-
48
- private
49
-
50
- # @return [Avm::EacRedmineBase0::Instances::RestApi]
51
- def rest_api_uncached
52
- url = root_url
53
- url.query_values = { key: admin_api_key }
54
- ::Avm::EacRedmineBase0::Instances::RestApi.new(url)
55
- end
56
- end
57
- end
58
- end
59
- end
@@ -1,19 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_rails_base1/instances/deploy'
4
- require 'eac_ruby_utils/ruby'
5
-
6
- module Avm
7
- module EacRedmineBase0
8
- module Instances
9
- class Deploy < ::Avm::EacRailsBase1::Instances::Deploy
10
- set_callback :assert_instance_branch, :after, :run_installer
11
-
12
- def run_installer
13
- infom 'Running installer'
14
- instance.run_installer
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,116 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
- require 'avm/eac_redmine_base0/instances/deploy'
5
- require 'avm/eac_ubuntu_base0/instances/base'
6
- require 'avm/instances/docker_image'
7
- require 'eac_templates/core_ext'
8
-
9
- module Avm
10
- module EacRedmineBase0
11
- module Instances
12
- class DockerImage < ::Avm::Instances::DockerImage
13
- enable_simple_cache
14
-
15
- APACHE_HOST_DOCKERFILE_SUBPATH = 'apache_host_dockerfile'
16
- APACHE_PATH_DOCKERFILE_SUBPATH = 'apache_path_dockerfile'
17
- INSTALLER_TARGET_TASK_WITH_WEB_PATH_BLANK = 'redmine_as_apache_base'
18
- INSTALLER_TARGET_TASK_WITH_WEB_PATH_PRESENT = 'redmine_as_apache_path'
19
- REDMINE_SOURCE_HOST_SUBPATH = 'redmine_source'
20
- SSH_SERVER_INSTALL = <<~CODE
21
- RUN sudo apt-get install -y openssh-server
22
- EXPOSE 22/tcp
23
- CODE
24
-
25
- delegate :database_internal, to: :instance
26
-
27
- def avm_fs_cache_object_id
28
- instance.id
29
- end
30
-
31
- def apache_setup
32
- template.child(apache_setup_dockerfile).apply(self)
33
- end
34
-
35
- # @return [String]
36
- def apache_setup_dockerfile
37
- web_path_present? ? APACHE_PATH_DOCKERFILE_SUBPATH : APACHE_HOST_DOCKERFILE_SUBPATH
38
- end
39
-
40
- def base_image
41
- eac_ubuntu_base0_instance.docker_image.provide.id
42
- end
43
-
44
- def installer_target_task
45
- if web_path_present?
46
- INSTALLER_TARGET_TASK_WITH_WEB_PATH_PRESENT
47
- else
48
- INSTALLER_TARGET_TASK_WITH_WEB_PATH_BLANK
49
- end
50
- end
51
-
52
- def redmine_user
53
- eac_ubuntu_base0_instance.docker_image.user_name
54
- end
55
-
56
- def redmine_user_home
57
- eac_ubuntu_base0_instance.docker_image.user_home
58
- end
59
-
60
- def redmine_path
61
- "#{redmine_user_home}/redmine_app"
62
- end
63
-
64
- def skip_database
65
- ENV.fetch('SKIP_DATABASE', nil)
66
- end
67
-
68
- # Optionally install the SSH server.
69
- # @return [String]
70
- def ssh_server_install
71
- ENV.fetch('SSH_SERVER', false).to_bool ? SSH_SERVER_INSTALL : ''
72
- end
73
-
74
- def start_path
75
- '/start.sh'
76
- end
77
-
78
- def web_path_present?
79
- ::Addressable::URI.parse(instance.web_url).path.present?
80
- end
81
-
82
- def write_in_provide_dir
83
- super
84
-
85
- ::Avm::EacRedmineBase0::Instances::Deploy.template.child('config')
86
- .child('install.sh')
87
- .apply_to_file(variables_source, provide_dir.join('install_settings.sh'))
88
- end
89
-
90
- private
91
-
92
- def eac_ubuntu_base0_instance
93
- r = ::Avm::EacUbuntuBase0::Instances::Base.by_id(instance.id)
94
- r.docker_image_options = instance.docker_image_options
95
- r
96
- end
97
-
98
- def git_repo_uncached
99
- ::EacGit::Local.new(instance.source_instance.install_path)
100
- end
101
-
102
- def redmine_source_git_id
103
- git_repo.rev_parse('HEAD')
104
- end
105
-
106
- def redmine_source_path_uncached
107
- r = provide_dir.join(REDMINE_SOURCE_HOST_SUBPATH)
108
- ::FileUtils.rm_rf(r.to_path)
109
- r.mkpath
110
- git_repo.commit(redmine_source_git_id).archive_to_dir(r).system!
111
- REDMINE_SOURCE_HOST_SUBPATH
112
- end
113
- end
114
- end
115
- end
116
- end
@@ -1,35 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_rest/api'
4
- require 'eac_rest/entity'
5
- require 'eac_ruby_utils/core_ext'
6
-
7
- module Avm
8
- module EacRedmineBase0
9
- module Instances
10
- class RestApi < ::EacRest::Api
11
- class EntityBase < ::EacRest::Entity
12
- def build_request(url_suffix)
13
- api.request_json("#{url_suffix}.json")
14
- end
15
-
16
- def data_from_response(response)
17
- raise "\"#{response.url}\" returned non-ok status: #{response.status}" unless
18
- response.status.to_s.start_with?('2')
19
-
20
- return {} if response.body_str.blank?
21
-
22
- response.body_data
23
- rescue ::JSON::ParserError
24
- raise "\"#{response.url}\" returned invalid JSON: \"#{response.body_str}\" " \
25
- "(Status: #{response.status})"
26
- end
27
-
28
- def fetch_data(url_suffix)
29
- data_from_response(build_request(url_suffix).response)
30
- end
31
- end
32
- end
33
- end
34
- end
35
- end
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_redmine_base0/instances/rest_api/entity_base'
4
- require 'avm/eac_redmine_base0/instances/rest_api/wiki_page'
5
- require 'eac_rest/api'
6
- require 'eac_ruby_utils/core_ext'
7
-
8
- module Avm
9
- module EacRedmineBase0
10
- module Instances
11
- class RestApi < ::EacRest::Api
12
- class Project < ::Avm::EacRedmineBase0::Instances::RestApi::EntityBase
13
- # @return [String]
14
- def prefix
15
- "/projects/#{id}"
16
- end
17
-
18
- # @return [Avm::EacRedmineBase0::Instances::RestApi::WikiPage]
19
- def wiki_page(name)
20
- child_entity(::Avm::EacRedmineBase0::Instances::RestApi::WikiPage, name)
21
- end
22
- end
23
- end
24
- end
25
- end
26
- end
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_redmine_base0/instances/rest_api/entity_base'
4
- require 'eac_rest/api'
5
- require 'eac_ruby_utils/core_ext'
6
-
7
- module Avm
8
- module EacRedmineBase0
9
- module Instances
10
- class RestApi < ::EacRest::Api
11
- class Root < ::Avm::EacRedmineBase0::Instances::RestApi::EntityBase
12
- # @param id_or_identifier [String]
13
- # @return [Avm::EacRedmineBase0::Instances::RestApi::Project]
14
- def project(id_or_identifier)
15
- api.entity(::Avm::EacRedmineBase0::Instances::RestApi::Project, id_or_identifier)
16
- end
17
- end
18
- end
19
- end
20
- end
21
- end
@@ -1,54 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_redmine_base0/instances/rest_api/entity_base'
4
- require 'eac_rest/api'
5
- require 'eac_ruby_utils/core_ext'
6
-
7
- module Avm
8
- module EacRedmineBase0
9
- module Instances
10
- class RestApi < ::EacRest::Api
11
- class WikiPage < ::Avm::EacRedmineBase0::Instances::RestApi::EntityBase
12
- enable_simple_cache
13
-
14
- # @return [Hash]
15
- def data_from_id
16
- fetch_data(prefix)
17
- end
18
-
19
- # @return [String]
20
- def data_root
21
- 'wiki_page'
22
- end
23
-
24
- # @return [String]
25
- def prefix
26
- "#{parent_entity.prefix}/wiki/#{id}"
27
- end
28
-
29
- # @return [String]
30
- def read
31
- data.fetch(data_root).fetch('text')
32
- end
33
-
34
- # @param content [String]
35
- # @return [+self+]
36
- def write(text)
37
- data_from_response(
38
- build_request(prefix).verb(:put).header('Content-type', 'application/json')
39
- .body_data(write_data(text).to_json).response
40
- )
41
- end
42
-
43
- # @param text [String]
44
- # @return [Hash]
45
- def write_data(text)
46
- {
47
- data_root => { 'text' => text }
48
- }
49
- end
50
- end
51
- end
52
- end
53
- end
54
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
- require 'eac_rest/api'
5
-
6
- module Avm
7
- module EacRedmineBase0
8
- module Instances
9
- class RestApi < ::EacRest::Api
10
- require_sub __FILE__
11
- end
12
- end
13
- end
14
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/docker/runner'
4
-
5
- module Avm
6
- module EacRedmineBase0
7
- module Instances
8
- module Runners
9
- class Docker < ::Avm::Docker::Runner
10
- def use_default_registry?
11
- false
12
- end
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_cli/core_ext'
4
-
5
- module Avm
6
- module EacRedmineBase0
7
- module Instances
8
- module Runners
9
- class Project
10
- class WikiPage
11
- class Read
12
- runner_with :help, :output
13
-
14
- def run
15
- run_output
16
- end
17
-
18
- def output_content
19
- runner_context.call(:wiki_page_content)
20
- end
21
- end
22
- end
23
- end
24
- end
25
- end
26
- end
27
- end
@@ -1,70 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_cli/core_ext'
4
-
5
- module Avm
6
- module EacRedmineBase0
7
- module Instances
8
- module Runners
9
- class Project
10
- class WikiPage
11
- class Write
12
- runner_with :help, :confirmation, :input do
13
- bool_opt '-f', '--force'
14
- end
15
- delegate :force?, to: :parsed
16
-
17
- def run
18
- start_banner
19
- if write?
20
- run_write
21
- else
22
- success 'Content unchanged, no further action will be taken'
23
- end
24
- end
25
-
26
- def start_banner
27
- infov 'Content'
28
- infov ' * Current', current_content
29
- infov ' * New', new_content
30
- infov ' * Changed?', content_changed?
31
- end
32
-
33
- # @return [Boolean]
34
- def content_changed?
35
- new_content != current_content
36
- end
37
-
38
- def run_write
39
- if confirm?('Write?')
40
- infom 'Writing...'
41
- runner_context.call(:wiki_page).write(new_content)
42
- success('Writed!')
43
- else
44
- success('Unconfirmed, no further action will be taken')
45
- end
46
- end
47
-
48
- # @return [Boolean]
49
- def write?
50
- parsed.force? || content_changed?
51
- end
52
-
53
- private
54
-
55
- # @return [String]
56
- def current_content_uncached
57
- runner_context.call(:wiki_page_content)
58
- end
59
-
60
- # @return [String]
61
- def new_content_uncached
62
- input_content
63
- end
64
- end
65
- end
66
- end
67
- end
68
- end
69
- end
70
- end