eac_tools 0.117.2 → 0.117.3

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 (398) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +35 -34
  3. data/eac_tools.gemspec +3 -3
  4. data/lib/eac_tools/version.rb +1 -1
  5. data/sub/avm/.gitrepo +7 -0
  6. data/sub/avm/avm.gemspec +28 -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_source_wrappers.rb +31 -0
  96. data/sub/avm/lib/avm/launcher/context/instance_discovery/root_sources.rb +48 -0
  97. data/sub/avm/lib/avm/launcher/context/instance_discovery/source_wrapper.rb +61 -0
  98. data/sub/avm/lib/avm/launcher/context/instance_discovery.rb +27 -0
  99. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instance.rb +34 -0
  100. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instances.rb +32 -0
  101. data/sub/avm/lib/avm/launcher/context/instance_manager.rb +74 -0
  102. data/sub/avm/lib/avm/launcher/context/settings.rb +51 -0
  103. data/sub/avm/lib/avm/launcher/context.rb +83 -0
  104. data/sub/avm/lib/avm/launcher/errors/base.rb +10 -0
  105. data/sub/avm/lib/avm/launcher/errors/non_project.rb +13 -0
  106. data/sub/avm/lib/avm/launcher/instances/base/cache.rb +43 -0
  107. data/sub/avm/lib/avm/launcher/instances/base/publishing.rb +53 -0
  108. data/sub/avm/lib/avm/launcher/instances/base.rb +77 -0
  109. data/sub/avm/lib/avm/launcher/instances/error.rb +10 -0
  110. data/sub/avm/lib/avm/launcher/instances/runner_helper.rb +43 -0
  111. data/sub/avm/lib/avm/launcher/instances/settings.rb +24 -0
  112. data/sub/avm/lib/avm/launcher/paths/logical.rb +78 -0
  113. data/sub/avm/lib/avm/launcher/paths/real.rb +44 -0
  114. data/sub/avm/lib/avm/launcher/project.rb +15 -0
  115. data/sub/avm/lib/avm/launcher/publish/base.rb +44 -0
  116. data/sub/avm/lib/avm/launcher/publish/check_result.rb +64 -0
  117. data/sub/avm/lib/avm/launcher/stereotype.rb +63 -0
  118. data/sub/avm/lib/avm/patches/eac_config/entry_path.rb +44 -0
  119. data/sub/avm/lib/avm/path_string.rb +27 -0
  120. data/sub/avm/lib/avm/registry/application_scms.rb +13 -0
  121. data/sub/avm/lib/avm/registry/application_stereotypes/build_available.rb +45 -0
  122. data/sub/avm/lib/avm/registry/application_stereotypes/stereotype_builder.rb +30 -0
  123. data/sub/avm/lib/avm/registry/application_stereotypes.rb +42 -0
  124. data/sub/avm/lib/avm/registry/applications.rb +35 -0
  125. data/sub/avm/lib/avm/registry/base.rb +26 -0
  126. data/sub/avm/lib/avm/registry/config_objects.rb +15 -0
  127. data/sub/avm/lib/avm/registry/detection_error.rb +8 -0
  128. data/sub/avm/lib/avm/registry/file_formats.rb +17 -0
  129. data/sub/avm/lib/avm/registry/from_gems.rb +67 -0
  130. data/sub/avm/lib/avm/registry/instances.rb +13 -0
  131. data/sub/avm/lib/avm/registry/launcher_stereotypes.rb +8 -0
  132. data/sub/avm/lib/avm/registry/runners.rb +8 -0
  133. data/sub/avm/lib/avm/registry/scms.rb +8 -0
  134. data/sub/avm/lib/avm/registry/source_generators.rb +14 -0
  135. data/sub/avm/lib/avm/registry/sources.rb +38 -0
  136. data/sub/avm/lib/avm/registry/with_path/cache.rb +28 -0
  137. data/sub/avm/lib/avm/registry/with_path.rb +44 -0
  138. data/sub/avm/lib/avm/registry.rb +31 -0
  139. data/sub/avm/lib/avm/result.rb +80 -0
  140. data/sub/avm/lib/avm/rspec/launcher_controller.rb +102 -0
  141. data/sub/avm/lib/avm/rspec/setup/launcher.rb +18 -0
  142. data/sub/avm/lib/avm/rspec/setup/source_generator.rb +20 -0
  143. data/sub/avm/lib/avm/rspec/setup.rb +32 -0
  144. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_format_file_resource_name.rb +13 -0
  145. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_formats_with_fixtures.rb +28 -0
  146. data/sub/avm/lib/avm/rspec/shared_examples/avm_source_generated.rb +27 -0
  147. data/sub/avm/lib/avm/rspec/shared_examples/entries_values.rb +19 -0
  148. data/sub/avm/lib/avm/rspec/shared_examples/in_avm_registry.rb +9 -0
  149. data/sub/avm/lib/avm/rspec/shared_examples/not_in_avm_registry.rb +12 -0
  150. data/sub/avm/lib/avm/rspec/shared_examples/with_config.rb +9 -0
  151. data/sub/avm/lib/avm/rspec/shared_examples/with_launcher.rb +13 -0
  152. data/sub/avm/lib/avm/runner_with/file_replacer.rb +28 -0
  153. data/sub/avm/lib/avm/runner_with/filesystem_renamer.rb +99 -0
  154. data/sub/avm/lib/avm/runner_with/filesystem_traverser.rb +49 -0
  155. data/sub/avm/lib/avm/runners/base.rb +25 -0
  156. data/sub/avm/lib/avm/scms/auto_commit/file_resource_name.rb +47 -0
  157. data/sub/avm/lib/avm/scms/auto_commit/for_file.rb +79 -0
  158. data/sub/avm/lib/avm/scms/auto_commit/rules/base.rb +37 -0
  159. data/sub/avm/lib/avm/scms/auto_commit/rules/last.rb +17 -0
  160. data/sub/avm/lib/avm/scms/auto_commit/rules/manual.rb +38 -0
  161. data/sub/avm/lib/avm/scms/auto_commit/rules/new.rb +21 -0
  162. data/sub/avm/lib/avm/scms/auto_commit/rules/nth.rb +29 -0
  163. data/sub/avm/lib/avm/scms/auto_commit/rules/unique.rb +19 -0
  164. data/sub/avm/lib/avm/scms/auto_commit/rules.rb +32 -0
  165. data/sub/avm/lib/avm/scms/base/branches.rb +20 -0
  166. data/sub/avm/lib/avm/scms/base/commits.rb +32 -0
  167. data/sub/avm/lib/avm/scms/base/milestones.rb +19 -0
  168. data/sub/avm/lib/avm/scms/base/remotes.rb +20 -0
  169. data/sub/avm/lib/avm/scms/base.rb +59 -0
  170. data/sub/avm/lib/avm/scms/branch.rb +24 -0
  171. data/sub/avm/lib/avm/scms/changed_file.rb +46 -0
  172. data/sub/avm/lib/avm/scms/commit.rb +64 -0
  173. data/sub/avm/lib/avm/scms/commit_info.rb +37 -0
  174. data/sub/avm/lib/avm/scms/inflector.rb +22 -0
  175. data/sub/avm/lib/avm/scms/interval.rb +16 -0
  176. data/sub/avm/lib/avm/scms/null/commit.rb +11 -0
  177. data/sub/avm/lib/avm/scms/null.rb +16 -0
  178. data/sub/avm/lib/avm/scms/remote.rb +9 -0
  179. data/sub/avm/lib/avm/self/docker_image.rb +11 -0
  180. data/sub/avm/lib/avm/self/instance/entry_keys.rb +12 -0
  181. data/sub/avm/lib/avm/self/instance.rb +27 -0
  182. data/sub/avm/lib/avm/source_generators/base.rb +69 -0
  183. data/sub/avm/lib/avm/source_generators/option.rb +11 -0
  184. data/sub/avm/lib/avm/source_generators/option_list.rb +29 -0
  185. data/sub/avm/lib/avm/source_generators/runner.rb +55 -0
  186. data/sub/avm/lib/avm/sources/auto_commit/for_file.rb +29 -0
  187. data/sub/avm/lib/avm/sources/base/application.rb +32 -0
  188. data/sub/avm/lib/avm/sources/base/configuration.rb +89 -0
  189. data/sub/avm/lib/avm/sources/base/instance.rb +13 -0
  190. data/sub/avm/lib/avm/sources/base/locale.rb +30 -0
  191. data/sub/avm/lib/avm/sources/base/organizational.rb +30 -0
  192. data/sub/avm/lib/avm/sources/base/parent.rb +26 -0
  193. data/sub/avm/lib/avm/sources/base/stereotype.rb +16 -0
  194. data/sub/avm/lib/avm/sources/base/sub/remove.rb +36 -0
  195. data/sub/avm/lib/avm/sources/base/sub.rb +23 -0
  196. data/sub/avm/lib/avm/sources/base/subs.rb +63 -0
  197. data/sub/avm/lib/avm/sources/base/subs_paths.rb +30 -0
  198. data/sub/avm/lib/avm/sources/base/testing.rb +67 -0
  199. data/sub/avm/lib/avm/sources/base/update.rb +65 -0
  200. data/sub/avm/lib/avm/sources/base/update_sub.rb +55 -0
  201. data/sub/avm/lib/avm/sources/base/update_subs.rb +17 -0
  202. data/sub/avm/lib/avm/sources/base/version_bump.rb +26 -0
  203. data/sub/avm/lib/avm/sources/base.rb +56 -0
  204. data/sub/avm/lib/avm/sources/change.rb +22 -0
  205. data/sub/avm/lib/avm/sources/configuration/rubocop.rb +26 -0
  206. data/sub/avm/lib/avm/sources/configuration.rb +57 -0
  207. data/sub/avm/lib/avm/sources/issues/deliver.rb +51 -0
  208. data/sub/avm/lib/avm/sources/runner.rb +38 -0
  209. data/sub/avm/lib/avm/sources/tests/builder.rb +94 -0
  210. data/sub/avm/lib/avm/sources/tests/performer.rb +32 -0
  211. data/sub/avm/lib/avm/sources/tests/result.rb +13 -0
  212. data/sub/avm/lib/avm/sources/tests/single.rb +71 -0
  213. data/sub/avm/lib/avm/sources/update_error.rb +8 -0
  214. data/sub/avm/lib/avm/sync.rb +90 -0
  215. data/sub/avm/lib/avm/version.rb +5 -0
  216. data/sub/avm/lib/avm/version_number.rb +45 -0
  217. data/sub/avm/lib/avm/with/application_stereotype.rb +29 -0
  218. data/sub/avm/lib/avm/with/extra_subcommands.rb +41 -0
  219. data/sub/avm/lib/avm.rb +11 -0
  220. data/sub/avm/locale/en.yml +6 -0
  221. data/sub/avm/locale/pt-BR.yml +6 -0
  222. data/sub/avm/spec/lib/avm/applications/base/entries_spec.rb +29 -0
  223. data/sub/avm/spec/lib/avm/applications/base/entries_spec_files/config.yml +12 -0
  224. data/sub/avm/spec/lib/avm/applications/base_spec.rb +21 -0
  225. data/sub/avm/spec/lib/avm/applications/base_spec_fixture.yml +3 -0
  226. data/sub/avm/spec/lib/avm/file_formats/base_spec.rb +9 -0
  227. data/sub/avm/spec/lib/avm/instances/base/entries_spec.rb +78 -0
  228. data/sub/avm/spec/lib/avm/instances/base/entries_spec_files/config.yml +50 -0
  229. data/sub/avm/spec/lib/avm/instances/base_spec.rb +29 -0
  230. data/sub/avm/spec/lib/avm/launcher/context_spec.rb +102 -0
  231. data/sub/avm/spec/lib/avm/launcher/context_spec.yml +5 -0
  232. data/sub/avm/spec/lib/avm/launcher/context_spec_files/config.yml +9 -0
  233. data/sub/avm/spec/lib/avm/launcher/instances/base_spec.rb +39 -0
  234. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/config.yml +5 -0
  235. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/settings.yaml +5 -0
  236. data/sub/avm/spec/lib/avm/patches/eac_config/entry_path_spec.rb +26 -0
  237. data/sub/avm/spec/lib/avm/scms/auto_commit/file_resource_name_spec.rb +20 -0
  238. data/sub/avm/spec/lib/avm/scms/base_spec.rb +5 -0
  239. data/sub/avm/spec/lib/avm/sources/base_spec.rb +5 -0
  240. data/sub/avm/spec/lib/avm/sources/runner_spec.rb +7 -0
  241. data/sub/avm/spec/spec_helper/launcher_context/settings.yml +6 -0
  242. data/sub/{avm-eac_ruby_base0 → avm}/spec/spec_helper.rb +3 -1
  243. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/avm-tools.gemspec +29 -0
  244. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/lib/avm/tools/version.rb +7 -0
  245. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/lib/avm/tools.rb +6 -0
  246. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/lib/ruby_gem_stub/version.rb +5 -0
  247. data/sub/{avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed.rb → avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/lib/ruby_gem_stub.rb} +1 -2
  248. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/ruby_gem_stub.gemspec +16 -0
  249. data/sub/avm/template/avm/rspec/launcher_controller/settings.yml +1 -0
  250. data/sub/avm/template/avm/self/docker_image/Dockerfile +17 -0
  251. data/sub/avm/template/avm/self/docker_image/entrypoint.sh +12 -0
  252. data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +1 -1
  253. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish/internal_check.rb +2 -1
  254. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish.rb +3 -2
  255. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/base/command_result_to_push_result.rb +39 -0
  256. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/base.rb +15 -2
  257. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/rubygems_org.rb +5 -0
  258. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/update.rb +1 -1
  259. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +1 -1
  260. data/sub/avm-tools/.avm.yaml +2 -0
  261. data/sub/avm-tools/.gitignore +3 -0
  262. data/sub/avm-tools/.gitrepo +7 -0
  263. data/sub/avm-tools/.rspec +1 -0
  264. data/sub/avm-tools/README.textile +28 -0
  265. data/sub/avm-tools/avm-tools.gemspec +24 -0
  266. data/sub/{avm-eac_ruby_base0/template/avm/eac_ruby_base0/source_generators/base/executable.template → avm-tools/exe/avm} +2 -2
  267. data/sub/avm-tools/lib/avm/tools/rspec/helpers/runner.rb +19 -0
  268. data/sub/avm-tools/lib/avm/tools/rspec/setup.rb +21 -0
  269. data/sub/avm-tools/lib/avm/tools/runner/application/info.rb +34 -0
  270. data/sub/avm-tools/lib/avm/tools/runner/application.rb +21 -0
  271. data/sub/avm-tools/lib/avm/tools/runner/application_stereotypes/list.rb +29 -0
  272. data/sub/avm-tools/lib/avm/tools/runner/application_stereotypes.rb +13 -0
  273. data/sub/avm-tools/lib/avm/tools/runner/applications/list.rb +29 -0
  274. data/sub/avm-tools/lib/avm/tools/runner/applications.rb +13 -0
  275. data/sub/avm-tools/lib/avm/tools/runner/config/load_path.rb +48 -0
  276. data/sub/avm-tools/lib/avm/tools/runner/config.rb +14 -0
  277. data/sub/avm-tools/lib/avm/tools/runner/files/format.rb +46 -0
  278. data/sub/avm-tools/lib/avm/tools/runner/files/rotate.rb +28 -0
  279. data/sub/avm-tools/lib/avm/tools/runner/files.rb +14 -0
  280. data/sub/avm-tools/lib/avm/tools/runner/instance/data/clear.rb +15 -0
  281. data/sub/avm-tools/lib/avm/tools/runner/instance/data/dump.rb +17 -0
  282. data/sub/avm-tools/lib/avm/tools/runner/instance/data/load.rb +22 -0
  283. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/clear.rb +17 -0
  284. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/dump.rb +17 -0
  285. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/load.rb +22 -0
  286. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit.rb +40 -0
  287. data/sub/avm-tools/lib/avm/tools/runner/instance/data.rb +23 -0
  288. data/sub/avm-tools/lib/avm/tools/runner/instance/entry.rb +41 -0
  289. data/sub/avm-tools/lib/avm/tools/runner/instance/info.rb +35 -0
  290. data/sub/avm-tools/lib/avm/tools/runner/instance/system.rb +63 -0
  291. data/sub/avm-tools/lib/avm/tools/runner/instance.rb +10 -0
  292. data/sub/avm-tools/lib/avm/tools/runner/launcher/instances.rb +34 -0
  293. data/sub/avm-tools/lib/avm/tools/runner/launcher/projects.rb +37 -0
  294. data/sub/avm-tools/lib/avm/tools/runner/launcher/publish.rb +52 -0
  295. data/sub/avm-tools/lib/avm/tools/runner/launcher.rb +14 -0
  296. data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes/list.rb +38 -0
  297. data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes.rb +13 -0
  298. data/sub/avm-tools/lib/avm/tools/runner/self/docker.rb +12 -0
  299. data/sub/avm-tools/lib/avm/tools/runner/self/registry.rb +22 -0
  300. data/sub/avm-tools/lib/avm/tools/runner/self.rb +18 -0
  301. data/sub/avm-tools/lib/avm/tools/runner/source/auto_commit.rb +67 -0
  302. data/sub/avm-tools/lib/avm/tools/runner/source/info.rb +54 -0
  303. data/sub/avm-tools/lib/avm/tools/runner/source/issue/complete.rb +85 -0
  304. data/sub/avm-tools/lib/avm/tools/runner/source/issue/deliver.rb +32 -0
  305. data/sub/avm-tools/lib/avm/tools/runner/source/issue.rb +16 -0
  306. data/sub/avm-tools/lib/avm/tools/runner/source/sub/remove.rb +20 -0
  307. data/sub/avm-tools/lib/avm/tools/runner/source/sub.rb +25 -0
  308. data/sub/avm-tools/lib/avm/tools/runner/source/subs.rb +70 -0
  309. data/sub/avm-tools/lib/avm/tools/runner/source/test.rb +90 -0
  310. data/sub/avm-tools/lib/avm/tools/runner/source/update.rb +20 -0
  311. data/sub/avm-tools/lib/avm/tools/runner/source/version_bump.rb +78 -0
  312. data/sub/avm-tools/lib/avm/tools/runner/source.rb +13 -0
  313. data/sub/avm-tools/lib/avm/tools/runner/source_generate.rb +10 -0
  314. data/sub/avm-tools/lib/avm/tools/runner.rb +19 -0
  315. data/sub/avm-tools/lib/avm/tools/runner_with/include_exclude.rb +20 -0
  316. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_clear.rb +19 -0
  317. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb +55 -0
  318. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_load.rb +64 -0
  319. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_performer.rb +37 -0
  320. data/sub/avm-tools/lib/avm/tools/self.rb +17 -0
  321. data/sub/{avm-eac_ruby_base0/lib/avm/eac_ruby_base0 → avm-tools/lib/avm/tools}/version.rb +2 -2
  322. data/sub/avm-tools/spec/lib/avm/tools/runner/files/rotate_spec.rb +71 -0
  323. data/sub/avm-tools/spec/lib/avm/tools/runner/launcher_stereotypes/list_spec.rb +15 -0
  324. data/sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb +47 -0
  325. data/sub/avm-tools/spec/lib/avm/tools/runner_spec.rb +12 -0
  326. data/sub/{avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem → avm-tools}/spec/spec_helper.rb +3 -1
  327. metadata +338 -80
  328. data/sub/avm-eac_ruby_base0/.gitignore +0 -2
  329. data/sub/avm-eac_ruby_base0/.gitrepo +0 -7
  330. data/sub/avm-eac_ruby_base0/avm-eac_ruby_base0.gemspec +0 -21
  331. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/rspec/setup.rb +0 -13
  332. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/rspec/source_generator.rb +0 -31
  333. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/source_generators/base/application.rb +0 -33
  334. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/source_generators/base/executable.rb +0 -29
  335. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/source_generators/base/runner.rb +0 -33
  336. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/source_generators/base.rb +0 -49
  337. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/sources/base/executable.rb +0 -59
  338. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/sources/base.rb +0 -16
  339. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0.rb +0 -6
  340. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec.rb +0 -42
  341. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/.rspec +0 -1
  342. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/Gemfile.lock +0 -108
  343. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/_gitignore +0 -2
  344. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/dashed-mygem.gemspec +0 -24
  345. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/exe/dashed-mygem +0 -6
  346. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem/runner.rb +0 -17
  347. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem/self.rb +0 -13
  348. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem/version.rb +0 -7
  349. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/.rspec +0 -1
  350. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/.rubocop.yml +0 -3
  351. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/Gemfile +0 -8
  352. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/Gemfile.lock +0 -108
  353. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/_gitignore +0 -2
  354. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/exe/mygem_underscore +0 -6
  355. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/lib/mygem_underscore/runner.rb +0 -15
  356. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/lib/mygem_underscore/self.rb +0 -11
  357. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/lib/mygem_underscore/version.rb +0 -5
  358. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/lib/mygem_underscore.rb +0 -6
  359. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/mygem_underscore.gemspec +0 -24
  360. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/spec/spec_helper.rb +0 -5
  361. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/sources/base_spec.rb +0 -13
  362. data/sub/avm-eac_ruby_base0/template/avm/eac_ruby_base0/source_generators/base/application.template +0 -11
  363. data/sub/avm-eac_ruby_base0/template/avm/eac_ruby_base0/source_generators/base/runner.template +0 -15
  364. data/sub/eac_ruby_gem_support/.gitrepo +0 -7
  365. data/sub/eac_ruby_gem_support/.rspec +0 -1
  366. data/sub/eac_ruby_gem_support/.rubocop.yml +0 -45
  367. data/sub/eac_ruby_gem_support/Gemfile +0 -8
  368. data/sub/eac_ruby_gem_support/eac_ruby_gem_support.gemspec +0 -27
  369. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/helpers/filesystem.rb +0 -73
  370. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/helpers/utils.rb +0 -22
  371. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/setup/rubocop.rb +0 -61
  372. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/setup.rb +0 -52
  373. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/shared_examples/source_target_fixtures.rb +0 -73
  374. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/shared_examples/spec_paths.rb +0 -11
  375. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/source_target_fixtures_controller.rb +0 -29
  376. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/spec_paths_controller.rb +0 -27
  377. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/source_target_fixtures/source_target_file.rb +0 -17
  378. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/source_target_fixtures.rb +0 -72
  379. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/version.rb +0 -5
  380. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support.rb +0 -10
  381. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/helpers/filesystem_spec.rb +0 -30
  382. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/shared_examples/source_target_fixtures_spec.rb +0 -11
  383. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/shared_examples/source_target_fixtures_spec_files/one.source.yaml +0 -2
  384. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/shared_examples/source_target_fixtures_spec_files/one.target.yaml +0 -2
  385. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/shared_examples/spec_paths_spec.rb +0 -17
  386. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec.rb +0 -25
  387. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec_files/stub1.source.txt +0 -1
  388. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec_files/stub1.target.html +0 -1
  389. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec_files/stub2.source.html +0 -1
  390. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec_files/stub3.target.yaml +0 -1
  391. data/sub/eac_ruby_gem_support/spec/spec_helper.rb +0 -5
  392. /data/sub/{eac_ruby_gem_support → avm}/.gitignore +0 -0
  393. /data/sub/{avm-eac_ruby_base0 → avm}/.rspec +0 -0
  394. /data/sub/{avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem → avm}/.rubocop.yml +0 -0
  395. /data/sub/{avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem → avm}/Gemfile +0 -0
  396. /data/sub/{avm-eac_ruby_base0 → avm-tools}/.rubocop.yml +0 -0
  397. /data/sub/{avm-eac_ruby_base0 → avm-tools}/Gemfile +0 -0
  398. /data/sub/{avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem.rb → avm-tools/lib/avm/tools.rb} +0 -0
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
4
+
5
+ # Maintain your gem's version:
6
+ require 'avm/tools/version'
7
+
8
+ # Describe your gem and declare its dependencies:
9
+ Gem::Specification.new do |s|
10
+ s.name = 'avm/tools'
11
+ s.version = Avm::Tools::VERSION
12
+ s.authors = ['Esquilo Azul Company']
13
+ s.summary = 'Utilities to deploy applications and libraries.'
14
+ s.license = 'MIT'
15
+
16
+ s.files = Dir['{exe,lib}/**/*', 'Gemfile', 'MIT-LICENSE', 'README.rdoc']
17
+ s.required_ruby_version = '>= 3.2'
18
+ s.bindir = 'exe'
19
+ s.executables = s.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
+
21
+ s.add_dependency 'activesupport', '~> 4.2', '>= 4.2.10'
22
+ s.add_dependency 'colorize', '~> 0.8.1'
23
+ s.add_dependency 'curb', '~> 0.9.4'
24
+ s.add_dependency 'eac_rails_utils', '~> 0.1', '>= 0.1.14'
25
+ s.add_dependency 'eac_ruby_utils', '~> 0.1'
26
+ s.add_dependency 'git', '~> 1.3.0'
27
+ s.add_development_dependency 'rspec', '~> 3.7'
28
+ s.add_development_dependency 'rubocop', '~> 0.48.1'
29
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ VERSION = '1.0.0.pre.stub'
6
+ end
7
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RubyGemStub
4
+ VERSION = '1.0.0.pre.stub'
5
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
4
+
5
+ # Maintain your gem's version:
6
+ require 'ruby_gem_stub/version'
7
+
8
+ # Describe your gem and declare its dependencies:
9
+ Gem::Specification.new do |s|
10
+ s.name = 'ruby_gem_stub'
11
+ s.version = RubyGemStub::VERSION
12
+ s.authors = ['Esquilo Azul Company']
13
+ s.summary = 'Ruby gem stub for tests.'
14
+ s.files = Dir['{lib}/**/*']
15
+ s.required_ruby_version = '>= 3.2'
16
+ end
@@ -0,0 +1,17 @@
1
+ FROM ruby:2.5
2
+ RUN gem install avm-tools
3
+
4
+ RUN apt-get update && apt-get -y --no-install-recommends install \
5
+ ca-certificates \
6
+ curl
7
+
8
+ RUN gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4
9
+ RUN curl -o /usr/local/bin/gosu -SL "https://github.com/tianon/gosu/releases/download/1.4/gosu-$(dpkg --print-architecture)" \
10
+ && curl -o /usr/local/bin/gosu.asc -SL "https://github.com/tianon/gosu/releases/download/1.4/gosu-$(dpkg --print-architecture).asc" \
11
+ && gpg --verify /usr/local/bin/gosu.asc \
12
+ && rm /usr/local/bin/gosu.asc \
13
+ && chmod +x /usr/local/bin/gosu
14
+ COPY entrypoint.sh /usr/local/bin/entrypoint.sh
15
+ RUN chmod +x /usr/local/bin/entrypoint.sh
16
+ ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
17
+ CMD []
@@ -0,0 +1,12 @@
1
+ #!/bin/bash
2
+
3
+ # Add local user
4
+ # Either use the LOCAL_USER_ID if passed in at runtime or
5
+ # fallback
6
+
7
+ USER_ID=${LOCAL_USER_ID:-9001}
8
+
9
+ echo "Starting with UID : $USER_ID"
10
+ useradd --shell /bin/bash -u $USER_ID -o -c "" -m user
11
+ export HOME=/home/user
12
+ exec /usr/local/bin/gosu user avm "$@"
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
16
16
  .reject { |f| ['.', '..'].include?(File.basename(f)) }
