eac_tools 0.102.1 → 0.103.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 (212) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +42 -34
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +26 -0
  5. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/apache_host.rb +12 -0
  6. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/database.rb +30 -0
  7. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/files.rb +22 -0
  8. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/gitolite.rb +55 -0
  9. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/install.rb +46 -0
  10. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/nodejs.rb +22 -0
  11. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/web.rb +20 -0
  12. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base.rb +59 -0
  13. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/deploy.rb +19 -0
  14. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/docker_image.rb +116 -0
  15. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb +35 -0
  16. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/project.rb +26 -0
  17. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/root.rb +21 -0
  18. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb +54 -0
  19. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api.rb +14 -0
  20. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/docker.rb +17 -0
  21. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/read.rb +27 -0
  22. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/write.rb +70 -0
  23. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page.rb +30 -0
  24. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project.rb +26 -0
  25. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project_rename.rb +56 -0
  26. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners.rb +14 -0
  27. data/sub/{avm-git/lib/avm/git/runners.rb → avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances.rb} +4 -2
  28. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base.rb +36 -0
  29. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update.rb +131 -0
  30. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/core_update.rb +65 -0
  31. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/docker.rb +19 -0
  32. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners.rb +13 -0
  33. data/sub/{avm-git/lib/avm/git/organize.rb → avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources.rb} +4 -2
  34. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/version.rb +7 -0
  35. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0.rb +16 -0
  36. data/sub/avm-eac_redmine_base0/locale/en.yml +6 -0
  37. data/sub/avm-eac_redmine_base0/locale/pt-BR.yml +6 -0
  38. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec.rb +22 -0
  39. 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
  40. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec.rb +26 -0
  41. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec_files/config.yml +10 -0
  42. data/sub/avm-eac_redmine_base0/spec/spec_helper.rb +6 -0
  43. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/install.sh.template +45 -0
  44. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/secrets.yml +8 -0
  45. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/Dockerfile.template +36 -0
  46. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_host_dockerfile +8 -0
  47. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_http_virtualhost.conf.template +10 -0
  48. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_https_virtualhost.conf.template +16 -0
  49. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_path_dockerfile +5 -0
  50. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/start.sh.template +52 -0
  51. data/sub/avm-eac_ubuntu_base0/Gemfile +8 -0
  52. data/sub/avm-eac_ubuntu_base0/avm-eac_ubuntu_base0.gemspec +21 -0
  53. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/apache/resource.rb +57 -0
  54. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/apache.rb +24 -0
  55. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/docker_image.rb +31 -0
  56. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/instances/base.rb +24 -0
  57. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/rspec/ssh_docker_server.rb +82 -0
  58. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/runners/base/docker.rb +15 -0
  59. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/runners/base.rb +26 -0
  60. data/sub/{avm-git/lib/avm/git → avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0}/version.rb +2 -2
  61. data/sub/{avm-git/lib/avm/git.rb → avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0.rb} +5 -8
  62. data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/docker_image_spec.rb +12 -0
  63. data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/rspec/ssh_docker_server_spec.rb +11 -0
  64. data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/runners/base/docker_spec.rb +11 -0
  65. data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/runners/base_spec.rb +5 -0
  66. data/sub/avm-eac_ubuntu_base0/spec/rubocop_spec.rb +3 -0
  67. data/sub/{avm-git → avm-eac_ubuntu_base0}/spec/spec_helper.rb +1 -1
  68. data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/docker_image/Dockerfile.template +27 -0
  69. data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/rspec/ssh_docker_server/Dockerfile.template +24 -0
  70. data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/rspec/ssh_docker_server/id_rsa +27 -0
  71. data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/rspec/ssh_docker_server/id_rsa.pub +1 -0
  72. data/sub/eac_docker/Gemfile +8 -0
  73. data/sub/eac_docker/eac_docker.gemspec +20 -0
  74. data/sub/eac_docker/lib/eac_docker/container.rb +83 -0
  75. data/sub/eac_docker/lib/eac_docker/debug.rb +13 -0
  76. data/sub/eac_docker/lib/eac_docker/executables.rb +15 -0
  77. data/sub/eac_docker/lib/eac_docker/images/base.rb +11 -0
  78. data/sub/eac_docker/lib/eac_docker/images/coded.rb +39 -0
  79. data/sub/eac_docker/lib/eac_docker/images/named.rb +26 -0
  80. data/sub/eac_docker/lib/eac_docker/images/templatized.rb +43 -0
  81. data/sub/eac_docker/lib/eac_docker/registry.rb +15 -0
  82. data/sub/eac_docker/lib/eac_docker/rspec/setup.rb +15 -0
  83. data/sub/eac_docker/lib/eac_docker/rspec/stub_image.rb +39 -0
  84. data/sub/eac_docker/lib/eac_docker/version.rb +5 -0
  85. data/sub/eac_docker/lib/eac_docker.rb +9 -0
  86. data/sub/eac_docker/spec/lib/eac_docker/executables_spec.rb +7 -0
  87. data/sub/eac_docker/spec/lib/eac_docker/images/coded_spec.rb +10 -0
  88. data/sub/eac_docker/spec/lib/eac_docker/images/coded_spec_files/image1/Dockerfile +1 -0
  89. data/sub/eac_docker/spec/lib/eac_docker/images/templatized_spec.rb +15 -0
  90. data/sub/eac_docker/spec/lib/eac_docker/images/templatized_spec_files/stub_docker_image/Dockerfile +1 -0
  91. data/sub/eac_docker/spec/rubocop_spec.rb +3 -0
  92. data/sub/eac_docker/spec/spec_helper.rb +5 -0
  93. metadata +101 -134
  94. data/sub/avm-git/avm-git.gemspec +0 -25
  95. data/sub/avm-git/lib/avm/git/application_scms/base/assert_main_at.rb +0 -44
  96. data/sub/avm-git/lib/avm/git/application_scms/base.rb +0 -18
  97. data/sub/avm-git/lib/avm/git/application_scms.rb +0 -9
  98. data/sub/avm-git/lib/avm/git/commit/class_methods.rb +0 -29
  99. data/sub/avm-git/lib/avm/git/commit/diff_tree_line.rb +0 -32
  100. data/sub/avm-git/lib/avm/git/commit/file.rb +0 -42
  101. data/sub/avm-git/lib/avm/git/commit.rb +0 -57
  102. data/sub/avm-git/lib/avm/git/issue/complete/commits.rb +0 -40
  103. data/sub/avm-git/lib/avm/git/issue/complete/git_subrepos.rb +0 -20
  104. data/sub/avm-git/lib/avm/git/issue/complete/local_branch.rb +0 -59
  105. data/sub/avm-git/lib/avm/git/issue/complete/local_tag.rb +0 -37
  106. data/sub/avm-git/lib/avm/git/issue/complete/push.rb +0 -60
  107. data/sub/avm-git/lib/avm/git/issue/complete/remote.rb +0 -33
  108. data/sub/avm-git/lib/avm/git/issue/complete/test.rb +0 -34
  109. data/sub/avm-git/lib/avm/git/issue/complete/tracker.rb +0 -21
  110. data/sub/avm-git/lib/avm/git/issue/complete/validation.rb +0 -36
  111. data/sub/avm-git/lib/avm/git/issue/complete/validations.rb +0 -54
  112. data/sub/avm-git/lib/avm/git/issue/complete/working_tree.rb +0 -19
  113. data/sub/avm-git/lib/avm/git/issue/complete.rb +0 -66
  114. data/sub/avm-git/lib/avm/git/issue.rb +0 -10
  115. data/sub/avm-git/lib/avm/git/launcher/base/class_methods.rb +0 -28
  116. data/sub/avm-git/lib/avm/git/launcher/base/dirty_files.rb +0 -21
  117. data/sub/avm-git/lib/avm/git/launcher/base/remotes.rb +0 -37
  118. data/sub/avm-git/lib/avm/git/launcher/base/subrepo.rb +0 -42
  119. data/sub/avm-git/lib/avm/git/launcher/base/underlying.rb +0 -54
  120. data/sub/avm-git/lib/avm/git/launcher/base.rb +0 -81
  121. data/sub/avm-git/lib/avm/git/launcher/error.rb +0 -13
  122. data/sub/avm-git/lib/avm/git/launcher/mirror_update.rb +0 -36
  123. data/sub/avm-git/lib/avm/git/launcher/publish_base.rb +0 -127
  124. data/sub/avm-git/lib/avm/git/launcher/remote.rb +0 -53
  125. data/sub/avm-git/lib/avm/git/launcher/sub_warp_base.rb +0 -36
  126. data/sub/avm-git/lib/avm/git/launcher/warp_base.rb +0 -63
  127. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/local_project_mixin.rb +0 -16
  128. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/publish.rb +0 -13
  129. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/warp.rb +0 -25
  130. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git.rb +0 -22
  131. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo/publish.rb +0 -29
  132. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo/warp.rb +0 -82
  133. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo.rb +0 -32
  134. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subtree/publish.rb +0 -12
  135. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subtree/warp.rb +0 -29
  136. data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subtree.rb +0 -47
  137. data/sub/avm-git/lib/avm/git/launcher_stereotypes/provider.rb +0 -17
  138. data/sub/avm-git/lib/avm/git/launcher_stereotypes.rb +0 -9
  139. data/sub/avm-git/lib/avm/git/organize/reference_update.rb +0 -32
  140. data/sub/avm-git/lib/avm/git/organize/repository.rb +0 -74
  141. data/sub/avm-git/lib/avm/git/revision_test.rb +0 -102
  142. data/sub/avm-git/lib/avm/git/runners/base/commit.rb +0 -96
  143. data/sub/avm-git/lib/avm/git/runners/base/deploy.rb +0 -108
  144. data/sub/avm-git/lib/avm/git/runners/base/dirty_files.rb +0 -42
  145. data/sub/avm-git/lib/avm/git/runners/base/organize.rb +0 -72
  146. data/sub/avm-git/lib/avm/git/runners/base/revisions_test.rb +0 -63
  147. data/sub/avm-git/lib/avm/git/runners/base/subrepo/check.rb +0 -45
  148. data/sub/avm-git/lib/avm/git/runners/base/subrepo/clone.rb +0 -80
  149. data/sub/avm-git/lib/avm/git/runners/base/subrepo/fix.rb +0 -69
  150. data/sub/avm-git/lib/avm/git/runners/base/subrepo.rb +0 -17
  151. data/sub/avm-git/lib/avm/git/runners/base.rb +0 -40
  152. data/sub/avm-git/lib/avm/git/scms/git/branch.rb +0 -28
  153. data/sub/avm-git/lib/avm/git/scms/git/branches.rb +0 -17
  154. data/sub/avm-git/lib/avm/git/scms/git/change_tracker.rb +0 -34
  155. data/sub/avm-git/lib/avm/git/scms/git/changed_file.rb +0 -25
  156. data/sub/avm-git/lib/avm/git/scms/git/changed_files.rb +0 -21
  157. data/sub/avm-git/lib/avm/git/scms/git/commit/deploy.rb +0 -37
  158. data/sub/avm-git/lib/avm/git/scms/git/commit/deploy_methods.rb +0 -24
  159. data/sub/avm-git/lib/avm/git/scms/git/commit.rb +0 -64
  160. data/sub/avm-git/lib/avm/git/scms/git/commit_dirty.rb +0 -32
  161. data/sub/avm-git/lib/avm/git/scms/git/commits.rb +0 -44
  162. data/sub/avm-git/lib/avm/git/scms/git/interval.rb +0 -28
  163. data/sub/avm-git/lib/avm/git/scms/git/milestones.rb +0 -18
  164. data/sub/avm-git/lib/avm/git/scms/git/remote.rb +0 -18
  165. data/sub/avm-git/lib/avm/git/scms/git/remotes.rb +0 -29
  166. data/sub/avm-git/lib/avm/git/scms/git/run_commit.rb +0 -54
  167. data/sub/avm-git/lib/avm/git/scms/git.rb +0 -46
  168. data/sub/avm-git/lib/avm/git/scms/git_sub_base/changed_file.rb +0 -19
  169. data/sub/avm-git/lib/avm/git/scms/git_sub_base/commit.rb +0 -23
  170. data/sub/avm-git/lib/avm/git/scms/git_sub_base/interval.rb +0 -23
  171. data/sub/avm-git/lib/avm/git/scms/git_sub_base.rb +0 -30
  172. data/sub/avm-git/lib/avm/git/scms/git_subrepo.rb +0 -33
  173. data/sub/avm-git/lib/avm/git/scms/git_subtree.rb +0 -29
  174. data/sub/avm-git/lib/avm/git/scms/provider.rb +0 -16
  175. data/sub/avm-git/lib/avm/git/scms.rb +0 -9
  176. data/sub/avm-git/lib/avm/git/subrepo_check/parent.rb +0 -48
  177. data/sub/avm-git/lib/avm/git/subrepo_check/remote.rb +0 -86
  178. data/sub/avm-git/lib/avm/git/subrepo_check/show_result.rb +0 -30
  179. data/sub/avm-git/lib/avm/git/subrepo_check.rb +0 -36
  180. data/sub/avm-git/lib/avm/git/subrepo_checks.rb +0 -57
  181. data/sub/avm-git/lib/avm/git/vendor/github.rb +0 -20
  182. data/sub/avm-git/lib/avm/git/vendor.rb +0 -9
  183. data/sub/avm-git/locale/en.yml +0 -6
  184. data/sub/avm-git/locale/pt-BR.yml +0 -6
  185. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec.rb +0 -13
  186. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.source.out +0 -1
  187. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.target.yaml +0 -7
  188. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.source.out +0 -1
  189. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.target.yaml +0 -7
  190. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.source.out +0 -1
  191. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.target.yaml +0 -7
  192. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.source.out +0 -2
  193. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.target.yaml +0 -13
  194. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.source.out +0 -2
  195. data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.target.yaml +0 -13
  196. data/sub/avm-git/spec/lib/avm/git/commit_spec.rb +0 -56
  197. data/sub/avm-git/spec/lib/avm/git/launcher/base_spec.rb +0 -45
  198. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/publish_spec.rb +0 -83
  199. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/publish_spec_files/config.yml +0 -5
  200. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/publish_spec_settings.yml +0 -6
  201. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/warp_spec.rb +0 -53
  202. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/warp_spec_files/config.yml +0 -3
  203. data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/warp_spec_settings.yml +0 -6
  204. data/sub/avm-git/spec/lib/avm/git/runners/base/deploy_spec.rb +0 -126
  205. data/sub/avm-git/spec/lib/avm/git/runners/base/deploy_spec_files/append1/stub3.txt.template +0 -1
  206. data/sub/avm-git/spec/lib/avm/git/runners/base/deploy_spec_files/append2/stub4.txt +0 -1
  207. data/sub/avm-git/spec/lib/avm/git/scms/git/commit/deploy_spec.rb +0 -92
  208. data/sub/avm-git/spec/lib/avm/git/scms/git_spec.rb +0 -8
  209. data/sub/avm-git/spec/lib/avm/git/scms/git_subrepo_spec.rb +0 -8
  210. data/sub/avm-git/spec/lib/avm/git/vendor/github_spec.rb +0 -23
  211. /data/sub/{avm-git → avm-eac_redmine_base0}/Gemfile +0 -0
  212. /data/sub/{avm-git → avm-eac_redmine_base0}/spec/rubocop_spec.rb +0 -0
