eac_tools 0.120.0 → 0.121.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 (333) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +34 -28
  3. data/eac_tools.gemspec +3 -3
  4. data/lib/eac_tools/version.rb +1 -1
  5. data/sub/avm/.gitignore +2 -0
  6. data/sub/avm/.gitrepo +7 -0
  7. data/sub/avm/.rspec +1 -0
  8. data/sub/avm/.rubocop.yml +3 -0
  9. data/sub/avm/Gemfile +8 -0
  10. data/sub/avm/avm.gemspec +28 -0
  11. data/sub/avm/lib/avm/application_scms/base.rb +37 -0
  12. data/sub/avm/lib/avm/application_stereotypes/base.rb +29 -0
  13. data/sub/avm/lib/avm/applications/base/auto_local_source_path.rb +22 -0
  14. data/sub/avm/lib/avm/applications/base/local_instance.rb +28 -0
  15. data/sub/avm/lib/avm/applications/base/local_source.rb +31 -0
  16. data/sub/avm/lib/avm/applications/base/naming.rb +26 -0
  17. data/sub/avm/lib/avm/applications/base/organization.rb +27 -0
  18. data/sub/avm/lib/avm/applications/base/publishing.rb +39 -0
  19. data/sub/avm/lib/avm/applications/base/scm.rb +24 -0
  20. data/sub/avm/lib/avm/applications/base/stereotype.rb +29 -0
  21. data/sub/avm/lib/avm/applications/base.rb +34 -0
  22. data/sub/avm/lib/avm/data/callbacks.rb +36 -0
  23. data/sub/avm/lib/avm/data/clearer.rb +17 -0
  24. data/sub/avm/lib/avm/data/dumper.rb +137 -0
  25. data/sub/avm/lib/avm/data/loader.rb +23 -0
  26. data/sub/avm/lib/avm/data/package/base_performer.rb +36 -0
  27. data/sub/avm/lib/avm/data/package/build_directory.rb +25 -0
  28. data/sub/avm/lib/avm/data/package/clear.rb +19 -0
  29. data/sub/avm/lib/avm/data/package/dump.rb +42 -0
  30. data/sub/avm/lib/avm/data/package/load.rb +33 -0
  31. data/sub/avm/lib/avm/data/package.rb +64 -0
  32. data/sub/avm/lib/avm/data/performer.rb +45 -0
  33. data/sub/avm/lib/avm/data/rotate.rb +106 -0
  34. data/sub/avm/lib/avm/data/unit.rb +44 -0
  35. data/sub/avm/lib/avm/data/unit_with_commands.rb +48 -0
  36. data/sub/avm/lib/avm/docker/container.rb +47 -0
  37. data/sub/avm/lib/avm/docker/image.rb +70 -0
  38. data/sub/avm/lib/avm/docker/runner.rb +129 -0
  39. data/sub/avm/lib/avm/entries/auto_values/entry.rb +36 -0
  40. data/sub/avm/lib/avm/entries/auto_values/uri_entry.rb +21 -0
  41. data/sub/avm/lib/avm/entries/base/inherited_entry_value.rb +42 -0
  42. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/default_value.rb +24 -0
  43. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb +35 -0
  44. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/url_entry_value.rb +27 -0
  45. data/sub/avm/lib/avm/entries/base/uri_component_entry_value.rb +40 -0
  46. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/component_factory.rb +40 -0
  47. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb +59 -0
  48. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/path_component.rb +16 -0
  49. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/url_component.rb +22 -0
  50. data/sub/avm/lib/avm/entries/base/uri_components_entries_values.rb +23 -0
  51. data/sub/avm/lib/avm/entries/base.rb +53 -0
  52. data/sub/avm/lib/avm/entries/entry/no_context_entry.rb +21 -0
  53. data/sub/avm/lib/avm/entries/entry.rb +69 -0
  54. data/sub/avm/lib/avm/entries/jobs/base.rb +58 -0
  55. data/sub/avm/lib/avm/entries/jobs/variables_source/read_entry.rb +48 -0
  56. data/sub/avm/lib/avm/entries/jobs/variables_source.rb +13 -0
  57. data/sub/avm/lib/avm/entries/jobs/with_variables_source.rb +13 -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/executables.rb +21 -0
  61. data/sub/avm/lib/avm/file_formats/base.rb +34 -0
  62. data/sub/avm/lib/avm/file_formats/file_result.rb +11 -0
  63. data/sub/avm/lib/avm/file_formats/search_formatter.rb +83 -0
  64. data/sub/avm/lib/avm/file_formats/unknown.rb +15 -0
  65. data/sub/avm/lib/avm/file_formats/utf8_assert.rb +72 -0
  66. data/sub/avm/lib/avm/files/appendable/file_content.rb +28 -0
  67. data/sub/avm/lib/avm/files/appendable/plain_directory.rb +27 -0
  68. data/sub/avm/lib/avm/files/appendable/resource_base.rb +17 -0
  69. data/sub/avm/lib/avm/files/appendable/tar_output_command.rb +27 -0
  70. data/sub/avm/lib/avm/files/appendable/templatized_directory.rb +36 -0
  71. data/sub/avm/lib/avm/files/appendable.rb +51 -0
  72. data/sub/avm/lib/avm/files/appender.rb +9 -0
  73. data/sub/avm/lib/avm/files/deploy.rb +70 -0
  74. data/sub/avm/lib/avm/files/text_replacer/gsub.rb +22 -0
  75. data/sub/avm/lib/avm/files/text_replacer.rb +29 -0
  76. data/sub/avm/lib/avm/instances/base/auto_values/data.rb +28 -0
  77. data/sub/avm/lib/avm/instances/base/auto_values/database.rb +60 -0
  78. data/sub/avm/lib/avm/instances/base/auto_values/mailer.rb +31 -0
  79. data/sub/avm/lib/avm/instances/base/auto_values/source.rb +16 -0
  80. data/sub/avm/lib/avm/instances/base/auto_values.rb +12 -0
  81. data/sub/avm/lib/avm/instances/base/dockerizable.rb +41 -0
  82. data/sub/avm/lib/avm/instances/base/entry_keys.rb +25 -0
  83. data/sub/avm/lib/avm/instances/base/install.rb +28 -0
  84. data/sub/avm/lib/avm/instances/base/processes.rb +25 -0
  85. data/sub/avm/lib/avm/instances/base/production.rb +33 -0
  86. data/sub/avm/lib/avm/instances/base/subcommand_parent.rb +23 -0
  87. data/sub/avm/lib/avm/instances/base/web.rb +15 -0
  88. data/sub/avm/lib/avm/instances/base.rb +70 -0
  89. data/sub/avm/lib/avm/instances/data/files_unit.rb +57 -0
  90. data/sub/avm/lib/avm/instances/data/loading_denied_error.rb +10 -0
  91. data/sub/avm/lib/avm/instances/data/package.rb +25 -0
  92. data/sub/avm/lib/avm/instances/data/unit.rb +36 -0
  93. data/sub/avm/lib/avm/instances/docker_image.rb +13 -0
  94. data/sub/avm/lib/avm/instances/entry_keys.rb +39 -0
  95. data/sub/avm/lib/avm/instances/ids.rb +28 -0
  96. data/sub/avm/lib/avm/instances/process.rb +29 -0
  97. data/sub/avm/lib/avm/instances/runner.rb +34 -0
  98. data/sub/avm/lib/avm/launcher/context/instance_collector.rb +44 -0
  99. data/sub/avm/lib/avm/launcher/context/instance_discovery/root_source_wrappers.rb +31 -0
  100. data/sub/avm/lib/avm/launcher/context/instance_discovery/root_sources.rb +48 -0
  101. data/sub/avm/lib/avm/launcher/context/instance_discovery/source_wrapper.rb +61 -0
  102. data/sub/avm/lib/avm/launcher/context/instance_discovery.rb +27 -0
  103. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instance.rb +34 -0
  104. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instances.rb +32 -0
  105. data/sub/avm/lib/avm/launcher/context/instance_manager.rb +74 -0
  106. data/sub/avm/lib/avm/launcher/context/settings.rb +51 -0
  107. data/sub/avm/lib/avm/launcher/context.rb +83 -0
  108. data/sub/avm/lib/avm/launcher/errors/base.rb +10 -0
  109. data/sub/avm/lib/avm/launcher/errors/non_project.rb +13 -0
  110. data/sub/avm/lib/avm/launcher/instances/base/cache.rb +43 -0
  111. data/sub/avm/lib/avm/launcher/instances/base/publishing.rb +53 -0
  112. data/sub/avm/lib/avm/launcher/instances/base.rb +77 -0
  113. data/sub/avm/lib/avm/launcher/instances/error.rb +10 -0
  114. data/sub/avm/lib/avm/launcher/instances/runner_helper.rb +43 -0
  115. data/sub/avm/lib/avm/launcher/instances/settings.rb +24 -0
  116. data/sub/avm/lib/avm/launcher/paths/logical.rb +78 -0
  117. data/sub/avm/lib/avm/launcher/paths/real.rb +44 -0
  118. data/sub/avm/lib/avm/launcher/project.rb +15 -0
  119. data/sub/avm/lib/avm/launcher/publish/base.rb +44 -0
  120. data/sub/avm/lib/avm/launcher/publish/check_result.rb +64 -0
  121. data/sub/avm/lib/avm/launcher/stereotype.rb +63 -0
  122. data/sub/avm/lib/avm/patches/eac_config/entry_path.rb +44 -0
  123. data/sub/avm/lib/avm/path_string.rb +27 -0
  124. data/sub/avm/lib/avm/registry/application_scms.rb +13 -0
  125. data/sub/avm/lib/avm/registry/application_stereotypes/build_available.rb +45 -0
  126. data/sub/avm/lib/avm/registry/application_stereotypes/stereotype_builder.rb +30 -0
  127. data/sub/avm/lib/avm/registry/application_stereotypes.rb +42 -0
  128. data/sub/avm/lib/avm/registry/applications.rb +35 -0
  129. data/sub/avm/lib/avm/registry/base.rb +26 -0
  130. data/sub/avm/lib/avm/registry/config_objects.rb +15 -0
  131. data/sub/avm/lib/avm/registry/detection_error.rb +8 -0
  132. data/sub/avm/lib/avm/registry/file_formats.rb +17 -0
  133. data/sub/avm/lib/avm/registry/from_gems.rb +67 -0
  134. data/sub/avm/lib/avm/registry/instances.rb +13 -0
  135. data/sub/avm/lib/avm/registry/launcher_stereotypes.rb +8 -0
  136. data/sub/avm/lib/avm/registry/runners.rb +8 -0
  137. data/sub/avm/lib/avm/registry/scms.rb +8 -0
  138. data/sub/avm/lib/avm/registry/source_generators.rb +14 -0
  139. data/sub/avm/lib/avm/registry/sources.rb +38 -0
  140. data/sub/avm/lib/avm/registry/with_path/cache.rb +28 -0
  141. data/sub/avm/lib/avm/registry/with_path.rb +44 -0
  142. data/sub/avm/lib/avm/registry.rb +31 -0
  143. data/sub/avm/lib/avm/result.rb +80 -0
  144. data/sub/avm/lib/avm/rspec/launcher_controller.rb +102 -0
  145. data/sub/avm/lib/avm/rspec/setup/launcher.rb +18 -0
  146. data/sub/avm/lib/avm/rspec/setup/source_generator.rb +20 -0
  147. data/sub/avm/lib/avm/rspec/setup.rb +32 -0
  148. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_format_file_resource_name.rb +13 -0
  149. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_formats_with_fixtures.rb +28 -0
  150. data/sub/avm/lib/avm/rspec/shared_examples/avm_source_generated.rb +27 -0
  151. data/sub/avm/lib/avm/rspec/shared_examples/entries_values.rb +19 -0
  152. data/sub/avm/lib/avm/rspec/shared_examples/in_avm_registry.rb +9 -0
  153. data/sub/avm/lib/avm/rspec/shared_examples/not_in_avm_registry.rb +12 -0
  154. data/sub/avm/lib/avm/rspec/shared_examples/with_config.rb +9 -0
  155. data/sub/avm/lib/avm/rspec/shared_examples/with_launcher.rb +13 -0
  156. data/sub/avm/lib/avm/runner_with/file_replacer.rb +28 -0
  157. data/sub/avm/lib/avm/runner_with/filesystem_renamer.rb +99 -0
  158. data/sub/avm/lib/avm/runner_with/filesystem_traverser.rb +49 -0
  159. data/sub/avm/lib/avm/runners/base.rb +25 -0
  160. data/sub/avm/lib/avm/scms/auto_commit/file_resource_name.rb +47 -0
  161. data/sub/avm/lib/avm/scms/auto_commit/for_file.rb +79 -0
  162. data/sub/avm/lib/avm/scms/auto_commit/rules/base.rb +37 -0
  163. data/sub/avm/lib/avm/scms/auto_commit/rules/last.rb +17 -0
  164. data/sub/avm/lib/avm/scms/auto_commit/rules/manual.rb +38 -0
  165. data/sub/avm/lib/avm/scms/auto_commit/rules/new.rb +21 -0
  166. data/sub/avm/lib/avm/scms/auto_commit/rules/nth.rb +29 -0
  167. data/sub/avm/lib/avm/scms/auto_commit/rules/unique.rb +19 -0
  168. data/sub/avm/lib/avm/scms/auto_commit/rules.rb +32 -0
  169. data/sub/avm/lib/avm/scms/base/branches.rb +20 -0
  170. data/sub/avm/lib/avm/scms/base/commits.rb +32 -0
  171. data/sub/avm/lib/avm/scms/base/milestones.rb +19 -0
  172. data/sub/avm/lib/avm/scms/base/remotes.rb +20 -0
  173. data/sub/avm/lib/avm/scms/base.rb +59 -0
  174. data/sub/avm/lib/avm/scms/branch.rb +24 -0
  175. data/sub/avm/lib/avm/scms/changed_file.rb +46 -0
  176. data/sub/avm/lib/avm/scms/commit.rb +64 -0
  177. data/sub/avm/lib/avm/scms/commit_info.rb +37 -0
  178. data/sub/avm/lib/avm/scms/inflector.rb +22 -0
  179. data/sub/avm/lib/avm/scms/interval.rb +16 -0
  180. data/sub/avm/lib/avm/scms/null/commit.rb +11 -0
  181. data/sub/avm/lib/avm/scms/null.rb +16 -0
  182. data/sub/avm/lib/avm/scms/remote.rb +9 -0
  183. data/sub/avm/lib/avm/self/docker_image.rb +11 -0
  184. data/sub/avm/lib/avm/self/instance/entry_keys.rb +12 -0
  185. data/sub/avm/lib/avm/self/instance.rb +27 -0
  186. data/sub/avm/lib/avm/source_generators/base.rb +69 -0
  187. data/sub/avm/lib/avm/source_generators/option.rb +11 -0
  188. data/sub/avm/lib/avm/source_generators/option_list.rb +29 -0
  189. data/sub/avm/lib/avm/source_generators/runner.rb +55 -0
  190. data/sub/avm/lib/avm/sources/auto_commit/for_file.rb +29 -0
  191. data/sub/avm/lib/avm/sources/base/application.rb +32 -0
  192. data/sub/avm/lib/avm/sources/base/configuration.rb +89 -0
  193. data/sub/avm/lib/avm/sources/base/instance.rb +13 -0
  194. data/sub/avm/lib/avm/sources/base/locale.rb +30 -0
  195. data/sub/avm/lib/avm/sources/base/organizational.rb +30 -0
  196. data/sub/avm/lib/avm/sources/base/parent.rb +26 -0
  197. data/sub/avm/lib/avm/sources/base/stereotype.rb +16 -0
  198. data/sub/avm/lib/avm/sources/base/sub/remove.rb +36 -0
  199. data/sub/avm/lib/avm/sources/base/sub.rb +23 -0
  200. data/sub/avm/lib/avm/sources/base/subs.rb +63 -0
  201. data/sub/avm/lib/avm/sources/base/subs_paths.rb +30 -0
  202. data/sub/avm/lib/avm/sources/base/testing.rb +67 -0
  203. data/sub/avm/lib/avm/sources/base/update.rb +63 -0
  204. data/sub/avm/lib/avm/sources/base/update_sub.rb +55 -0
  205. data/sub/avm/lib/avm/sources/base/update_subs.rb +17 -0
  206. data/sub/avm/lib/avm/sources/base/version_bump.rb +26 -0
  207. data/sub/avm/lib/avm/sources/base.rb +56 -0
  208. data/sub/avm/lib/avm/sources/change.rb +27 -0
  209. data/sub/avm/lib/avm/sources/configuration/rubocop.rb +26 -0
  210. data/sub/avm/lib/avm/sources/configuration.rb +57 -0
  211. data/sub/avm/lib/avm/sources/issues/deliver.rb +51 -0
  212. data/sub/avm/lib/avm/sources/runner.rb +38 -0
  213. data/sub/avm/lib/avm/sources/tests/builder.rb +94 -0
  214. data/sub/avm/lib/avm/sources/tests/performer.rb +32 -0
  215. data/sub/avm/lib/avm/sources/tests/result.rb +13 -0
  216. data/sub/avm/lib/avm/sources/tests/single.rb +71 -0
  217. data/sub/avm/lib/avm/sources/update_error.rb +8 -0
  218. data/sub/avm/lib/avm/sync.rb +90 -0
  219. data/sub/avm/lib/avm/version.rb +5 -0
  220. data/sub/avm/lib/avm/version_number.rb +45 -0
  221. data/sub/avm/lib/avm/with/application_stereotype.rb +29 -0
  222. data/sub/avm/lib/avm/with/extra_subcommands.rb +41 -0
  223. data/sub/avm/lib/avm.rb +11 -0
  224. data/sub/avm/locale/en.yml +6 -0
  225. data/sub/avm/locale/pt-BR.yml +6 -0
  226. data/sub/avm/spec/lib/avm/applications/base/entries_spec.rb +29 -0
  227. data/sub/avm/spec/lib/avm/applications/base/entries_spec_files/config.yml +12 -0
  228. data/sub/avm/spec/lib/avm/applications/base_spec.rb +21 -0
  229. data/sub/avm/spec/lib/avm/applications/base_spec_fixture.yml +3 -0
  230. data/sub/avm/spec/lib/avm/file_formats/base_spec.rb +9 -0
  231. data/sub/avm/spec/lib/avm/instances/base/entries_spec.rb +78 -0
  232. data/sub/avm/spec/lib/avm/instances/base/entries_spec_files/config.yml +50 -0
  233. data/sub/avm/spec/lib/avm/instances/base_spec.rb +29 -0
  234. data/sub/avm/spec/lib/avm/launcher/context_spec.rb +102 -0
  235. data/sub/avm/spec/lib/avm/launcher/context_spec.yml +5 -0
  236. data/sub/avm/spec/lib/avm/launcher/context_spec_files/config.yml +9 -0
  237. data/sub/avm/spec/lib/avm/launcher/instances/base_spec.rb +39 -0
  238. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/config.yml +5 -0
  239. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/settings.yaml +5 -0
  240. data/sub/avm/spec/lib/avm/patches/eac_config/entry_path_spec.rb +26 -0
  241. data/sub/avm/spec/lib/avm/scms/auto_commit/file_resource_name_spec.rb +20 -0
  242. data/sub/avm/spec/lib/avm/scms/base_spec.rb +5 -0
  243. data/sub/avm/spec/lib/avm/sources/base_spec.rb +5 -0
  244. data/sub/avm/spec/lib/avm/sources/runner_spec.rb +7 -0
  245. data/sub/avm/spec/spec_helper/launcher_context/settings.yml +6 -0
  246. data/sub/avm/spec/spec_helper.rb +7 -0
  247. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/avm-tools.gemspec +29 -0
  248. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/lib/avm/tools/version.rb +7 -0
  249. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/lib/avm/tools.rb +6 -0
  250. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/lib/ruby_gem_stub/version.rb +5 -0
  251. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/lib/ruby_gem_stub.rb +3 -0
  252. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/ruby_gem_stub.gemspec +16 -0
  253. data/sub/avm/template/avm/rspec/launcher_controller/settings.yml +1 -0
  254. data/sub/avm/template/avm/self/docker_image/Dockerfile +17 -0
  255. data/sub/avm/template/avm/self/docker_image/entrypoint.sh +12 -0
  256. data/sub/avm-eac_redmine_plugin_base0/.gitrepo +7 -0
  257. data/sub/avm-eac_redmine_plugin_base0/.rubocop.yml +3 -0
  258. data/sub/avm-eac_redmine_plugin_base0/avm-eac_redmine_plugin_base0.gemspec +21 -0
  259. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base/init.rb +23 -0
  260. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base/parent.rb +28 -0
  261. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base/plugins_dependencies.rb +25 -0
  262. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base/rubocop.rb +26 -0
  263. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base/update.rb +18 -0
  264. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base/version.rb +28 -0
  265. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb +33 -0
  266. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/init_file/plugin_id.rb +23 -0
  267. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/init_file/version.rb +27 -0
  268. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/init_file/version_set.rb +39 -0
  269. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/init_file.rb +26 -0
  270. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/update_changes/plugins_requirements.rb +47 -0
  271. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/version.rb +7 -0
  272. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0.rb +6 -0
  273. data/sub/avm-eac_redmine_plugin_base0/locale/en.yml +7 -0
  274. data/sub/avm-eac_redmine_plugin_base0/locale/pt-BR.yml +7 -0
  275. data/sub/avm-eac_redmine_plugin_base0/spec/lib/avm/eac_redmine_plugin_base0/sources/init_file_spec.rb +14 -0
  276. data/sub/avm-eac_redmine_plugin_base0/spec/lib/avm/eac_redmine_plugin_base0/sources/init_file_spec_files/a_init_file.rb +12 -0
  277. data/sub/{eac_ruby_gem_support → avm-eac_redmine_plugin_base0}/spec/spec_helper.rb +1 -1
  278. data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +1 -1
  279. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/file_formats/base.rb +2 -1
  280. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/command/build.rb +41 -0
  281. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/command.rb +80 -0
  282. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/offense_set/file.rb +51 -0
  283. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/offense_set/line_processor.rb +54 -0
  284. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/offense_set/offense.rb +34 -0
  285. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/offense_set.rb +28 -0
  286. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/runner/configured.rb +31 -0
  287. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/runner/envvar.rb +17 -0
  288. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/runner/gemfile.rb +41 -0
  289. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/runner.rb +56 -0
  290. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base/rubocop.rb +1 -1
  291. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubocop.rb +11 -0
  292. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubocop_command.rb +18 -37
  293. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/update.rb +2 -1
  294. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update/changes/rubocop_format.rb +31 -0
  295. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update/changes/update_requirements.rb +1 -1
  296. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +1 -1
  297. data/sub/avm-eac_ruby_base1/locale/en.yml +2 -0
  298. data/sub/avm-eac_ruby_base1/locale/pt-BR.yml +2 -0
  299. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/base_command/execution.rb +13 -3
  300. data/sub/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  301. metadata +298 -38
  302. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/configured.rb +0 -29
  303. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/envvar.rb +0 -15
  304. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/gemfile.rb +0 -39
  305. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop.rb +0 -54
  306. data/sub/eac_ruby_gem_support/.gitrepo +0 -7
  307. data/sub/eac_ruby_gem_support/.rubocop.yml +0 -45
  308. data/sub/eac_ruby_gem_support/eac_ruby_gem_support.gemspec +0 -27
  309. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/helpers/filesystem.rb +0 -73
  310. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/helpers/utils.rb +0 -22
  311. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/setup/rubocop.rb +0 -61
  312. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/setup.rb +0 -52
  313. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/shared_examples/source_target_fixtures.rb +0 -73
  314. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/shared_examples/spec_paths.rb +0 -11
  315. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/source_target_fixtures_controller.rb +0 -29
  316. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/spec_paths_controller.rb +0 -27
  317. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/source_target_fixtures/source_target_file.rb +0 -17
  318. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/source_target_fixtures.rb +0 -72
  319. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/version.rb +0 -5
  320. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support.rb +0 -9
  321. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/helpers/filesystem_spec.rb +0 -30
  322. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/shared_examples/source_target_fixtures_spec.rb +0 -11
  323. 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
  324. 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
  325. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/shared_examples/spec_paths_spec.rb +0 -17
  326. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec.rb +0 -25
  327. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec_files/stub1.source.txt +0 -1
  328. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec_files/stub1.target.html +0 -1
  329. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec_files/stub2.source.html +0 -1
  330. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec_files/stub3.target.yaml +0 -1
  331. /data/sub/{eac_ruby_gem_support → avm-eac_redmine_plugin_base0}/.gitignore +0 -0
  332. /data/sub/{eac_ruby_gem_support → avm-eac_redmine_plugin_base0}/.rspec +0 -0
  333. /data/sub/{eac_ruby_gem_support → avm-eac_redmine_plugin_base0}/Gemfile +0 -0