17
17
  s.required_ruby_version = '>= 3.2'
18
18
 
19
- s.add_dependency 'avm', '~> 0.102', '>= 0.102.1'
19
+ s.add_dependency 'avm', '~> 0.102', '>= 0.102.2'
20
20
  s.add_dependency 'avm-eac_generic_base0', '~> 0.15', '>= 0.15.3'
21
21
  s.add_dependency 'eac_envs-http', '~> 0.7', '>= 0.7.1'
22
22
  s.add_dependency 'eac_ruby_base1', '~> 0.1', '>= 0.1.1'
@@ -57,9 +57,10 @@ module Avm
57
57
  )
58
58
  end
59
59
 
60
+ # @return [String]
60
61
  def version_unpublished_check_result
61
62
  ::Avm::Launcher::Publish::CheckResult.pending(
62
- publish.i18n_translate(__method__, gem: gem_spec.name, provider: gem_provider)
63
+ publish.i18n_translate(__method__, gem: gem_spec.full_name, provider: gem_provider)
63
64
  )
64
65
  end
65
66
  end
@@ -18,10 +18,11 @@ module Avm
18
18
  gem_build.close
19
19
  end
20
20
 
21
+ # @return [void]
21
22
  def push_gem
22
23
  info("Pushing gem #{gem_spec}...")
