eac_tools 0.120.0 → 0.122.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 (311) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +58 -47
  3. data/eac_tools.gemspec +5 -5
  4. data/lib/eac_tools/version.rb +1 -1
  5. data/sub/avm-eac_generic_base0/.gitrepo +7 -0
  6. data/sub/avm-eac_generic_base0/avm-eac_generic_base0.gemspec +21 -0
  7. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/apply.rb +29 -0
  8. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/file_resource_name_helper.rb +21 -0
  9. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/match.rb +65 -0
  10. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb +38 -0
  11. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/instances/base.rb +10 -0
  12. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/base.rb +40 -0
  13. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/docker/runner.rb +107 -0
  14. data/sub/{avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/version_file_spec_files/a_version_file.rb → avm-eac_generic_base0/lib/avm/eac_generic_base0/version.rb} +2 -2
  15. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0.rb +11 -0
  16. data/sub/avm-eac_generic_base0/locale/en.yml +6 -0
  17. data/sub/avm-eac_generic_base0/locale/pt-BR.yml +6 -0
  18. data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/file_formats/base_spec.rb +5 -0
  19. data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/file_formats/base_spec_files/plain_text.source +3 -0
  20. data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/file_formats/base_spec_files/plain_text.target +3 -0
  21. data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/sources/base_spec.rb +5 -0
  22. data/sub/avm-eac_generic_base0/spec/rubocop_spec.rb +3 -0
  23. data/sub/{avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem → avm-eac_generic_base0}/spec/spec_helper.rb +1 -1
  24. data/sub/avm-eac_redmine_base0/.gitignore +2 -0
  25. data/sub/avm-eac_redmine_base0/.gitrepo +7 -0
  26. data/sub/avm-eac_redmine_base0/.rubocop.yml +2 -0
  27. data/sub/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +26 -0
  28. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/apache_host.rb +10 -0
  29. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/database.rb +27 -0
  30. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/files.rb +18 -0
  31. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/gitolite.rb +52 -0
  32. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/install.rb +43 -0
  33. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/nodejs.rb +19 -0
  34. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/web.rb +17 -0
  35. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base.rb +63 -0
  36. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/deploy.rb +16 -0
  37. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/docker_image.rb +110 -0
  38. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb +27 -0
  39. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/project.rb +30 -0
  40. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/root.rb +17 -0
  41. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb +66 -0
  42. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api.rb +16 -0
  43. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/docker.rb +15 -0
  44. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/read.rb +25 -0
  45. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/write.rb +68 -0
  46. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page.rb +26 -0
  47. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project.rb +22 -0
  48. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project_rename.rb +53 -0
  49. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base/default_settings.rb +40 -0
  50. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base.rb +34 -0
  51. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update.rb +125 -0
  52. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/core_update.rb +61 -0
  53. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/docker.rb +16 -0
  54. data/sub/{avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners.rb → avm-eac_redmine_base0/lib/avm/eac_redmine_base0/version.rb} +2 -3
  55. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0.rb +11 -0
  56. data/sub/avm-eac_redmine_base0/locale/en.yml +6 -0
  57. data/sub/avm-eac_redmine_base0/locale/pt-BR.yml +6 -0
  58. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec.rb +19 -0
  59. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec_files/apache_host_spec_no_ssl_content.conf +11 -0
  60. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec.rb +24 -0
  61. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec_files/config.yml +10 -0
  62. data/sub/{eac_ruby_gem_support → avm-eac_redmine_base0}/spec/spec_helper.rb +2 -1
  63. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/install.sh.template +46 -0
  64. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/secrets.yml +8 -0
  65. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/Dockerfile.template +37 -0
  66. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_host_dockerfile +8 -0
  67. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_http_virtualhost.conf.template +10 -0
  68. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_https_virtualhost.conf.template +16 -0
  69. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_path_dockerfile +5 -0
  70. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/start.sh.template +53 -0
  71. data/sub/{avm-eac_ruby_base1 → avm-eac_ubuntu_base0}/.gitignore +1 -1
  72. data/sub/avm-eac_ubuntu_base0/.gitrepo +7 -0
  73. data/sub/avm-eac_ubuntu_base0/avm-eac_ubuntu_base0.gemspec +21 -0
  74. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/apache/resource.rb +57 -0
  75. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/apache.rb +24 -0
  76. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/docker_image.rb +30 -0
  77. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/instances/base.rb +24 -0
  78. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/minimal_docker_image.rb +20 -0
  79. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/rspec/ssh_docker_server.rb +83 -0
  80. data/sub/{avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base.rb → avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/runners/base/docker.rb} +5 -4
  81. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/runners/base.rb +26 -0
  82. data/sub/{avm-eac_ruby_base1/lib/avm/eac_ruby_base1 → avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0}/version.rb +2 -2
  83. data/sub/{avm-eac_ruby_base1/lib/avm/eac_ruby_base1.rb → avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0.rb} +1 -3
  84. data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/docker_image_spec.rb +12 -0
  85. data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/rspec/ssh_docker_server_spec.rb +11 -0
  86. data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/runners/base/docker_spec.rb +11 -0
  87. data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/runners/base_spec.rb +5 -0
  88. data/sub/{avm-eac_ruby_base1 → avm-eac_ubuntu_base0}/spec/spec_helper.rb +1 -1
  89. data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/docker_image/Dockerfile.template +25 -0
  90. data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/minimal_docker_image/Dockerfile.template +6 -0
  91. data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/rspec/ssh_docker_server/Dockerfile.template +22 -0
  92. data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/rspec/ssh_docker_server/id_rsa +27 -0
  93. data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/rspec/ssh_docker_server/id_rsa.pub +1 -0
  94. data/sub/eac_docker/.avm.yaml +3 -0
  95. data/sub/eac_docker/.gitignore +2 -0
  96. data/sub/eac_docker/.gitrepo +7 -0
  97. data/sub/eac_docker/eac_docker.gemspec +20 -0
  98. data/sub/eac_docker/lib/eac_docker/container/exist.rb +27 -0
  99. data/sub/eac_docker/lib/eac_docker/container/identifiers.rb +25 -0
  100. data/sub/eac_docker/lib/eac_docker/container/run_command.rb +53 -0
  101. data/sub/eac_docker/lib/eac_docker/container/start_command.rb +26 -0
  102. data/sub/eac_docker/lib/eac_docker/container.rb +56 -0
  103. data/sub/eac_docker/lib/eac_docker/debug.rb +13 -0
  104. data/sub/eac_docker/lib/eac_docker/executables.rb +15 -0
  105. data/sub/eac_docker/lib/eac_docker/images/base.rb +11 -0
  106. data/sub/eac_docker/lib/eac_docker/images/coded.rb +39 -0
  107. data/sub/eac_docker/lib/eac_docker/images/named.rb +32 -0
  108. data/sub/eac_docker/lib/eac_docker/images/templatized.rb +43 -0
  109. data/sub/eac_docker/lib/eac_docker/registry.rb +15 -0
  110. data/sub/eac_docker/lib/eac_docker/rspec/setup.rb +15 -0
  111. data/sub/eac_docker/lib/eac_docker/rspec/stub_image.rb +39 -0
  112. data/sub/eac_docker/lib/eac_docker/version.rb +5 -0
  113. data/sub/eac_docker/lib/eac_docker.rb +6 -0
  114. data/sub/eac_docker/spec/lib/eac_docker/container_spec.rb +24 -0
  115. data/sub/eac_docker/spec/lib/eac_docker/executables_spec.rb +7 -0
  116. data/sub/eac_docker/spec/lib/eac_docker/images/coded_spec.rb +10 -0
  117. data/sub/eac_docker/spec/lib/eac_docker/images/coded_spec_files/image1/Dockerfile +1 -0
  118. data/sub/eac_docker/spec/lib/eac_docker/images/templatized_spec.rb +15 -0
  119. data/sub/eac_docker/spec/lib/eac_docker/images/templatized_spec_files/stub_docker_image/Dockerfile +1 -0
  120. data/sub/{avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem → eac_docker}/spec/spec_helper.rb +1 -1
  121. data/sub/eac_ruby_utils/lib/eac_ruby_utils/acts_as_instance_method.rb +14 -2
  122. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/base_command/execution.rb +13 -3
  123. data/sub/eac_ruby_utils/lib/eac_ruby_utils/method_class.rb +4 -2
  124. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patch_module.rb +6 -6
  125. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/acts_as_instance_method.rb +3 -2
  126. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/patch_self.rb +1 -1
  127. data/sub/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  128. data/sub/eac_ruby_utils/lib/eac_ruby_utils.rb +0 -1
  129. metadata +143 -213
  130. data/sub/avm-eac_ruby_base1/.gitrepo +0 -7
  131. data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +0 -24
  132. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/add_or_replace_gem_line.rb +0 -54
  133. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/dependency.rb +0 -17
  134. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile.rb +0 -32
  135. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/depends_on.rb +0 -22
  136. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/gem_conflict.rb +0 -41
  137. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/in_gemfile.rb +0 -14
  138. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_buffer.rb +0 -73
  139. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_factory.rb +0 -26
  140. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_parser_base.rb +0 -17
  141. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/ruby_requirement.rb +0 -13
  142. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/version_requirement.rb +0 -23
  143. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser.rb +0 -21
  144. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/file_formats/base/file_resource_name.rb +0 -44
  145. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/file_formats/base.rb +0 -19
  146. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/instances/mixin.rb +0 -24
  147. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher/gem/build.rb +0 -120
  148. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher/gem/specification.rb +0 -61
  149. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/local_project_mixin.rb +0 -24
  150. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish/internal_check.rb +0 -71
  151. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish/local_gem.rb +0 -31
  152. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish/remote_gem.rb +0 -45
  153. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish.rb +0 -33
  154. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base.rb +0 -32
  155. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/preferred_version_requirements.rb +0 -40
  156. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec/setup.rb +0 -13
  157. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec/source_generator.rb +0 -20
  158. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/configured.rb +0 -29
  159. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/envvar.rb +0 -15
  160. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/gemfile.rb +0 -39
  161. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop.rb +0 -54
  162. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gem_search_parser.rb +0 -34
  163. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec/add_or_replace_gem_line.rb +0 -69
  164. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec/dependency.rb +0 -28
  165. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec.rb +0 -57
  166. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/base/command_result_to_push_result.rb +0 -39
  167. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/base.rb +0 -59
  168. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/nexus.rb +0 -29
  169. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/rubygems_org.rb +0 -42
  170. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/remote.rb +0 -31
  171. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/version_file.rb +0 -43
  172. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base/lib_rename.rb +0 -74
  173. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base/rubocop.rb +0 -27
  174. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/dependencies.rb +0 -59
  175. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/gemfile_lock.rb +0 -23
  176. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/gemspec.rb +0 -81
  177. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/options.rb +0 -32
  178. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/root_module.rb +0 -46
  179. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/version_builder.rb +0 -58
  180. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base.rb +0 -48
  181. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundle_command.rb +0 -35
  182. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundler.rb +0 -62
  183. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/gem_provider.rb +0 -46
  184. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rake.rb +0 -39
  185. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubocop.rb +0 -23
  186. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubocop_command.rb +0 -70
  187. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubygems.rb +0 -50
  188. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/update.rb +0 -30
  189. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/version.rb +0 -30
  190. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/version_bump.rb +0 -16
  191. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base.rb +0 -55
  192. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/bundle_update.rb +0 -21
  193. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/gemfile_local/sibling.rb +0 -51
  194. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/gemfile_local.rb +0 -65
  195. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/namespace_replacer.rb +0 -66
  196. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundle.rb +0 -26
  197. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_local.rb +0 -55
  198. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_lock/git.rb +0 -58
  199. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_lock.rb +0 -87
  200. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/incompatible.rb +0 -73
  201. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler.rb +0 -16
  202. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/base.rb +0 -57
  203. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/minitest.rb +0 -27
  204. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple/decorated_gem.rb +0 -50
  205. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple/result.rb +0 -29
  206. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple.rb +0 -85
  207. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/rspec.rb +0 -23
  208. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update/changes/bundle_update.rb +0 -28
  209. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update/changes/update_requirements.rb +0 -57
  210. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update/sub_update.rb +0 -57
  211. data/sub/avm-eac_ruby_base1/locale/en.yml +0 -19
  212. data/sub/avm-eac_ruby_base1/locale/pt-BR.yml +0 -19
  213. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec.rb +0 -5
  214. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.source.out +0 -192
  215. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.target.yaml +0 -300
  216. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.source.out +0 -245
  217. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.target.yaml +0 -355
  218. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/3.source.out +0 -0
  219. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/3.target.yaml +0 -305
  220. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec.rb +0 -13
  221. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/Gemfile.source +0 -6
  222. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/Gemfile.target +0 -3
  223. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/ruby_code.rb.source +0 -6
  224. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/ruby_code.rb.target +0 -5
  225. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher/gem/build_spec.rb +0 -43
  226. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher/gem/specification_spec.rb +0 -57
  227. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish_spec.rb +0 -25
  228. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher_stereotypes/base_spec.rb +0 -21
  229. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/preferred_version_requirements_spec.rb +0 -21
  230. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec.rb +0 -5
  231. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec_files/empty.source +0 -1
  232. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec_files/empty.target.yaml +0 -1
  233. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec_files/many_versions.source +0 -1
  234. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec_files/many_versions.target.yaml +0 -123
  235. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec.rb +0 -35
  236. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec_files/changes1.source.yaml +0 -5
  237. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec_files/changes1.target.txt +0 -15
  238. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec_files/the_gem.gemspec +0 -15
  239. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/version_file_spec.rb +0 -13
  240. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec.rb +0 -33
  241. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir1/.avm.yml +0 -4
  242. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir1/dir3/Gemfile +0 -7
  243. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir1/dir3/Gemfile.lock +0 -31
  244. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir2/empty.rb +0 -1
  245. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir4/.avm.yml +0 -4
  246. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir4/false_command.rb +0 -4
  247. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec.rb +0 -16
  248. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/Gemfile.lock +0 -1
  249. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/_gitignore +0 -2
  250. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/dashed-mygem.gemspec +0 -20
  251. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem/version.rb +0 -7
  252. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem.rb +0 -4
  253. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/Gemfile.lock +0 -1
  254. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/_gitignore +0 -2
  255. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/lib/mygem/version.rb +0 -5
  256. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/lib/mygem.rb +0 -4
  257. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/mygem.gemspec +0 -20
  258. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec.rb +0 -28
  259. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Gemfile +0 -5
  260. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Gemfile.lock +0 -19
  261. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Rakefile +0 -14
  262. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/exe/myrunner +0 -5
  263. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/lib/mygem/version.rb +0 -5
  264. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/lib/mygem.rb +0 -7
  265. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/mygem.gemspec +0 -17
  266. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base_spec.rb +0 -13
  267. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/gemspec.template +0 -19
  268. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/root_lib.template +0 -4
  269. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/.gitignore +0 -2
  270. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/.rubocop.yml +0 -3
  271. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/spec/spec_helper.rb.template +0 -5
  272. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/version.template +0 -5
  273. data/sub/eac_ruby_gem_support/.gitrepo +0 -7
  274. data/sub/eac_ruby_gem_support/.rspec +0 -1
  275. data/sub/eac_ruby_gem_support/.rubocop.yml +0 -45
  276. data/sub/eac_ruby_gem_support/Gemfile +0 -8
  277. data/sub/eac_ruby_gem_support/eac_ruby_gem_support.gemspec +0 -27
  278. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/helpers/filesystem.rb +0 -73
  279. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/helpers/utils.rb +0 -22
  280. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/setup/rubocop.rb +0 -61
  281. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/setup.rb +0 -52
  282. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/shared_examples/source_target_fixtures.rb +0 -73
  283. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/shared_examples/spec_paths.rb +0 -11
  284. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/source_target_fixtures_controller.rb +0 -29
  285. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/spec_paths_controller.rb +0 -27
  286. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/source_target_fixtures/source_target_file.rb +0 -17
  287. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/source_target_fixtures.rb +0 -72
  288. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/version.rb +0 -5
  289. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support.rb +0 -9
  290. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/helpers/filesystem_spec.rb +0 -30
  291. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/shared_examples/source_target_fixtures_spec.rb +0 -11
  292. 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
  293. 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
  294. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/shared_examples/spec_paths_spec.rb +0 -17
  295. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec.rb +0 -25
  296. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec_files/stub1.source.txt +0 -1
  297. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec_files/stub1.target.html +0 -1
  298. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec_files/stub2.source.html +0 -1
  299. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec_files/stub3.target.yaml +0 -1
  300. /data/sub/{eac_ruby_gem_support → avm-eac_generic_base0}/.gitignore +0 -0
  301. /data/sub/{avm-eac_ruby_base1 → avm-eac_generic_base0}/.rspec +0 -0
  302. /data/sub/{avm-eac_ruby_base1 → avm-eac_generic_base0}/.rubocop.yml +0 -0
  303. /data/sub/{avm-eac_ruby_base1 → avm-eac_generic_base0}/Gemfile +0 -0
  304. /data/sub/{avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem → avm-eac_redmine_base0}/.rspec +0 -0
  305. /data/sub/{avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem → avm-eac_redmine_base0}/Gemfile +0 -0
  306. /data/sub/{avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem → avm-eac_ubuntu_base0}/.rspec +0 -0
  307. /data/sub/{avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem → avm-eac_ubuntu_base0}/.rubocop.yml +0 -0
  308. /data/sub/{avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem → avm-eac_ubuntu_base0}/Gemfile +0 -0
  309. /data/sub/{avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static → eac_docker}/.rspec +0 -0
  310. /data/sub/{avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem → eac_docker}/.rubocop.yml +0 -0
  311. /data/sub/{avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static → eac_docker}/Gemfile +0 -0
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Instances
6
+ module Runners
7
+ class Project
8
+ class WikiPage
9
+ class Write
10
+ runner_with :help, :confirmation, :input do
11
+ bool_opt '-f', '--force'
12
+ end
13
+ delegate :force?, to: :parsed
14
+
15
+ def run
16
+ start_banner
17
+ if write?
18
+ run_write
19
+ else
20
+ success 'Content unchanged, no further action will be taken'
21
+ end
22
+ end
23
+
24
+ def start_banner
25
+ infov 'Content'
26
+ infov ' * Current', current_content
27
+ infov ' * New', new_content
28
+ infov ' * Changed?', content_changed?
29
+ end
30
+
31
+ # @return [Boolean]
32
+ def content_changed?
33
+ new_content != current_content
34
+ end
35
+
36
+ def run_write
37
+ if confirm?('Write?')
38
+ infom 'Writing...'
39
+ runner_context.call(:wiki_page).write(new_content)
40
+ success('Writed!')
41
+ else
42
+ success('Unconfirmed, no further action will be taken')
43
+ end
44
+ end
45
+
46
+ # @return [Boolean]
47
+ def write?
48
+ parsed.force? || content_changed?
49
+ end
50
+
51
+ private
52
+
53
+ # @return [String]
54
+ def current_content_uncached
55
+ runner_context.call(:wiki_page_content)
56
+ end
57
+
58
+ # @return [String]
59
+ def new_content_uncached
60
+ input_content
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Instances
6
+ module Runners
7
+ class Project
8
+ class WikiPage
9
+ runner_with :help, :subcommands do
10
+ pos_arg :name
11
+ subcommands
12
+ end
13
+
14
+ def wiki_page
15
+ runner_context.call(:project).wiki_page(parsed.name)
16
+ end
17
+
18
+ def wiki_page_content
19
+ wiki_page.read
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Instances
6
+ module Runners
7
+ class Project
8
+ runner_with :help, :subcommands do
9
+ pos_arg :id_or_identifier
10
+ subcommands
11
+ end
12
+
13
+ private
14
+
15
+ def project_uncached
16
+ runner_context.call(:instance).rest_api.root_entity.project(parsed.id_or_identifier)
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Instances
6
+ module Runners
7
+ class ProjectRename
8
+ runner_with :help, ::Avm::EacRailsBase1::RunnerWith::Bundle do
9
+ pos_arg :from
10
+ pos_arg :to
11
+ end
12
+
13
+ def run
14
+ bundle_run
15
+ end
16
+
17
+ def start_banner
18
+ infov 'From', from
19
+ infov 'To', to
20
+ end
21
+
22
+ delegate :from, :to, to: :parsed
23
+
24
+ def bundle_args
25
+ %w[exec rails runner] + [code]
26
+ end
27
+
28
+ def code
29
+ <<~CODE
30
+ from_arg = '#{from}'
31
+ to_arg = '#{to}'
32
+ project = ::Project.where(identifier: from_arg).first
33
+ if project.present?
34
+ puts "Project found: \#{project}"
35
+ puts "Renaming..."
36
+ project.update_column(:identifier, to_arg)
37
+ puts "Renamed. Testing..."
38
+ project = ::Project.where(identifier: to_arg).first
39
+ if project
40
+ puts "Project found: \#{project}"
41
+ else
42
+ fail "After rename: project not found with identifier \\"\#{to_arg}\\""
43
+ end
44
+ else
45
+ fail "Before rename: project not found with identifier \\"\#{from_arg}\\""
46
+ end
47
+ CODE
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Sources
6
+ class Base < ::Avm::EacRailsBase1::Sources::Base
7
+ module DefaultSettings
8
+ common_concern
9
+
10
+ DEFAULT_RUBY_VERSION_PARSER = /ruby_version='([^']+)'/.to_parser { |m| m[1] }
11
+ INSTALLER_PLUGIN_DEFAULT_SETTINGS_PATH =
12
+ 'plugins/redmine_installer/installer/default_settings.sh'
13
+
14
+ # @return [ActiveSupport::Duration]
15
+ def default_passenger_start_timeout
16
+ default_setting_value('passenger_start_timeout').to_i.seconds
17
+ end
18
+
19
+ # @return [Avm::VersionNumber]
20
+ def default_ruby_version
21
+ ::Avm::VersionNumber.new(default_setting_value('ruby_version'))
22
+ end
23
+
24
+ # @param key [String]
25
+ # @return [String]
26
+ def default_setting_value(key)
27
+ default_setting_parser(key)
28
+ .parse!(path.join(INSTALLER_PLUGIN_DEFAULT_SETTINGS_PATH).read)
29
+ end
30
+
31
+ # @param key [String]
32
+ # @return [EacRubyUtils::RegexpParser]
33
+ def default_setting_parser(key)
34
+ /#{::Regexp.quote(key)}='([^']+)'/.to_parser { |m| m[1] }
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Sources
6
+ class Base < ::Avm::EacRailsBase1::Sources::Base
7
+ DEFAULT_TEST_COMMANDS = {}.freeze
8
+ REDMINE_LIB_SUBPATH = 'lib/redmine.rb'
9
+ SUBS_INCLUDE_PATHS_DEFAULT = ['plugins/*'].freeze
10
+
11
+ # Return a empty hash (No tests).
12
+ #
13
+ # @return [Hash<String, EacRubyUtils::Envs::Command].
14
+ def default_test_commands
15
+ DEFAULT_TEST_COMMANDS
16
+ end
17
+
18
+ def redmine_lib_path
19
+ path.join(REDMINE_LIB_SUBPATH)
20
+ end
21
+
22
+ def subs_include_paths_default
23
+ SUBS_INCLUDE_PATHS_DEFAULT
24
+ end
25
+
26
+ def valid?
27
+ super && redmine_lib_path.exist?
28
+ end
29
+
30
+ require_sub __FILE__, include_modules: true
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,125 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Sources
6
+ class CoreUpdate
7
+ enable_speaker
8
+ enable_simple_cache
9
+ common_constructor :source, :version, :url
10
+
11
+ GITIGNORE_ADD = %w[/public/assets/**/* /config/credentials.* /config/credentials/*
12
+ /config/install.sh /config/master.key /log/**/*].freeze
13
+ GITIGNORE_DEL = %w[/Gemfile.lock /plugins/* /public/themes/*].freeze
14
+ TARGET_KEEP = ::Avm::Sources::Base::Configuration::CONFIGURATION_FILENAMES
15
+ .map { |b| "/#{b}" } + %w[/Gemfile.lock /plugins/*/**
16
+ /public/themes/*/**].freeze
17
+ TARGET_REMOVE = %w[alternate classic].map { |t| "/public/themes/#{t}/**" }
18
+
19
+ def run
20
+ ::EacRubyUtils::Fs::Temp.on_directory do |dir|
21
+ @tempdir = dir
22
+ assert_source_package
23
+ extract_package_to_tempdir
24
+ sync_content
25
+ change_git_ignore
26
+ validate_empty_dir
27
+ end
28
+ git_commit
29
+ success 'Done!'
30
+ end
31
+
32
+ def assert_source_package
33
+ infom 'Asserting source package...'
34
+ source_package.assert
35
+ infov 'Package cache path', source_package.path
36
+ infov 'Package size', source_package.path.size
37
+ end
38
+
39
+ def fs_object_id
40
+ [source.path, version].join('_').variableize
41
+ end
42
+
43
+ private
44
+
45
+ attr_reader :tempdir
46
+
47
+ def change_git_ignore
48
+ file = target_path.join('.gitignore')
49
+ file.write(
50
+ (file.read.each_line.map(&:strip).reject { |line| GITIGNORE_DEL.include?(line) } +
51
+ ['', '#eac_redmine_base0'] + GITIGNORE_ADD).map { |line| "#{line}\n" }.join
52
+ )
53
+ end
54
+
55
+ def extract_package_to_tempdir
56
+ infom "Extracting package to tempdir #{tempdir}..."
57
+ ::EacRubyUtils::Envs.local.command(
58
+ 'tar', '-xf', source_package.path.to_path, '-C', tempdir.to_path,
59
+ '--strip-components', '1'
60
+ ).execute!
61
+ end
62
+
63
+ def git_commit
64
+ if git_repo.dirty?
65
+ infom 'Git commiting...'
66
+ git_repo.command('add', '--', target_path).execute!
67
+ git_repo.command('commit', '-m', git_commit_message, '--', target_path).execute!
68
+ else
69
+ infom 'Nothing to commit'
70
+ end
71
+ end
72
+
73
+ def git_commit_message
74
+ i18n_translate(__method__, version: version, __locale: source.locale)
75
+ end
76
+
77
+ def git_repo_uncached
78
+ ::EacGit::Local.new(target_path)
79
+ end
80
+
81
+ def sync_content
82
+ ::Avm::Sync.new(source_path, target_path)
83
+ .add_exclude('/*').add_includes(*target_files_to_remove).move_mode(true).run
84
+ end
85
+
86
+ # @return [EacFs::CachedDownload]
87
+ def source_package_uncached
88
+ ::EacFs::CachedDownload.new(url, fs_cache)
89
+ end
90
+
91
+ def validate_empty_dir
92
+ if source_path.children.empty?
93
+ infom 'No content left in source directory'
94
+ else
95
+ fatal_error 'Found entries in source directory: ' + # rubocop:disable Style/StringConcatenation
96
+ source_path.children.map { |c| c.basename.to_path }.join(', ')
97
+ end
98
+ end
99
+
100
+ def source_path_uncached
101
+ ::Pathname.new(tempdir.to_path)
102
+ end
103
+
104
+ # @return [Enumerable<String>]
105
+ def target_files_to_remove
106
+ git_repo.command('ls-files').execute!
107
+ .each_line.map { |v| "/#{v.strip}" }
108
+ .reject { |tpath| target_keep?(tpath) }
109
+ end
110
+
111
+ # @param tpath [String]
112
+ # @return [Boolean]
113
+ def target_keep?(tpath)
114
+ tpath = tpath.to_pathname
115
+ TARGET_REMOVE.none? { |target_remove| tpath.fnmatch?(target_remove) }
116
+ TARGET_KEEP.any? { |target_keep| tpath.fnmatch?(target_keep) }
117
+ end
118
+
119
+ def target_path_uncached
120
+ source.path
121
+ end
122
+ end
123
+ end
124
+ end
125
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Sources
6
+ module Runners
7
+ class CoreUpdate
8
+ runner_with :help do
9
+ arg_opt '-u', '--url', 'Core\'s package URL.'
10
+ arg_opt '-v', '--version', 'Core\'s version.'
11
+ desc 'Update instance\' core.'
12
+ end
13
+
14
+ def run
15
+ start_banner
16
+ validate
17
+ update
18
+ end
19
+
20
+ private
21
+
22
+ def start_banner
23
+ infov 'URL', url
24
+ infov 'Version', version
25
+ end
26
+
27
+ def update
28
+ ::Avm::EacRedmineBase0::Sources::CoreUpdate
29
+ .new(runner_context.call(:subject), version, url).run
30
+ end
31
+
32
+ def url
33
+ parsed.url || url_by_version
34
+ end
35
+
36
+ def url_by_version
37
+ parsed.version.if_present do |v|
38
+ "https://www.redmine.org/releases/redmine-#{v}.tar.gz"
39
+ end
40
+ end
41
+
42
+ def validate
43
+ %w[url version].each do |attr|
44
+ fatal_error "\"#{attr}\" is blank. See avaiable options." if send(attr).blank?
45
+ end
46
+ end
47
+
48
+ def version
49
+ parsed.version || version_by_url
50
+ end
51
+
52
+ def version_by_url
53
+ parsed.url.if_present do |v|
54
+ /(\d+.\d+.\d+)/.if_match(v, false) { |m| m[1] }
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Sources
6
+ module Runners
7
+ class Docker < ::Avm::EacGenericBase0::Sources::Docker::Runner
8
+ # @return [Avm::EacUbuntuBase0::DockerImage]
9
+ def docker_image
10
+ ::Avm::EacUbuntuBase0::DockerImage.new
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -1,8 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Avm
4
- module EacRubyBase1
5
- module Runners
6
- end
4
+ module EacRedmineBase0
5
+ VERSION = '0.27.0'
7
6
  end
8
7
  end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_base1'
4
+ EacRubyBase1::RootModuleSetup.perform __FILE__ do
5
+ require 'avm'
6
+ require 'avm/eac_generic_base0'
7
+ require 'avm/eac_rails_base1'
8
+ require 'avm/eac_ubuntu_base0'
9
+ require 'eac_fs'
10
+ require 'eac_rest'
11
+ end
@@ -0,0 +1,6 @@
1
+ en:
2
+ avm:
3
+ eac_redmine_base0:
4
+ sources:
5
+ core_update:
6
+ git_commit_message: "Core: update to '%{version}'."
@@ -0,0 +1,6 @@
1
+ pt-BR:
2
+ avm:
3
+ eac_redmine_base0:
4
+ sources:
5
+ core_update:
6
+ git_commit_message: "Core: atualiza para '%{version}'."
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe Avm::EacRedmineBase0::Instances::ApacheHost do
4
+ describe '#no_ssl_site_content' do
5
+ let(:instance) { Avm::EacRedmineBase0::Instances::Base.by_id('stub-app_0') }
6
+ let(:apache_host) { described_class.new(instance) }
7
+ let(:fixtures_dir) { Pathname.new('apache_host_spec_files').expand_path(__dir__) }
8
+ let(:expected_content) { fixtures_dir.join('apache_host_spec_no_ssl_content.conf').read }
9
+
10
+ before do
11
+ instance.entry('install.path').write('/path/to/stub-app_0')
12
+ instance.entry('web.url').write('http://stubapp.net')
13
+ end
14
+
15
+ it do
16
+ expect(apache_host.no_ssl_site_content).to eq(expected_content)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,11 @@
1
+ <VirtualHost *:80>
2
+ ServerName "stubapp.net"
3
+ DocumentRoot "/path/to/stub-app_0/public"
4
+ PassengerEnabled On
5
+
6
+ <Directory "/path/to/stub-app_0/public">
7
+ Allow from all
8
+ Options -MultiViews
9
+ Require all granted
10
+ </Directory>
11
+ </VirtualHost>
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe Avm::EacRedmineBase0::Instances::Base, '#gitolite' do
4
+ include_examples 'entries_values', __FILE__, {
5
+ 'app_0' => {
6
+ 'gitolite.username' => 'git',
7
+ 'gitolite.path' => '/var/lib/git',
8
+ 'gitolite.scheme' => 'file',
9
+ 'gitolite.hostname' => 'localhost'
10
+ },
11
+ 'app_1' => {
12
+ 'gitolite.username' => 'git1',
13
+ 'gitolite.path' => '/var/lib/git1',
14
+ 'gitolite.scheme' => 'file',
15
+ 'gitolite.hostname' => 'localhost'
16
+ },
17
+ 'app_2' => {
18
+ 'gitolite.username' => 'git2',
19
+ 'gitolite.path' => '/home/git2',
20
+ 'gitolite.scheme' => 'file',
21
+ 'gitolite.hostname' => 'localhost'
22
+ }
23
+ }
24
+ end
@@ -0,0 +1,10 @@
1
+ ---
2
+ app_0: {}
3
+ app_1:
4
+ gitolite:
5
+ username: git1
6
+ id: app_0
7
+ app_2:
8
+ gitolite:
9
+ username: git2
10
+ path: /home/git2
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils'
3
+ require 'avm/eac_redmine_base0'
4
4
  require 'eac_ruby_gem_support'
5
5
  EacRubyUtils::Rspec.default_setup_create(File.expand_path('..', __dir__))
6
+ EacRubyUtils::Rspec.default_setup.stub_eac_config_node
@@ -0,0 +1,46 @@
1
+ # Ruby
2
+ export ruby_version='%%INSTALL.RUBY.VERSION%%'
3
+ export passenger_start_timeout='%%INSTALL.PASSENGER_START_TIMEOUT%%'
4
+
5
+ # NodeJs
6
+ export nodejs_version='%%INSTALL.NODEJS.VERSION%%'
7
+
8
+ # Database
9
+ export postgresql_internal='%%DATABASE_INTERNAL%%'
10
+ export postgresql_host='%%DATABASE.HOSTNAME%%'
11
+ export postgresql_port='%%DATABASE.PORT%%'
12
+ export postgresql_database='%%DATABASE.NAME%%'
13
+ export postgresql_user='%%DATABASE.USERNAME%%'
14
+ export postgresql_password='%%DATABASE.PASSWORD%%'
15
+ export postgresql_version='%%POSTGRESQL.VERSION%%'
16
+ export postgresql_extra_settings='%%DATABASE.EXTRA%%'
17
+
18
+ # Web
19
+ if [ '%%WEB.SCHEME%%' == 'https' ]; then
20
+ export address_https='true'
21
+ else
22
+ export address_https='false'
23
+ fi
24
+ export address_host='%%WEB.AUTHORITY%%'
25
+ export address_path='%%WEB.PATH%%'
26
+
27
+ # Git
28
+ export git_repositories_hierarchical_organisation=false
29
+ export gitolite_user='%%GITOLITE.USERNAME%%'
30
+ export gitolite_user_home='%%GITOLITE.PATH%%'
31
+ export redmine_git_hosting_ssh_key_name=redmine_git_hosting_id
32
+
33
+ # Mail settings
34
+ export smtp_server='%%MAILER.SMTP.ADDRESS%%'
35
+ export smtp_port='%%MAILER.SMTP.PORT%%'
36
+ export smtp_domain='%%MAILER.SMTP.DOMAIN%%'
37
+ export smtp_tls='%%MAILER.SMTP.TLS%%'
38
+ export smtp_enable_starttls_auto='%%MAILER.SMTP.STARTTLS_AUTO%%'
39
+ export smtp_openssl_verify_mode='%%MAILER.SMTP.OPENSSL_VERIFY_MODE%%'
40
+ export smtp_authentication='%%MAILER.SMTP.AUTHENTICATION%%'
41
+ export smtp_username='%%MAILER.SMTP.USERNAME%%'
42
+ export smtp_password='%%MAILER.SMTP.PASSWORD%%'
43
+ export mail_from='%%MAILER.FROM%%'
44
+
45
+ # Extra
46
+ %%INSTALL.EXTRA%%
@@ -0,0 +1,8 @@
1
+ development:
2
+ secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
3
+
4
+ test:
5
+ secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
6
+
7
+ production:
8
+ secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
@@ -0,0 +1,37 @@
1
+ FROM '%%base_image%%'
2
+ USER root
3
+
4
+ # Redmine / Código-fonte
5
+ RUN echo '%%redmine_source_git_id%%' '%%redmine_user_home%%/redmine_source_git_id'
6
+ ADD '%%redmine_source_path%%' '%%redmine_path%%/'
7
+ RUN chown -R '%%redmine_user%%:%%redmine_user%%' '%%redmine_user_home%%'
8
+
9
+ # Redmine / Configuração de instalação
10
+ USER '%%redmine_user%%'
11
+ WORKDIR '%%redmine_user_home%%'
12
+ COPY install_settings.sh "%%redmine_path%%/config/install.sh"
13
+
14
+ # Redmine / Instalação
15
+ USER '%%redmine_user%%'
16
+ WORKDIR '%%redmine_user_home%%'
17
+ RUN SKIP_DATABASE='%%skip_database%%' \
18
+ '%%redmine_path%%/plugins/redmine_installer/installer/run.sh' '%%installer_target_task%%'
19
+
20
+ # Apache / Configuração do virtualhost
21
+ %%apache_setup%%
22
+
23
+ # Portas
24
+ EXPOSE 80/tcp 443/tcp
25
+
26
+ # Servidor SSH
27
+ %%ssh_server_install%%
28
+
29
+ # Execução
30
+ USER root
31
+ COPY start.sh '%%start_path%%'
32
+ RUN /bin/chmod +x '%%start_path%%'
33
+ RUN /bin/chown '%%redmine_user%%:%%redmine_user%%' '%%start_path%%'
34
+ RUN chmod 755 '%%redmine_user_home%%'
35
+ USER '%%redmine_user%%'
36
+ WORKDIR '%%redmine_user_home%%'
37
+ CMD '%%start_path%%'
@@ -0,0 +1,8 @@
1
+ COPY apache_http_virtualhost.conf /etc/apache2/sites-available/redmine.conf
2
+ COPY apache_https_virtualhost.conf /etc/apache2/sites-available/redmine_ssl.conf
3
+ USER root
4
+ RUN a2ensite redmine
5
+ RUN a2ensite redmine_ssl
6
+ RUN a2dissite 000-default
7
+ RUN a2enmod ssl
8
+ RUN service apache2 restart