@@ -0,0 +1,80 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Rubocop
6
+ class Command
7
+ acts_as_immutable
8
+ immutable_accessor :autocorrect_safe, :autocorrect_unsafe, :ignore_parent_exclusion,
9
+ :old_options, type: :boolean
10
+ immutable_accessor :file, type: :array
11
+ immutable_accessor :config, :format, :gemfile, type: :common
12
+
13
+ # @return [String]
14
+ def autocorrect_safe_option
15
+ old_options? ? '--auto-correct' : '--autocorrect'
16
+ end
17
+
18
+ # @return [String]
19
+ def autocorrect_unsafe_option
20
+ old_options? ? '--auto-correct-all' : '--autocorrect-all'
21
+ end
22
+
23
+ # @return [Array<String>]
24
+ def autocorrect_to_args
25
+ if autocorrect_unsafe?
26
+ [autocorrect_unsafe_option]
27
+ elsif autocorrect_safe?
28
+ [autocorrect_safe_option]
29
+ else
30
+ []
31
+ end
32
+ end
33
+
34
+ # @return [Array<String>]
35
+ def build_args
36
+ %w[prefix config ignore_parent_exclusion autocorrect format files].inject([]) do |a, e|
37
+ a + send("#{e}_to_args")
38
+ end
39
+ end
40
+
41
+ # @return [Array<String>]
42
+ def bundle_command_args
43
+ %w[exec rubocop] + rubocop_command_args
44
+ end
45
+
46
+ # @return [Array<String>]
47
+ def config_to_args
48
+ config.if_present([]) { |v| ['--config', v] }
49
+ end
50
+
51
+ # @return [Array<String>]
52
+ def files_to_args
53
+ files
54
+ end
55
+
56
+ # @return [Array<String>]
57
+ def format_to_args
58
+ format.if_present([]) { |v| ['--format', v] }
59
+ end
60
+
61
+ # @return [String]
62
+ def ignore_parent_exclusion_option
63
+ '--ignore-parent-exclusion'
64
+ end
65
+
66
+ # @return [Array<String>]
67
+ def ignore_parent_exclusion_to_args
68
+ ignore_parent_exclusion? ? [ignore_parent_exclusion_option] : []
69
+ end
70
+
71
+ # @return [Array<String>]
72
+ def prefix_to_args
73
+ (gemfile.present? ? %w[bundle exec] : []) + ['rubocop']
74
+ end
75
+
76
+ require_sub __FILE__, require_mode: :kernel
77
+ end
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Rubocop
6
+ class OffenseSet
7
+ class File
8
+ class << self
9
+ # @param data [Hash]
10
+ # @return [FileOffenses]
11
+ def by_data(data)
12
+ new(data.fetch('path'), data.fetch('offenses').map do |odata|
13
+ ::Avm::EacRubyBase1::Rubocop::OffenseSet::Offense.by_data(odata)
14
+ end)
15
+ end
16
+ end
17
+
18
+ common_constructor :path, :offenses do
19
+ self.path = path.to_pathname
20
+ end
21
+
22
+ # @return [void]
23
+ def disable_offenses
24
+ path.write(disable_rubocop_content)
25
+ end
26
+
27
+ # @return [Boolean]
28
+ def offenses?
29
+ offenses.any?
30
+ end
31
+
32
+ private
33
+
34
+ # @return [String]
35
+ def disable_rubocop_content
36
+ path.read.each_line.with_index.map do |line, index|
37
+ ::Avm::EacRubyBase1::Rubocop::OffenseSet::LineProcessor
38
+ .new(line, line_offenses(index)).result
39
+ end.join
40
+ end
41
+
42
+ # @param index [Integer]
43
+ # @return [Enumerable<Offense>]
44
+ def line_offenses(index)
45
+ offenses.select { |o| o.line_index == index }
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Rubocop
6
+ class OffenseSet
7
+ class LineProcessor
8
+ LINE_STRUCT = ::Struct.new(:left, :right)
9
+ LINE_PATTERN = /\A(.+)(?:\#\s*rubocop:disable\s*(.+))?\z/
10
+
11
+ enable_simple_cache
12
+ common_constructor :line, :offenses
13
+
14
+ def result
15
+ r = line_left
16
+ r += " # rubocop:disable #{all_cops.join(',')}" if all_cops.any?
17
+ "#{r}\n"
18
+ end
19
+
20
+ private
21
+
22
+ # @return [Array<String>]
23
+ def all_cops_uncached
24
+ (current_cops + offenses_cops).uniq.sort
25
+ end
26
+
27
+ # @return [Array<String>]
28
+ def current_cops
29
+ parsed_line[1].if_present([]) { |s| s.split(',').map(&:strip).select(&:present) }
30
+ end
31
+
32
+ # @return [Array<String>]
33
+ def offenses_cops
34
+ offenses.map(&:cop_name)
35
+ end
36
+
37
+ def line_left
38
+ parsed_line[0]
39
+ end
40
+
41
+ # @return [LINE_STRUCT]
42
+ def parsed_line_uncached
43
+ m = LINE_PATTERN.match(line)
44
+ if m
45
+ LINE_STRUCT.new(m[1].rstrip, m[2].rstrip)
46
+ else
47
+ LINE_STRUCT.new(line.rstrip, nil)
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Rubocop
6
+ class OffenseSet
7
+ class Offense
8
+ class << self
9
+ def by_data(data)
10
+ new(data)
11
+ end
12
+ end
13
+
14
+ common_constructor :data
15
+
16
+ # @return [String]
17
+ def cop_name
18
+ data.fetch('cop_name')
19
+ end
20
+
21
+ # @return [Integer]
22
+ def line_index
23
+ line_number - 1
24
+ end
25
+
26
+ # @return [Integer]
27
+ def line_number
28
+ data.fetch('location').fetch('line')
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Rubocop
6
+ class OffenseSet
7
+ class << self
8
+ # @param json_text [String] The output of `rubocop --format json`.
9
+ # @return [Avm::EacRubyBase1::Rubocop::OffenseSet]
10
+ def from_json(json_text)
11
+ new(
12
+ JSON.parse(json_text).fetch('files').map do |data|
13
+ ::Avm::EacRubyBase1::Rubocop::OffenseSet::File.by_data(data)
14
+ end.select(&:offenses?)
15
+ )
16
+ end
17
+ end
18
+
19
+ common_constructor :files
20
+
21
+ # @return [void]
22
+ def disable_all
23
+ files.each(&:disable_offenses)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Rubocop
6
+ class Runner
7
+ module Configured
8
+ def configured_rubocop_command_uncached
9
+ configured_rubocop_command_by_command || configured_rubocop_command_by_gemfile
10
+ end
11
+
12
+ def configured_rubocop_command_by_command
13
+ configuration.if_present(&:rubocop_command)
14
+ end
15
+
16
+ def configured_rubocop_command_by_gemfile
17
+ configuration.if_present(&:rubocop_gemfile).if_present do |v|
18
+ rubocop_command_by_gemfile_path(v.parent)
19
+ end
20
+ end
21
+
22
+ private
23
+
24
+ def configuration_uncached
25
+ ::Avm::Sources::Configuration.find_by_path(base_path)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Rubocop
6
+ class Runner
7
+ module Envvar
8
+ RUBOCOP_COMMAND_ENVVAR_NAME = 'RUBOCOP_COMMAND'
9
+
10
+ def env_rubocop_command
11
+ ENV[RUBOCOP_COMMAND_ENVVAR_NAME].present? ? cmd(ENV[RUBOCOP_COMMAND_ENVVAR_NAME]) : nil
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Rubocop
6
+ class Runner
7
+ module Gemfile
8
+ def gemfile_rubocop_command
9
+ return nil unless rubocop_gemfile?
10
+
11
+ rubocop_command_by_gemfile_path(mygem.path)
12
+ end
13
+
14
+ def rubocop_command_by_gemfile_path(path)
15
+ ::Avm::EacRubyBase1::Sources::Base.new(path).bundle('exec', 'rubocop').chdir_root
16
+ end
17
+
18
+ def rubocop_gemfile?
19
+ return false if mygem.blank?
20
+
21
+ mygem.bundle('install').execute!
22
+ mygem.gemfile_lock_gem_version('rubocop').present?
23
+ end
24
+
25
+ private
26
+
27
+ def mygem_uncached
28
+ find_gem(::Pathname.new(base_path).expand_path)
29
+ end
30
+
31
+ def find_gem(path)
32
+ r = ::Avm::EacRubyBase1::Sources::Base.new(path)
33
+ return r if r.gemfile_path.exist?
34
+
35
+ find_gem(path.dirname) unless path.root?
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Rubocop
6
+ class Runner
7
+ require_sub __FILE__, include_modules: true
8
+ enable_speaker
9
+ enable_simple_cache
10
+ common_constructor :base_path, :rubocop_args
11
+ set_callback :initialize, :after do
12
+ @base_path = ::Pathname.new(base_path.to_s) unless base_path.is_a?(::Pathname)
13
+ end
14
+
15
+ def run
16
+ start_banner
17
+ run_rubocop
18
+ end
19
+
20
+ private
21
+
22
+ def cmd(*)
23
+ ::EacRubyUtils::Envs.local.command(*)
24
+ end
25
+
26
+ def rubocop_command_uncached
27
+ %w[env configured gemfile].each do |s|
28
+ cmd = send("#{s}_rubocop_command")
29
+ return cmd if cmd.present?
30
+ end
31
+ cmd('rubocop')
32
+ end
33
+
34
+ def rubocop_command_with_args
35
+ rubocop_command.append(rubocop_args)
36
+ end
37
+
38
+ def rubocop_version_uncached
39
+ ::EacRubyUtils::Ruby.on_clean_environment do
40
+ rubocop_command.append(['--ignore-parent-exclusion', '--version']).execute!.strip
41
+ rescue EacRubyUtils::Envs::ExecutionError
42
+ rubocop_command.append(['--version']).execute!.strip
43
+ end
44
+ end
45
+
46
+ def run_rubocop
47
+ ::EacRubyUtils::Ruby.on_clean_environment { rubocop_command_with_args.system }
48
+ end
49
+
50
+ def start_banner
51
+ infov 'Rubocop version', rubocop_version
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -12,7 +12,7 @@ module Avm
12
12
  end
13
13
 
14
14
  def run
15
- ::Avm::EacRubyBase1::Rubocop.new(path, parsed.rubocop_args).run
15
+ ::Avm::EacRubyBase1::Rubocop::Runner.new(path, parsed.rubocop_args).run
16
16
  end
17
17
 
18
18
  private
@@ -16,6 +16,17 @@ module Avm
16
16
  def rubocop_config_path
17
17
  path.join(RUBOCOP_CONFIG_SUBPATH)
18
18
  end
19
+
20
+ # @return [Avm::EacRubyBase1::Rubocop::OffenseSet]
21
+ def rubocop_offenses
22
+ ::Avm::EacRubyBase1::Rubocop::OffenseSet
23
+ .from_json(rubocop_root_command.format('json').execute.fetch(:stdout))
24
+ end
25
+
26
+ # @return [Avm::EacRubyBase1::Sources::Base::RubocopCommand]
27
+ def rubocop_root_command
28
+ rubocop_command.ignore_parent_exclusion(true).file(path)
29
+ end
19
30
  end
20
31
  end
21
32
  end
@@ -9,6 +9,7 @@ module Avm
9
9
  immutable_accessor :ignore_parent_exclusion, :autocorrect, :autocorrect_all,
10
10
  type: :boolean
11
11
  immutable_accessor :file, type: :array
12
+ immutable_accessor :format, type: :common
12
13
  common_constructor :source
13
14
  delegate :execute, :execute!, :system, :system!, to: :bundle_command
14
15
 
@@ -20,48 +21,28 @@ module Avm
20
21
  # @return [Gemspec::Version]
21
22
  def version
22
23
  @version ||= ::Gem::Version.new(
23
- source.bundle('exec', 'rubocop', '--version').execute!
24
+ rubocop_command.extra_arg('--version').build.execute!
24
25
  )
25
26
  end
26
27
 
27
28
  private
28
29
 
29
- # @return [String]
30
- def autocorrect_option
31
- '--auto-correct'
32
- end
33
-
34
- # @return [String]
35
- def autocorrect_all_option
36
- version < '1.30' ? '--auto-correct-all' : '--autocorrect-all'
37
- end
38
-
39
- # @return [String]
40
- def ignore_parent_exclusion_option
41
- '--ignore-parent-exclusion'
42
- end
43
-
44
- # @return [Avm::EacRubyBase1::Sources::Base::BundleCommand]
45
- def bundle_command
46
- source.bundle(*bundle_command_args)
47
- end
48
-
49
- # @return [Array<String>]
50
- def bundle_command_args
51
- %w[exec rubocop] + rubocop_command_args
52
- end
53
-
54
- # @return [Array<String>]
55
- def rubocop_command_args
56
- r = []
57
- r += ['--config', source.rubocop_config_path] if source.rubocop_config_path.file?
58
- r << ignore_parent_exclusion_option if ignore_parent_exclusion?
59
- if autocorrect_all?
60
- r << autocorrect_all_option
61
- elsif autocorrect?
62
- r << autocorrect_option
63
- end
64
- r + files
30
+ # @return [EacRubyUtils::Ruby::Command]
31
+ def bundle_command # rubocop:disable Metrics/AbcSize
32
+ r = rubocop_command
33
+ .autocorrect_safe(autocorrect?)
34
+ .autocorrect_unsafe(autocorrect_all?)
35
+ .files(files)
36
+ .format(format)
37
+ .gemfile(source.gemfile_path)
38
+ .ignore_parent_exclusion(ignore_parent_exclusion)
39
+ r = r.config(source.rubocop_config_path) if source.rubocop_config_path.file?
40
+ r.build
41
+ end
42
+
43
+ # @return [Avm::EacRubyBase1::Rubocop::Command]
44
+ def rubocop_command
45
+ ::Avm::EacRubyBase1::Rubocop::Command.new.gemfile(source.gemfile_path)
65
46
  end
66
47
  end
67
48
  end
@@ -13,7 +13,8 @@ module Avm
13
13
  # @param changes [Enumerable<Avm::Sources::Change>]
14
14
  def update_self_changes_after_subs
15
15
  super + [
16
- ::Avm::EacRubyBase1::Sources::Update::Changes::UpdateRequirements.new(self)
16
+ ::Avm::EacRubyBase1::Sources::Update::Changes::UpdateRequirements.new(self),
17
+ ::Avm::EacRubyBase1::Sources::Update::Changes::RubocopFormat.new(self)
17
18
  ]
18
19
  end
19
20
 
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRubyBase1
5
+ module Sources
6
+ module Update
7
+ module Changes
8
+ class RubocopFormat < ::Avm::Sources::Change
9
+ # @return [void]
10
+ def perform
11
+ return if autofix
12
+
13
+ disable_offenses
14
+ autofix
15
+ end
16
+
17
+ # @return [Boolean]
18
+ def autofix
19
+ source.rubocop_root_command.autocorrect(true).system
20
+ end
21
+
22
+ # @return [void]
23
+ def disable_offenses
24
+ source.rubocop_offenses.disable_all
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -31,7 +31,7 @@ module Avm
31
31
 
32
32
  # @return [String]
33
33
  def format_gemspec
34
- source.rubocop_command.ignore_parent_exclusion(true).autocorrect(true)
34
+ source.rubocop_root_command.autocorrect(true)
35
35
  .file(source.gemspec_path)
36
36
  .execute!(exit_outputs: RUBOCOP_OK_CODES.index_with { |_k| nil })
37
37
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRubyBase1
5
- VERSION = '0.44.0'
5
+ VERSION = '0.45.0'
6
6
  end
7
7
  end
@@ -15,5 +15,7 @@ en:
15
15
  changes:
16
16
  bundle_update:
17
17
  commit_message: '%{gemfile_lock_path}: "bundle update".'
18
+ rubocop_format:
19
+ commit_message: '**/*.rb: format with "rubocop".'
18
20
  update_requirements:
19
21
  commit_message: 'Gemspec#dependencies[*]: update requirements.'
@@ -15,5 +15,7 @@ pt-BR:
15
15
  changes:
16
16
  bundle_update:
17
17
  commit_message: '%{gemfile_lock_path}: "bundle update".'
18
+ rubocop_format:
19
+ commit_message: '**/*.rb: format with "rubocop".'
18
20
  update_requirements:
19
21
  commit_message: 'Gemspec#dependencies[*]: atualiza requisitos.'
@@ -10,6 +10,12 @@ module EacRubyUtils
10
10
  module Envs
11
11
  module BaseCommand
12
12
  module Execution
13
+ common_concern do
14
+ include ActiveSupport::Callbacks
15
+
16
+ define_callbacks :any_execution, :execute, :spawn, :system
17
+ end
18
+
13
19
  def execute!(options = {})
14
20
  options[:exit_outputs] = status_results.merge(options[:exit_outputs].presence || {})
15
21
  er = ::EacRubyUtils::Envs::ExecutionResult.new(execute(options), options)
@@ -23,7 +29,9 @@ module EacRubyUtils
23
29
  c = command(options)
24
30
  debug_print("BEFORE: #{c}")
25
31
  t1 = Time.now
26
- r = ::EacRubyUtils::Envs::Process.new(c).to_h
32
+ r = run_callbacks :any_execution, :execute do
33
+ ::EacRubyUtils::Envs::Process.new(c).to_h
34
+ end
27
35
  i = Time.now - t1
28
36
  debug_print("AFTER [#{i}]: #{c}")
29
37
  r
@@ -32,7 +40,9 @@ module EacRubyUtils
32
40
  def spawn(options = {})
33
41
  c = command(options)
34
42
  debug_print("SPAWN: #{c}")
35
- ::EacRubyUtils::Envs::Spawn.new(c)
43
+ run_callbacks :any_execution, :spawn do
44
+ ::EacRubyUtils::Envs::Spawn.new(c)
45
+ end
36
46
  end
37
47
 
38
48
  def system!(options = {})
@@ -44,7 +54,7 @@ module EacRubyUtils
44
54
  def system(options = {})
45
55
  c = command(options)
46
56
  debug_print(c)
47
- Kernel.system(c)
57
+ run_callbacks(:any_execution, :system) { Kernel.system(c) }
48
58
  end
49
59
  end
50
60
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacRubyUtils
4
- VERSION = '0.132.0'
4
+ VERSION = '0.133.0'
5
5
  end