23
- gem_provider.push_gem(gem_build.output_file)
24
- info('Pushed!')
24
+ r = gem_provider.push_gem(gem_build.output_file)
25
+ send(r.type == :success ? :success : :error, r.message)
25
26
  end
26
27
 
27
28
  require_sub __FILE__, include_modules: true, require_mode: :kernel
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Rubygems
6
+ module Providers
7
+ class Base
8
+ class CommandResultToPushResult
9
+ acts_as_instance_method
10
+ common_constructor :provider, :command_result
11
+
12
+ RESULT_STRUCT = ::Struct.new(:type, :message)
13
+
14
+ # @return [RESULT_STRUCT]
15
+ def result
16
+ RESULT_STRUCT.then do |v|
17
+ v.new(*v.members.map { |e| send(e) })
18
+ end
19
+ end
20
+
21
+ # @return [String]
22
+ def message
23
+ %i[stdout stderr].map { |e| "#{command_result.fetch(e)}\n" }.join
24
+ end
25
+
26
+ # @return [Symbol]
27
+ def type
28
+ ::Avm::EacRubyBase1::Rubygems::Providers::Base.lists.push_result_type.value_validate!(
29
+ provider.push_gem_command_exit_codes.fetch(
30
+ command_result.fetch(:exit_code)
31
+ )
32
+ )
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -6,6 +6,8 @@ module Avm
6
6
  module Providers