@@ -1,45 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Runners
6
- class Base
7
- class Subrepo
8
- class Check
9
- runner_with :help do
10
- desc 'Check status of subrepos.'
11
- bool_opt '-a', '--all', 'Select all subrepos.'
12
- bool_opt '-f', '--fix-parent', 'Fix parent SHA1.'
13
- bool_opt '-n', '--no-error', 'Do not exit with error if check fails.'
14
- bool_opt '-r', '--remote', 'Check subrepos remote.'
15
- pos_arg :subrepos, repeat: true, optional: true
16
- end
17
-
18
- def run
19
- subrepo_checks.show_result
20
- return if parsed.no_error?
21
- return unless subrepo_checks.result.error?
22
-
23
- fatal_error 'Failed'
24
- end
25
-
26
- private
27
-
28
- def subrepo_checks_uncached
29
- r = ::Avm::Git::SubrepoChecks.new(local_repos)
30
- r.check_remote = parsed.remote?
31
- r.fix_parent = parsed.fix_parent?
32
- r.add_all_subrepos if parsed.all?
33
- r.add_subrepos(*parsed.subrepos)
34
- r
35
- end
36
-
37
- def local_repos_uncached
38
- ::EacGit::Local.new(runner_context.call(:git))
39
- end
40
- end
41
- end
42
- end
43
- end
44
- end
45
- end
@@ -1,80 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Runners
6
- class Base
7
- class Subrepo
8
- class Clone
9
- runner_with :help do
10
- desc 'Clone git-subrepo repositories.'
11
- arg_opt '-b', '--branch', 'Branch.'
12
- arg_opt '-d', '--parent-dir', 'Target path\'s parent directory.'
13
- pos_arg :url
14
- pos_arg :target_path, optional: true
15
- end
16
-
17
- def run
18
- start_banner
19
- clean
20
- clone
21
- end
22
-
23
- private
24
-
25
- def start_banner
26
- infov 'URL', url
27
- infov 'Subpath', target_path
28
- infov 'Branch', branch
29
- end
30
-
31
- def clean
32
- infom 'Cleaning...'
33
- git.command('subrepo', 'clean', '--all', '--force').system!
34
- end
35
-
36
- def clone
37
- infom 'Cloning...'
38
- infov 'Clone arguments', clone_args
39
- git.command(*clone_args).system!
40
- end
41
-
42
- delegate :branch, :url, to: :parsed
43
-
44
- def git_uncached
45
- ::EacGit::Local.new('.')
46
- end
47
-
48
- def clone_args
49
- ['subrepo'] + branch.if_present([]) { |v| ['--branch', v] } +
50
- if ::File.exist?(target_path)
51
- ['init', target_path, '--remote', url]
52
- else
53
- ['clone', url, target_path, '--message', clone_message, '--force']
54
- end
55
- end
56
-
57
- def clone_message
58
- "Subrepo \"#{target_path}\" (#{url})."
59
- end
60
-
61
- def repos_name_from_url
62
- %r{/([^/]+)\z}.if_match(url, false) { |m| m[1].gsub(/\.git\z/, '') }
63
- end
64
-
65
- def target_path
66
- parsed.target_path || target_path_from_parent_dir ||
67
- fatal_error('No target path specified')
68
- end
69
-
70
- def target_path_from_parent_dir
71
- return nil unless parsed.parent_dir && repos_name_from_url
72
-
73
- ::File.join(parsed.parent_dir, repos_name_from_url)
74
- end
75
- end
76
- end
77
- end
78
- end
79
- end
80
- end
@@ -1,69 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Runners
6
- class Base
7
- class Subrepo
8
- class Fix
9
- runner_with :help do
10
- desc 'Fix git-subrepos\' parent property.'
11
- end
12
-
13
- def run
14
- loop do
15
- break if fix
16
-
17
- amend_each
18
- rebase_fixup
19
- end
20
- end
21
-
22
- private
23
-
24
- def amend_each
25
- infov 'Dirty files', local_repos.dirty_files.count
26
- local_repos.dirty_files.each do |file|
27
- infov ' * Ammending', file.path
28
- ::Avm::Scms::AutoCommit::ForFile.new(
29
- git_scm, file.path,
30
- [::Avm::Scms::AutoCommit::Rules::Unique.new]
31
- ).run
32
- end
33
- end
34
-
35
- def fix # rubocop:disable Naming/PredicateMethod
36
- infom 'Checking/fixing...'
37
- c = new_check(true)
38
- c.show_result
39
- !c.result.error?
40
- end
41
-
42
- # @return [Avm::Git::Scms::Git]
43
- def git_scm_uncached
44
- ::Avm::Git::Scms::Git.new(runner_context.call(:git).root_path)
45
- end
46
-
47
- def new_check(fix_parent = false) # rubocop:disable Style/OptionalBooleanParameter
48
- r = ::Avm::Git::SubrepoChecks.new(local_repos).add_all_subrepos
49
- r.fix_parent = fix_parent
50
- r
51
- end
52
-
53
- def local_repos_uncached
54
- ::EacGit::Local.new(runner_context.call(:git))
55
- end
56
-
57
- def rebase_fixup
58
- local_repos.command('rebase', '-i', 'origin/master', '--autosquash').envvar(
59
- 'GIT_SEQUENCE_EDITOR', 'true'
60
- ).or(
61
- local_repos.command('rebase', '--continue').envvar('GIT_SEQUENCE_EDITOR', 'true')
62
- ).system!
63
- end
64
- end
65
- end
66
- end
67
- end
68
- end
69
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Runners
6
- class Base
7
- class Subrepo
8
- require_sub __FILE__
9
- runner_with :help, :subcommands do
10
- desc 'Git-subrepo (https://github.com/ingydotnet/git-subrepo) utilities.'
11
- subcommands
12
- end
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,40 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Runners
6
- class Base
7
- require_sub __FILE__
8
- runner_with :help, :subcommands do
9
- desc 'Git utilities for AVM.'
10
- arg_opt '-C', '--path', 'Path to Git repository.'
11
- subcommands
12
- end
13
-
14
- COMMAND_ARGUMENT = 'git'
15
-
16
- # @return [String]
17
- def self.command_argument
18
- COMMAND_ARGUMENT
19
- end
20
-
21
- def repository_path
22
- repository_path? ? parsed.path : '.'
23
- end
24
-
25
- def repository_path?
26
- parsed.path.present?
27
- end
28
-
29
- def git
30
- @git ||= ::Avm::Git::Launcher::Base.by_root(repository_path)
31
- end
32
-
33
- # @return [[EacGit::Local]]
34
- def git_repo
35
- git.eac_git
36
- end
37
- end
38
- end
39
- end
40
- end
@@ -1,28 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Scms
6
- class Git < ::Avm::Scms::Base
7
- class Branch < ::Avm::Scms::Branch
8
- common_constructor :scm, :eac_git_branch
9
-
10
- # @return [Avm::Git::Scms::Git::Commit]
11
- def head_commit
12
- ::Avm::Git::Scms::Git::Commit.new(scm, eac_git_branch.head_commit)
13
- end
14
-
15
- # @return [String]
16
- def id
17
- eac_git_branch.name
18
- end
19
-
20
- # @param remote [Avm::Git::Scms::Git::Remote]
21
- def push(remote)
22
- eac_git_branch.push(remote.eac_git_remote, force: true)
23
- end
24
- end
25
- end
26
- end
27
- end
28
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Scms
6
- class Git < ::Avm::Scms::Base
7
- module Branches
8
- # @return [Avm::Git::Scms::Git::Branch]
9
- def head_branch
10
- ::Avm::Git::Scms::Git::Branch.new(self,
11
- git_repo.current_branch)
12
- end
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,34 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Scms
6
- class Git < ::Avm::Scms::Base
7
- class ChangeTracker
8
- common_constructor :git_scm, :commit_info
9
- attr_reader :starting_commit
10
-
11
- delegate :git_repo, to: :git_scm
12
-
13
- def start
14
- raise 'Repository is dirty' if git_repo.dirty?
15
-
16
- self.starting_commit = git_repo.head
17
- end
18
-
19
- # @return [Avm::Git::Scms::Git::Commit, nil]
20
- def stop
21
- git_scm.commit_dirty
22
- return nil if starting_commit == git_repo.head
23
-
24
- git_scm.reset_and_commit(starting_commit, commit_info)
25
- end
26
-
27
- private
28
-
29
- attr_writer :starting_commit
30
- end
31
- end
32
- end
33
- end
34
- end
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Scms
6
- class Git < ::Avm::Scms::Base
7
- class ChangedFile < ::Avm::Scms::ChangedFile
8
- common_constructor :scm, :sub_changed_file
9
-
10
- # @return [Pathname]
11
- delegate :path, to: :sub_changed_file
12
-
13
- # @return [Symbol]
14
- def action
15
- return ACTION_ADD if sub_changed_file.add?
16
- return ACTION_DELETE if sub_changed_file.delete?
17
- return ACTION_MODIFY if sub_changed_file.modify?
18
-
19
- nyi sub_changed_file
20
- end
21
- end
22
- end
23
- end
24
- end
25
- end
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Scms
6
- class Git < ::Avm::Scms::Base
7
- class ChangedFiles
8
- enable_method_class
9
- common_constructor :scm
10
-
11
- # @return [Avm::Git::Scms::Git::ChangedFile]
12
- def result
13
- scm.git_repo.dirty_files.map do |dirty_file|
14
- ::Avm::Git::Scms::Git::ChangedFile.new(scm, dirty_file)
15
- end
16
- end
17
- end
18
- end
19
- end
20
- end
21
- end
@@ -1,37 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Scms
6
- class Git < ::Avm::Scms::Base
7
- class Commit < ::Avm::Scms::Commit
8
- class Deploy
9
- include ::Avm::Files::Appendable
10
- enable_simple_cache
11
-
12
- attr_reader :build_dir, :commit, :target_env, :target_path
13
-
14
- def initialize(commit, target_env, target_path)
15
- @commit = commit
16
- @target_env = target_env
17
- @target_path = target_path
18
- end
19
-
20
- def run
21
- fd = ::Avm::Files::Deploy.new(target_env, target_path)
22
- fd.append_tar_output_command(git_archive_command)
23
- fd.appended.push(*appended)
24
- fd.run
25
- end
26
-
27
- private
28
-
29
- def git_archive_command
30
- commit.git_repo.command('archive', '--format=tar', commit.id)
31
- end
32
- end
33
- end
34
- end
35
- end
36
- end
37
- end
@@ -1,24 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Scms
6
- class Git < ::Avm::Scms::Base
7
- class Commit < ::Avm::Scms::Commit
8
- module DeployMethods
9
- def deploy_to_env_path(target_env, target_path)
10
- ::Avm::Git::Scms::Git::Commit::Deploy.new(self, target_env, target_path)
11
- end
12
-
13
- def deploy_to_url(target_url)
14
- ::Avm::Git::Scms::Git::Commit::Deploy.new(
15
- self,
16
- *::Avm::Git::Commit.target_url_to_env_path(target_url)
17
- )
18
- end
19
- end
20
- end
21
- end
22
- end
23
- end
24
- end
@@ -1,64 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Scms
6
- class Git < ::Avm::Scms::Base
7
- class Commit < ::Avm::Scms::Commit
8
- require_sub __FILE__, include_modules: true
9
- common_constructor :git_scm, :git_commit do
10
- git_commit.assert_argument(::EacGit::Local::Commit, 'git_commit')
11
- end
12
- delegate :git_repo, to: :git_scm
13
- delegate :id, to: :git_commit
14
-
15
- FIXUP_SUBJECT_PATTERN = /\Afixup!/.freeze
16
-
17
- # @return [Array<Pathname>]
18
- def changed_files
19
- git_commit.changed_files.map { |cf| cf.path.to_pathname }
20
- end
21
-
22
- # @return [Boolean]
23
- def fixup?
24
- FIXUP_SUBJECT_PATTERN.match?(git_commit.subject)
25
- end
26
-
27
- # @param other [Avm::Git::Scms::Git::Commit]
28
- # @return [Avm::Git::Scms::Git::Commit]
29
- def merge_with(other)
30
- validate_clean_and_head
31
- raise 'Implemented for only if other is parent' unless
32
- other.git_commit == git_commit.parent
33
-
34
- git_scm.reset_and_commit(other.git_commit.parent, other.git_commit.raw_body)
35
- end
36
-
37
- def reword(new_message)
38
- validate_clean_and_head
39
-
40
- git_repo.command('commit', '--amend', '-m', new_message).execute!
41
- self.class.new(git_scm, git_repo.head)
42
- end
43
-
44
- # @param path [Pathname]
45
- # @return [TrueClass,FalseClass]
46
- def scm_file?(path)
47
- %w[.gitrepo .gitmodules].any? { |file| file.include?(path.basename.to_path) }
48
- end
49
-
50
- # @return [String]
51
- delegate :subject, to: :git_commit
52
-
53
- private
54
-
55
- def validate_clean_and_head
56
- raise 'Implemented for only if repository is no dirty' if git_repo.dirty?
57
- raise 'Implemented for only if self is HEAD' unless
58
- git_commit == git_repo.head
59
- end
60
- end
61
- end
62
- end
63
- end
64
- end
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Scms
6
- class Git < ::Avm::Scms::Base
7
- class CommitDirty
8
- enable_method_class
9
- # @param commit_info [Avm::Scms::CommitInfo, nil]
10
- common_constructor :scm, :commit_info, default: [nil]
11
- delegate :git_repo, :head_commit, :run_commit, to: :scm
12
-
13
- # @return [Avm::Git::Scms::Git::Commit,nil]
14
- def result
15
- return nil unless git_repo.dirty?
16
-
17
- run_commit(asserted_commit_info)
18
- head_commit
19
- end
20
-
21
- private
22
-
23
- def asserted_commit_info
24
- r = ::Avm::Scms::CommitInfo.assert(commit_info)
25
- r = r.message(COMMIT_DIRTY_DEFAULT_MESSAGE) if r.message.blank?
26
- git_repo.dirty_files.inject(r) { |a, e| a.path(e.absolute_path) }
27
- end
28
- end
29
- end
30
- end
31
- end
32
- end
@@ -1,44 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Scms
6
- class Git < ::Avm::Scms::Base
7
- module Commits
8
- # @return [Avm::Git::Scms::Git::Commit,nil]
9
- def commit(source)
10
- if source.is_a?(::Avm::Git::Scms::Git::Commit)
11
- return source if source.git_repo == git_repo
12
-
13
- raise 'Not same Git repository'
14
- end
15
- git_repo.commitize(source).if_present do |v|
16
- ::Avm::Git::Scms::Git::Commit.new(self, v)
17
- end
18
- end
19
-
20
- # @param commit_info [Avm::Scms::CommitInfo]
21
- # @return [Avm::Git::Scms::Git::Commit,nil]
22
- def commit_if_change(commit_info = nil)
23
- tracker = ::Avm::Git::Scms::Git::ChangeTracker.new(self, commit_info)
24
- tracker.start
25
- yield
26
- tracker.stop
27
- end
28
-
29
- # @return [Avm::Git::Scms::Git::Commit]
30
- def head_commit
31
- commit(git_repo.head)
32
- end
33
-
34
- # @param commit_info [Avm::Scms::CommitInfo]
35
- # @return [Avm::Git::Scms::Git::Commit]
36
- def reset_and_commit(commit_to_reset, commit_info)
37
- git_repo.command('reset', '--soft', commit(commit_to_reset).git_commit.id).execute!
38
- commit_dirty(commit_info)
39
- end
40
- end
41
- end
42
- end
43
- end
44
- end
@@ -1,28 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Scms
6
- class Git < ::Avm::Scms::Base
7
- class Interval < ::Avm::Scms::Interval
8
- def initialize(scm, from, to)
9
- super
10
- self.from = scm.commit(from)
11
- self.to = scm.commit(to)
12
- end
13
-
14
- # @return [Array<Avm::Git::Scms::Git::Commit>]
15
- def commits
16
- scm.git_repo.command('log', '--pretty=format:%H', git_commit_interval).execute!
17
- .each_line.map { |sha1| scm.commit(sha1.strip) }
18
- end
19
-
20
- # @return [String]
21
- def git_commit_interval
22
- [from.id, to.id].join('..')
23
- end
24
- end
25
- end
26
- end
27
- end
28
- end
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Scms
6
- class Git < ::Avm::Scms::Base
7
- module Milestones
8
- BASE_COMMIT_REFERENCE = 'origin/master'
9
-
10
- # @return [Avm::Git::Scms::Git::Commit]
11
- def current_milestone_base_commit
12
- commit(BASE_COMMIT_REFERENCE)
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Scms
6
- class Git < ::Avm::Scms::Base
7
- class Remote < ::Avm::Scms::Remote
8
- common_constructor :scm, :eac_git_remote
9
-
10
- # @return [String]
11
- def id
12
- nyi eac_git_remote
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Git
5
- module Scms
6
- class Git < ::Avm::Scms::Base
7
- module Remotes
8
- DEFAULT_REMOTE_ID = 'origin'
9
-
10
- # @return [Avm::Git::Scms::Git::Remote]
11
- def default_remote
12
- remote(default_remote_id)
13
- end
14
-
15
- # @return [String]
16
- def default_remote_id
17
- DEFAULT_REMOTE_ID
18
- end
19
-
20
- # @param id [String]
21
- # @return [Avm::Git::Scms::Git::Remote]
22
- def remote(id)
23
- ::Avm::Git::Scms::Git::Remote.new(self, git_repo.remote(id))
24
- end
25
- end
26
- end
27
- end
28
- end
29
- end