7
7
  class Base
8
8
  acts_as_abstract
9
+ enable_listable
10
+ lists.add_symbol :push_result_type, :success, :access_denied
9
11
 
10
12
  common_constructor :root_http_url do
11
13
  self.root_http_url = root_http_url.to_uri
@@ -19,13 +21,15 @@ module Avm
19
21
  end
20
22
 
21
23
  # @param gem_package_path [Pathname]
22
- # @return [Boolean]
24
+ # @return [Avm::EacRubyBase1::Rubygems::Providers::Base::CommandResultToPushResult::RESULT_STRUCT]
23
25
  def push_gem(gem_package_path)
24
26
  command_args = push_gem_command_args(gem_package_path)
25
27
  command_args = %w[echo] + command_args + %w[(Dry-run)] unless
26
28
  ::Avm::Launcher::Context.current.publish_options[:confirm]
27
29
  ::EacRubyUtils::Ruby.on_clean_environment do
28
- EacRubyUtils::Envs.local.command(*command_args).system
30
+ command_result_to_push_result(
31
+ EacRubyUtils::Envs.local.command(*command_args).execute
32
+ )
29
33
  end
30
34
  end
31
35
 
@@ -35,10 +39,19 @@ module Avm
35
39
  raise_abstract __method__, gem_package_path
36
40
  end
37
41
 
42
+ # @return [Hash]
43
+ def push_gem_command_exit_codes
44
+ {
45
+ 0 => PUSH_RESULT_TYPE_SUCCESS
46
+ }
47
+ end
48
+
38
49
  # @return [String]
39
50
  def to_s
40
51
  "#{self.class.name.demodulize}[#{root_http_url}]"
41
52
  end
53
+
54
+ require_sub __FILE__, require_mode: :kernel
42
55
  end
43
56
  end
44
57
  end
@@ -30,6 +30,11 @@ module Avm
30
30
  end
31
31
  command
32
32
  end
33
+
34
+ # @return [Hash]
35
+ def push_gem_command_exit_codes
36
+ super.merge(256 => PUSH_RESULT_TYPE_ACCESS_DENIED)
37
+ end
33
38
  end
34
39
  end
35
40
  end
@@ -7,7 +7,7 @@ module Avm
7
7
  module Update
8
8
  # @return [void]
9
9
  def on_sub_updated
10
- update_self_changes_before_subs
10
+ ::Avm::EacRubyBase1::Sources::Update::Changes::BundleUpdate.new(self).perform
11
11
  end
12
12
 
13
13
  # @param changes [Enumerable<Avm::Sources::Change>]
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRubyBase1
5
- VERSION = '0.43.0'
5
+ VERSION = '0.43.1'
6
6
  end
7
7
  end
@@ -0,0 +1,2 @@
1
+ ---
2
+ locale: en
@@ -0,0 +1,3 @@
1
+ Gemfile.local
2
+ Gemfile.lock
3
+ **/.php_cs.cache
@@ -0,0 +1,7 @@
1
+ [subrepo]
2
+ cmdver = 0.4.9
3
+ commit = 90b2bac38a8fe35f6d4d529e6d65b522a146211f
4
+ method = merge
5
+ parent = dd342cf30050ad923dd44b798900d9b0aedc8d32
6
+ branch = master
7
+ remote = https://github.com/esquilo-azul/avm-tools.git
@@ -0,0 +1 @@
1
+ --require spec/spec_helper --color --format doc --default-path . --pattern 'spec/**/*_spec.rb' --exclude-pattern '**/*_spec_files/**/*'
@@ -0,0 +1,28 @@
1
+ h1. AVM Tools
2
+
3
+ h2. Instance's entries suffixes
4
+
5
+ |_. Name |_. Description |_. Default value |
6
+ | admin.email | Admin's e-mail address | @host_id->admin.email@ |
7
+ | admin.name | Admin's name | @host_id->admin.name@ |
8
+ | access | *@local@* or *@ssh@* | @self->ssh.url ? 'ssh' : 'local'@ |
9
+ | data_fs_path | path to instance's data root directory | @host_id->data_fs_path + '/' + self->id@ |
10
+ | database.id | ID of instance to fetch database parameters | @nil@ |
11
+ | database.limit | Limit of open database connections | @database.id->database.limit or 5 |
12
+ | database.system | *@postgres@* or *@mysql@* or *@oracle@* | @nil@ |
13
+ | database.hostname | hostname of database server | @database.id->database.hostname or host_id->database.hostname or '127.0.0.1'@ |
14
+ | database.name | name of database | @database.id->database.name or self->id@ |
15
+ | database.password | password to login in database | @database.id->database.password or host_id->database.password@ |
16
+ | database.port | port of database server | @database.system->default_port@ |
17
+ | database.timeout | Database connection timeout (In miliseconds) | @database.id->database.timeout or 5000 |
18
+ | database.username | username to login in database | @database.id->database.username or host_id->database.username@ |
19
+ | fs_path | path to instance's installation | @host_id->fs_path + '/' + self->id@ |
20
+ | host_id | ID of instace to fetch host parameters | @nil@ |
21
+ | ssh.url | SSH URL to access instance's host | @host_id->ssh.url or self->ssh.username + '@' self->ssh.hostname@ |
22
+ | ssh.hostname | SSH hostname to access instance's host | @host_id->ssh.hostname@ |
23
+ | ssh.port | SSH port to access instance's host | '22' |
24
+ | ssh.username | SSH username to access instance's host | @host_id->ssh.username@ |
25
+ | system.group | Group of user that runs instance | @host_id->system.groupname or self->system.username@ |
26
+ | system.username | Name of user that runs instance | @host_id->system.username or self->ssh.username@ |
27
+ | web.url | Root URL to web interface | @nil@ |
28
+ | web.hostname | Hostname of web interface | @web.url->hostname@ |
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
4
+
5
+ require 'avm/tools/version'
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = 'avm-tools'
9
+ s.version = Avm::Tools::VERSION
10
+ s.authors = ['Esquilo Azul Company']
11
+ s.summary = 'Tools for AVM.'
12
+
13
+ s.files = Dir['{exe,lib}/**/*', 'Gemfile']
14
+ s.bindir = 'exe'
15
+ s.executables = s.files.grep(%r{^exe/}) { |f| File.basename(f) }
16
+
17
+ s.required_ruby_version = '>= 3.2'
18
+
19
+ s.add_dependency 'avm', '~> 0.102', '>= 0.102.2'
20
+ s.add_dependency 'eac_ruby_base0', '~> 0.19', '>= 0.19.3'
21
+
22
+ s.add_development_dependency 'avm-git', '~> 0.21', '>= 0.21.2'
23
+ s.add_development_dependency 'eac_ruby_gem_support', '~> 0.14'
24
+ end
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  $LOAD_PATH.unshift("#{__dir__}/../lib")
5
- require '%%lib_path%%'
6
- %%runner_class%%.run(program_name: File.basename(__FILE__))
5
+ require 'avm/tools'
6
+ Avm::Tools::Runner.run
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ module Rspec
6
+ module Helpers
7
+ module Runner
8
+ def avm_tools_runner_args_prefix
9
+ []
10
+ end
11
+
12
+ def avm_tools_runner_run(*argv)
13
+ Avm::Tools::Runner.run(argv: avm_tools_runner_args_prefix + argv)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ module Rspec
6
+ module Setup
7
+ extend ::ActiveSupport::Concern
8
+
9
+ SETUPS = %w[helpers].freeze
10
+
11
+ def self.extended(setup_obj)
12
+ SETUPS.each { |s| setup_obj.send("setup_#{s}") }
13
+ end
14
+
15
+ def setup_helpers
16
+ rspec_config.include ::Avm::Tools::Rspec::Helpers::Runner
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class Application
7
+ class Info
8
+ APPLICATION_PROPERTIES = {
9
+ id: 'ID',
10
+ name: 'Name',
11
+ organization: 'Organization',
12
+ scm: 'SCM',
13
+ stereotype: 'Stereotype'
14
+ }.freeze
15
+
16
+ runner_with :help, :output_item do
17
+ desc 'Show information about application.'
18
+ end
19
+
20
+ def run
21
+ run_output
22
+ end
23
+
24
+ # @return [Hash]
25
+ def item_hash
26
+ APPLICATION_PROPERTIES.inject({}) do |a, e|
27
+ a.merge(e.last => application.send(e.first).to_s)
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class Application
7
+ runner_with :help, :subcommands do
8
+ pos_arg :application_id
9
+ subcommands
10
+ end
11
+ for_context :application
12
+
13
+ private
14
+
15
+ def application_uncached
16
+ ::Avm::Registry.applications.detect(parsed.application_id)
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class ApplicationStereotypes
7
+ class List
8
+ runner_with :help, :output
9
+
10
+ def run
11
+ infov 'Found', stereotypes.count
12
+ run_output
13
+ end
14
+
15
+ def output_content
16
+ stereotypes.map { |s| "#{s}\n" }.join
17
+ end
18
+
19
+ private
20
+
21
+ def stereotypes
22
+ ::Avm::Registry.application_stereotypes.available
23
+ .sort_by { |s| [s.name, s.namespace_module] }
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class ApplicationStereotypes
7
+ runner_with :help, :subcommands do
8
+ subcommands
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class Applications
7
+ class List
8
+ runner_with :help, :output
9
+
10
+ def run
11
+ infov 'Found', applications.count
12
+ run_output
13
+ end
14
+
15
+ def output_content
16
+ applications.map { |s| "#{s}\n" }.join
17
+ end
18
+
19
+ private
20
+
21
+ def applications_uncached
22
+ ::Avm::Registry.applications.available
23
+ .sort_by { |s| [s.id] }
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class Applications
7
+ runner_with :help, :subcommands do
8
+ subcommands
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class Config
7
+ class LoadPath
8
+ runner_with :help do
9
+ desc 'Manipulate include path.'
10
+ arg_opt '-p', '--push', 'Add a path.'
11
+ end
12
+
13
+ def run
14
+ config_nodes.each { |config_node| run_show(config_node) }
15
+ run_add
16
+ end
17
+
18
+ private
19
+
20
+ # @return [[EacCli::Config]]
21
+ def root_config_node
22
+ ::EacConfig::Node.context.current
23
+ end
24
+
25
+ def config_nodes
26
+ ::EacRubyUtils::RecursiveBuilder.new(root_config_node, &:self_loaded_nodes).result
27
+ end
28
+
29
+ def run_add
30
+ parsed.push.if_present do |v|
31
+ infov 'Path to add', v
32
+ root_config_node.write_node.load_path.push(v)
33
+ success 'Path included'
34
+ end
35
+ end
36
+
37
+ def run_show(config_node)
38
+ infov 'Configuration path', config_node.url
39
+ infov 'Paths included', config_node.self_loaded_nodes.count
40
+ config_node.self_loaded_nodes.each do |loaded_node|
41
+ infov ' * ', loaded_node.url
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class Config
7
+ runner_with :help, :subcommands do
8
+ desc 'Configuration utilities.'
9
+ subcommands
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ class Runner
6
+ class Files
7
+ class Format
8
+ runner_with :help do
9
+ desc 'Format files.'
10
+ bool_opt '-a', '--apply', 'Confirm changes.'
11
+ bool_opt '-n', '--no-recursive', 'No recursive.'
12
+ bool_opt '-q', '--quiet', 'Do not output messages.'
13
+ bool_opt '-d', '--dirty', 'Select modified files to format.'
14
+ pos_arg :paths, repeat: true, optional: true
15
+ end
16
+
17
+ def run
18
+ ::Avm::FileFormats::SearchFormatter.new(source_paths, formatter_options).run
19
+ end
20
+
21
+ def formatter_options
22
+ { ::Avm::FileFormats::SearchFormatter::OPTION_APPLY => parsed.apply?,
23
+ ::Avm::FileFormats::SearchFormatter::OPTION_RECURSIVE => !parsed.no_recursive?,
24
+ ::Avm::FileFormats::SearchFormatter::OPTION_VERBOSE => !parsed.quiet? }
25
+ end
26
+
27
+ def scm
28
+ @scm ||= ::Avm::Registry.scms.detect('.')
29
+ end
30
+
31
+ def dirty_files
32
+ scm.changed_files.map(&:absolute_path).select(&:exist?).map(&:to_path)
33
+ end
34
+
35
+ def source_paths
36
+ if parsed.dirty?
37
+ parsed.paths + dirty_files
38
+ else
39
+ parsed.paths.if_present(%w[.])
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end