avm-tools 0.103.0 → 0.106.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (225) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avm/data/package/dump.rb +1 -1
  3. data/lib/avm/instances/base/dockerizable.rb +2 -1
  4. data/lib/avm/launcher/context/instance_collector.rb +46 -0
  5. data/lib/avm/launcher/instances/runner_helper.rb +22 -16
  6. data/lib/avm/launcher/paths/logical.rb +5 -0
  7. data/lib/avm/{core_ext.rb → tools/core_ext.rb} +0 -0
  8. data/lib/avm/tools/runner/app_src/eac_asciidoctor_base0/build.rb +1 -1
  9. data/lib/avm/tools/runner/app_src/info.rb +1 -1
  10. data/lib/avm/tools/runner/app_src/ruby/bundler/gemfile_lock/git.rb +62 -0
  11. data/lib/avm/tools/runner/app_src/ruby/bundler/gemfile_lock.rb +11 -41
  12. data/lib/avm/tools/runner/app_src/test.rb +1 -1
  13. data/lib/avm/tools/runner/app_src/update.rb +1 -1
  14. data/lib/avm/tools/runner/config/load_path.rb +1 -1
  15. data/lib/avm/tools/runner/config.rb +1 -1
  16. data/lib/avm/tools/runner/git/dirty_files.rb +1 -1
  17. data/lib/avm/tools/runner/git/issue/complete.rb +1 -1
  18. data/lib/avm/tools/runner/git/issue/deliver.rb +1 -1
  19. data/lib/avm/tools/runner/git/issue.rb +1 -1
  20. data/lib/avm/tools/runner/git/revisions_test.rb +1 -1
  21. data/lib/avm/tools/runner/git/subrepo/check.rb +1 -1
  22. data/lib/avm/tools/runner/git/subrepo/clone.rb +1 -1
  23. data/lib/avm/tools/runner/git/subrepo/fix.rb +1 -1
  24. data/lib/avm/tools/runner/git/subrepo.rb +1 -1
  25. data/lib/avm/tools/runner/git.rb +1 -1
  26. data/lib/avm/tools/runner/launcher/instances.rb +7 -5
  27. data/lib/avm/tools/runner/launcher/projects.rb +2 -4
  28. data/lib/avm/tools/runner/launcher/publish.rb +2 -6
  29. data/lib/avm/tools/runner/launcher.rb +1 -1
  30. data/lib/avm/tools/runner/ruby/rubocop.rb +1 -1
  31. data/lib/avm/tools/runner/self.rb +1 -1
  32. data/lib/avm/tools/version.rb +1 -1
  33. data/vendor/avm/avm.gemspec +4 -1
  34. data/vendor/avm/lib/avm/docker/runner.rb +4 -8
  35. data/{lib → vendor/avm/lib}/avm/executables.rb +1 -1
  36. data/{lib → vendor/avm/lib}/avm/files/appendable/file_content.rb +0 -0
  37. data/{lib → vendor/avm/lib}/avm/files/appendable/plain_directory.rb +0 -0
  38. data/{lib → vendor/avm/lib}/avm/files/appendable/resource_base.rb +0 -0
  39. data/{lib → vendor/avm/lib}/avm/files/appendable/tar_output_command.rb +0 -0
  40. data/{lib → vendor/avm/lib}/avm/files/appendable/templatized_directory.rb +1 -0
  41. data/{lib → vendor/avm/lib}/avm/files/appendable.rb +0 -0
  42. data/{lib → vendor/avm/lib}/avm/files/appender.rb +0 -0
  43. data/{lib → vendor/avm/lib}/avm/files/deploy.rb +0 -1
  44. data/{lib → vendor/avm/lib}/avm/files/formatter/formats/base.rb +0 -0
  45. data/{lib → vendor/avm/lib}/avm/files/formatter/formats/generic_plain.rb +0 -0
  46. data/{lib → vendor/avm/lib}/avm/files/formatter/formats/html.rb +0 -0
  47. data/vendor/avm/lib/avm/files/formatter/formats/javascript.rb +23 -0
  48. data/{lib → vendor/avm/lib}/avm/files/formatter/formats/json.rb +0 -0
  49. data/{lib → vendor/avm/lib}/avm/files/formatter/formats/php.rb +0 -0
  50. data/{lib → vendor/avm/lib}/avm/files/formatter/formats/python.rb +0 -0
  51. data/{lib → vendor/avm/lib}/avm/files/formatter/formats/ruby.rb +0 -0
  52. data/{lib → vendor/avm/lib}/avm/files/formatter/formats/xml.rb +0 -0
  53. data/{lib → vendor/avm/lib}/avm/files/formatter/formats.rb +0 -0
  54. data/{lib → vendor/avm/lib}/avm/files/formatter/utf8_assert.rb +2 -0
  55. data/{lib → vendor/avm/lib}/avm/files/formatter.rb +1 -1
  56. data/{lib → vendor/avm/lib}/avm/files/info.rb +0 -0
  57. data/{lib → vendor/avm/lib}/avm/files/rotate.rb +0 -0
  58. data/{lib → vendor/avm/lib}/avm/files.rb +0 -0
  59. data/{lib → vendor/avm/lib}/avm/git/auto_commit/commit_info.rb +0 -0
  60. data/{lib → vendor/avm/lib}/avm/git/auto_commit/rules/base.rb +0 -0
  61. data/{lib → vendor/avm/lib}/avm/git/auto_commit/rules/last.rb +0 -0
  62. data/{lib → vendor/avm/lib}/avm/git/auto_commit/rules/manual.rb +0 -0
  63. data/{lib → vendor/avm/lib}/avm/git/auto_commit/rules/new.rb +0 -0
  64. data/{lib → vendor/avm/lib}/avm/git/auto_commit/rules/nth.rb +0 -0
  65. data/{lib → vendor/avm/lib}/avm/git/auto_commit/rules/unique.rb +0 -0
  66. data/{lib → vendor/avm/lib}/avm/git/auto_commit/rules.rb +0 -0
  67. data/{lib → vendor/avm/lib}/avm/git/auto_commit_path/ruby.rb +0 -0
  68. data/{lib → vendor/avm/lib}/avm/git/auto_commit_path.rb +1 -1
  69. data/{lib → vendor/avm/lib}/avm/git/commit/class_methods.rb +0 -0
  70. data/{lib → vendor/avm/lib}/avm/git/commit/deploy.rb +0 -1
  71. data/{lib → vendor/avm/lib}/avm/git/commit/deploy_methods.rb +0 -0
  72. data/{lib → vendor/avm/lib}/avm/git/commit/diff_tree_line.rb +0 -0
  73. data/{lib → vendor/avm/lib}/avm/git/commit/file.rb +2 -2
  74. data/{lib → vendor/avm/lib}/avm/git/commit.rb +3 -2
  75. data/{lib → vendor/avm/lib}/avm/git/file_auto_fixup.rb +0 -0
  76. data/{lib → vendor/avm/lib}/avm/git/issue/complete/commits.rb +0 -0
  77. data/{lib → vendor/avm/lib}/avm/git/issue/complete/git_subrepos.rb +0 -0
  78. data/{lib → vendor/avm/lib}/avm/git/issue/complete/local_branch.rb +0 -0
  79. data/{lib → vendor/avm/lib}/avm/git/issue/complete/local_tag.rb +0 -0
  80. data/{lib → vendor/avm/lib}/avm/git/issue/complete/push.rb +0 -0
  81. data/{lib → vendor/avm/lib}/avm/git/issue/complete/remote.rb +0 -0
  82. data/{lib → vendor/avm/lib}/avm/git/issue/complete/test.rb +0 -0
  83. data/{lib → vendor/avm/lib}/avm/git/issue/complete/tracker.rb +0 -0
  84. data/{lib → vendor/avm/lib}/avm/git/issue/complete/validation.rb +0 -0
  85. data/{lib → vendor/avm/lib}/avm/git/issue/complete/validations.rb +0 -0
  86. data/{lib → vendor/avm/lib}/avm/git/issue/complete/working_tree.rb +0 -0
  87. data/{lib → vendor/avm/lib}/avm/git/issue/complete.rb +1 -1
  88. data/{lib → vendor/avm/lib}/avm/git/issue/deliver.rb +1 -1
  89. data/{lib → vendor/avm/lib}/avm/git/issue.rb +0 -0
  90. data/{lib → vendor/avm/lib}/avm/git/organize/reference_update.rb +0 -0
  91. data/{lib → vendor/avm/lib}/avm/git/organize/repository.rb +0 -0
  92. data/{lib → vendor/avm/lib}/avm/git/organize.rb +0 -0
  93. data/{lib → vendor/avm/lib}/avm/git/revision_test.rb +0 -0
  94. data/{lib → vendor/avm/lib}/avm/git/subrepo_check/parent.rb +0 -0
  95. data/{lib → vendor/avm/lib}/avm/git/subrepo_check/remote.rb +0 -0
  96. data/{lib → vendor/avm/lib}/avm/git/subrepo_check/show_result.rb +0 -1
  97. data/{lib → vendor/avm/lib}/avm/git/subrepo_check.rb +0 -1
  98. data/{lib → vendor/avm/lib}/avm/git/subrepo_checks.rb +1 -1
  99. data/{lib → vendor/avm/lib}/avm/git.rb +0 -0
  100. data/{lib → vendor/avm/lib}/avm/instances/docker_image.rb +0 -0
  101. data/{lib → vendor/avm/lib}/avm/result.rb +0 -0
  102. data/vendor/avm/lib/avm/version.rb +1 -1
  103. data/vendor/avm/spec/lib/avm/git/auto_commit_path_spec.rb +21 -0
  104. data/vendor/avm/spec/lib/avm/git/commit/deploy_spec.rb +93 -0
  105. data/vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec.rb +13 -0
  106. data/vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.source.out +1 -0
  107. data/vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.target.yaml +7 -0
  108. data/vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.source.out +1 -0
  109. data/vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.target.yaml +7 -0
  110. data/vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.source.out +1 -0
  111. data/vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.target.yaml +7 -0
  112. data/vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.source.out +2 -0
  113. data/vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.target.yaml +13 -0
  114. data/vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.source.out +2 -0
  115. data/vendor/avm/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.target.yaml +13 -0
  116. data/vendor/avm/spec/lib/avm/git/commit_spec.rb +56 -0
  117. data/vendor/avm/spec/rubocop_spec.rb +1 -1
  118. data/vendor/avm/spec/spec_helper.rb +2 -100
  119. data/vendor/avm-apps/lib/avm/apps/version.rb +1 -1
  120. data/vendor/avm-apps/spec/rubocop_spec.rb +1 -1
  121. data/vendor/avm-apps/spec/spec_helper.rb +2 -101
  122. data/vendor/avm-eac_asciidoctor_base0/avm-eac_asciidoctor_base0.gemspec +1 -0
  123. data/{lib → vendor/avm-eac_asciidoctor_base0/lib}/avm/eac_asciidoctor_base0/apache_host.rb +0 -0
  124. data/{lib → vendor/avm-eac_asciidoctor_base0/lib}/avm/eac_asciidoctor_base0/apache_path.rb +0 -0
  125. data/{lib → vendor/avm-eac_asciidoctor_base0/lib}/avm/eac_asciidoctor_base0/deploy.rb +0 -0
  126. data/{lib → vendor/avm-eac_asciidoctor_base0/lib}/avm/eac_asciidoctor_base0/instance.rb +0 -0
  127. data/vendor/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/version.rb +1 -1
  128. data/vendor/avm-eac_asciidoctor_base0/spec/rubocop_spec.rb +1 -1
  129. data/vendor/avm-eac_asciidoctor_base0/spec/spec_helper.rb +2 -100
  130. data/vendor/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/logs.rb +1 -1
  131. data/vendor/avm-eac_rails_base1/lib/avm/eac_rails_base1/version.rb +1 -1
  132. data/vendor/avm-eac_rails_base1/spec/rubocop_spec.rb +1 -1
  133. data/vendor/avm-eac_rails_base1/spec/spec_helper.rb +2 -100
  134. data/vendor/avm-eac_redmine_base0/Gemfile +5 -0
  135. data/vendor/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +19 -0
  136. data/{lib → vendor/avm-eac_redmine_base0/lib}/avm/eac_redmine_base0/apache_host.rb +0 -0
  137. data/{lib → vendor/avm-eac_redmine_base0/lib}/avm/eac_redmine_base0/core_update.rb +0 -0
  138. data/{lib → vendor/avm-eac_redmine_base0/lib}/avm/eac_redmine_base0/data_unit.rb +0 -0
  139. data/{lib → vendor/avm-eac_redmine_base0/lib}/avm/eac_redmine_base0/deploy.rb +0 -0
  140. data/{lib → vendor/avm-eac_redmine_base0/lib}/avm/eac_redmine_base0/instance.rb +2 -2
  141. data/vendor/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/docker_image.rb +55 -0
  142. data/vendor/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/patches/object/template.rb +7 -0
  143. data/vendor/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/version.rb +7 -0
  144. data/{lib/avm/eac_asciidoctor_base0.rb → vendor/avm-eac_redmine_base0/lib/avm/eac_redmine_base0.rb} +1 -1
  145. data/vendor/avm-eac_redmine_base0/spec/rubocop_spec.rb +3 -0
  146. data/vendor/avm-eac_redmine_base0/spec/spec_helper.rb +4 -0
  147. data/{template → vendor/avm-eac_redmine_base0/template}/avm/eac_redmine_base0/deploy/config/install.sh.template +1 -0
  148. data/{template → vendor/avm-eac_redmine_base0/template}/avm/eac_redmine_base0/deploy/config/secrets.yml +0 -0
  149. data/{template/avm/eac_redmine_base0 → vendor/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances}/docker_image/Dockerfile.template +1 -1
  150. data/{template/avm/eac_redmine_base0 → vendor/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances}/docker_image/apache_http_virtualhost.conf.template +0 -0
  151. data/{template/avm/eac_redmine_base0 → vendor/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances}/docker_image/apache_https_virtualhost.conf.template +0 -0
  152. data/vendor/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/install_settings.sh.template +24 -0
  153. data/{template/avm/eac_redmine_base0 → vendor/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances}/docker_image/start.sh.template +0 -0
  154. data/vendor/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +1 -1
  155. data/vendor/avm-eac_webapp_base0/spec/rubocop_spec.rb +1 -1
  156. data/vendor/avm-eac_webapp_base0/spec/spec_helper.rb +2 -100
  157. data/vendor/eac_cli/eac_cli.gemspec +3 -3
  158. data/vendor/eac_cli/lib/eac_cli/config/entry.rb +0 -2
  159. data/vendor/eac_cli/lib/eac_cli/definition/argument_option.rb +1 -1
  160. data/vendor/eac_cli/lib/eac_cli/definition/base_option.rb +9 -1
  161. data/vendor/eac_cli/lib/eac_cli/definition/boolean_option.rb +6 -0
  162. data/vendor/eac_cli/lib/eac_cli/runner_with/help/builder.rb +3 -3
  163. data/vendor/eac_cli/lib/eac_cli/version.rb +1 -1
  164. data/vendor/eac_cli/spec/lib/eac_cli/runner_spec.rb +6 -5
  165. data/vendor/eac_cli/spec/rubocop_spec.rb +1 -1
  166. data/vendor/eac_cli/spec/spec_helper.rb +2 -101
  167. data/vendor/eac_config/eac_config.gemspec +2 -2
  168. data/vendor/eac_config/lib/eac_config/version.rb +1 -1
  169. data/vendor/eac_config/spec/rubocop_spec.rb +1 -1
  170. data/vendor/eac_config/spec/spec_helper.rb +2 -15
  171. data/vendor/eac_docker/eac_docker.gemspec +2 -2
  172. data/vendor/eac_docker/lib/eac_docker/container.rb +7 -3
  173. data/vendor/eac_docker/lib/eac_docker/debug.rb +15 -0
  174. data/vendor/eac_docker/lib/eac_docker/images/coded.rb +4 -0
  175. data/vendor/eac_docker/lib/eac_docker/images/templatized.rb +16 -2
  176. data/vendor/eac_docker/lib/eac_docker/rspec/setup.rb +17 -0
  177. data/vendor/eac_docker/lib/eac_docker/rspec.rb +2 -10
  178. data/vendor/eac_docker/lib/eac_docker/version.rb +1 -1
  179. data/vendor/eac_docker/spec/rubocop_spec.rb +1 -1
  180. data/vendor/eac_docker/spec/spec_helper.rb +2 -104
  181. data/vendor/eac_git/eac_git.gemspec +3 -3
  182. data/vendor/eac_git/lib/eac_git/rspec/setup.rb +23 -0
  183. data/vendor/eac_git/lib/eac_git/rspec.rb +1 -14
  184. data/vendor/eac_git/lib/eac_git/version.rb +1 -1
  185. data/vendor/eac_git/spec/rubocop_spec.rb +1 -1
  186. data/vendor/eac_git/spec/spec_helper.rb +2 -104
  187. data/vendor/eac_ruby_base0/eac_ruby_base0.gemspec +4 -4
  188. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/version.rb +1 -1
  189. data/vendor/eac_ruby_base0/spec/rubocop_spec.rb +1 -1
  190. data/vendor/eac_ruby_base0/spec/spec_helper.rb +2 -101
  191. data/vendor/eac_ruby_gems_utils/eac_ruby_gems_utils.gemspec +2 -2
  192. data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/version.rb +1 -1
  193. data/vendor/eac_ruby_gems_utils/spec/code/rubocop_check_spec.rb +1 -1
  194. data/vendor/eac_ruby_gems_utils/spec/spec_helper.rb +2 -101
  195. data/vendor/eac_ruby_utils/eac_ruby_utils.gemspec +1 -1
  196. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/boolean.rb +1 -1
  197. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/compact.rb +22 -0
  198. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/executable.rb +15 -3
  199. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/fs_cache.rb +1 -1
  200. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/gems_registry/gem.rb +75 -0
  201. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/gems_registry.rb +35 -0
  202. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/compact.rb +20 -0
  203. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/string/delimited.rb +16 -0
  204. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/recursive_builder.rb +51 -0
  205. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/rspec/default_setup.rb +20 -0
  206. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/rspec/setup/conditionals.rb +17 -0
  207. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/rspec/setup.rb +12 -0
  208. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/rspec/setup_manager.rb +49 -0
  209. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/string_delimited.rb +70 -0
  210. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  211. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/compact_spec.rb +20 -0
  212. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/object/compact_spec.rb +20 -0
  213. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/string/delimited_spec.rb +34 -0
  214. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/recursive_builder_spec.rb +65 -0
  215. data/vendor/eac_ruby_utils/spec/rubocop_check_spec.rb +1 -1
  216. data/vendor/eac_ruby_utils/spec/spec_helper.rb +6 -6
  217. data/vendor/eac_templates/lib/eac_templates/version.rb +1 -1
  218. data/vendor/eac_templates/spec/rubocop_spec.rb +1 -1
  219. data/vendor/eac_templates/spec/spec_helper.rb +2 -100
  220. metadata +129 -91
  221. data/lib/avm/eac_redmine_base0/docker_image.rb +0 -52
  222. data/lib/avm/eac_redmine_base0.rb +0 -9
  223. data/template/avm/eac_redmine_base0/docker_image/install_settings.sh.template +0 -29
  224. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/rspec/conditional.rb +0 -35
  225. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/rspec/stubbed_ssh.rb +0 -44
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'eac_ruby_utils/core_ext'
4
4
  require 'avm/files/appendable/resource_base'
5
+ require 'eac_templates/directory'
5
6
 
6
7
  module Avm
7
8
  module Files
File without changes
File without changes
@@ -2,7 +2,6 @@
2
2
 
3
3
  require 'addressable'
4
4
  require 'avm/files/appendable'
5
- require 'avm/patches/object/template'
6
5
  require 'eac_ruby_utils/core_ext'
7
6
 
8
7
  module Avm
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/files/formatter/formats/generic_plain'
4
+
5
+ module Avm
6
+ module Files
7
+ class Formatter
8
+ module Formats
9
+ class Javascript < ::Avm::Files::Formatter::Formats::GenericPlain
10
+ VALID_BASENAMES = %w[*.js].freeze
11
+ VALID_TYPES = [].freeze
12
+
13
+ def internal_apply(files)
14
+ ::Avm::Executables.js_beautify.command.append(
15
+ ['--indent-size=2', '--end-with-newline', '--replace', *files]
16
+ ).system!
17
+ super(files)
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'avm/files/info'
4
+
3
5
  module Avm
4
6
  module Files
5
7
  class Formatter
@@ -16,7 +16,7 @@ module Avm
16
16
  options.assert_valid_keys(self.class.lists.option.values)
17
17
  end
18
18
 
19
- FORMATS = %w[ruby php html python xml json generic_plain].freeze
19
+ FORMATS = %w[ruby php html python xml javascript json generic_plain].freeze
20
20
 
21
21
  def run
22
22
  clear
File without changes
File without changes
File without changes
@@ -21,7 +21,7 @@ module Avm
21
21
  end
22
22
 
23
23
  def relative_path
24
- path.relative_path_from(git.root_path)
24
+ path.expand_path.relative_path_from(git.root_path.expand_path)
25
25
  end
26
26
  end
27
27
  end
@@ -4,7 +4,6 @@ require 'addressable'
4
4
  require 'eac_ruby_utils/core_ext'
5
5
  require 'avm/files/appendable'
6
6
  require 'avm/files/deploy'
7
- require 'avm/patches/object/template'
8
7
 
9
8
  module Avm
10
9
  module Git
@@ -12,7 +12,7 @@ module Avm
12
12
 
13
13
  attr_reader :git, :diff_tree
14
14
 
15
- # git: [Avm::Launcher::Git::Base]
15
+ # git: [EacGit::Local]
16
16
  # diff_tree_tree: a line of command "git diff-tree --no-commit-id -r --full-index"'s output
17
17
  def initialize(git, diff_tree_line)
18
18
  @git = git
@@ -38,7 +38,7 @@ module Avm
38
38
  def size(sha1)
39
39
  return 0 if /\A0+\z/.match(sha1)
40
40
 
41
- git.execute!('cat-file', '-s', sha1).strip.to_i
41
+ git.command('cat-file', '-s', sha1).execute!.strip.to_i
42
42
  end
43
43
  end
44
44
  end
@@ -18,13 +18,14 @@ module Avm
18
18
 
19
19
  attr_reader :git, :sha1
20
20
 
21
+ # @param git [EacGit::Local]
21
22
  def initialize(git, sha1)
22
23
  @git = git
23
24
  @sha1 = sha1
24
25
  end
25
26
 
26
27
  def format(format)
27
- git.execute!('--no-pager', 'log', '-1', "--pretty=format:#{format}", sha1).strip
28
+ git.command('--no-pager', 'log', '-1', "--pretty=format:#{format}", sha1).execute!.strip
28
29
  end
29
30
 
30
31
  FIELDS.each do |field, format|
@@ -51,7 +52,7 @@ module Avm
51
52
  args = []
52
53
  args << '--root' if root_child?
53
54
  args << sha1
54
- git.execute!(*::Avm::Git::Commit::DiffTreeLine::GIT_COMMAND_ARGS, *args)
55
+ git.command(*::Avm::Git::Commit::DiffTreeLine::GIT_COMMAND_ARGS, *args).execute!
55
56
  end
56
57
  end
57
58
  end
File without changes
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/core_ext'
3
+ require 'avm/tools/core_ext'
4
4
 
5
5
  module Avm
6
6
  module Git
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/core_ext'
3
+ require 'avm/tools/core_ext'
4
4
  require 'clipboard'
5
5
 
6
6
  module Avm
File without changes
File without changes
File without changes
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/launcher/git/base'
4
3
  require 'eac_ruby_utils/core_ext'
5
4
 
6
5
  module Avm
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/launcher/git/base'
4
3
  require 'eac_ruby_utils/core_ext'
5
4
 
6
5
  module Avm
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/launcher/git/base'
3
+ require 'avm/git/subrepo_check'
4
4
  require 'eac_ruby_utils/core_ext'
5
5
 
6
6
  module Avm
File without changes
File without changes
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Avm
4
- VERSION = '0.1.0'
4
+ VERSION = '0.3.2'
5
5
  end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/git/auto_commit_path'
4
+
5
+ RSpec.describe ::Avm::Git::AutoCommitPath, git: true do
6
+ let(:git) { stubbed_git_local_repo }
7
+
8
+ describe '#class_name' do
9
+ {
10
+ 'app/models/mynamespace/the_class.rb' => 'Mynamespace::TheClass',
11
+ 'lib/ruby/lib/cliutils/eac_redmine_base0/activity.rb' => 'Cliutils::EacRedmineBase0::Activity'
12
+ }.each do |relative_path, expected_class_name|
13
+ context "when path is \"#{relative_path}\"" do
14
+ let(:path) { git.root_path.join(relative_path) }
15
+ let(:instance) { described_class.new(git, path) }
16
+
17
+ it { expect(instance.class_name).to eq(expected_class_name) }
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,93 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/git/commit'
4
+ require 'avm/git/commit/deploy'
5
+ require 'eac_ruby_utils/fs/temp'
6
+
7
+ RSpec.describe ::Avm::Git::Commit::Deploy, git: true do
8
+ class << self
9
+ FROM_DEPLOY = %w[a.txt b.txt c.txt appended].freeze # rubocop:disable RSpec/LeakyConstantDeclaration
10
+ NOT_FROM_DEPLOY = %w[to_be_removed].freeze # rubocop:disable RSpec/LeakyConstantDeclaration
11
+
12
+ def check_files(from_deploy_exist)
13
+ if from_deploy_exist
14
+ check_files_exist(FROM_DEPLOY)
15
+ check_files_not_exist(NOT_FROM_DEPLOY)
16
+ else
17
+ check_files_not_exist(FROM_DEPLOY)
18
+ check_files_exist(NOT_FROM_DEPLOY)
19
+ end
20
+ end
21
+
22
+ def check_file_exist(basename)
23
+ it("expect \"#{basename}\" to exist") { expect(target_dir.join(basename)).to exist }
24
+ end
25
+
26
+ def check_file_not_exist(basename)
27
+ it("expect \"#{basename}\" to not exist") { expect(target_dir.join(basename)).not_to exist }
28
+ end
29
+
30
+ def check_files_exist(basenames)
31
+ basenames.each { |basename| check_file_exist(basename) }
32
+ end
33
+
34
+ def check_files_not_exist(basenames)
35
+ basenames.each { |basename| check_file_not_exist(basename) }
36
+ end
37
+ end
38
+
39
+ let(:git) { stubbed_git_local_repo }
40
+
41
+ let(:commit_sha1) do
42
+ git.file('a.txt').write('AAA')
43
+ git.file('b.txt').write('BBB')
44
+ git.command('add', '.').execute!
45
+ git.command('commit', '-m', 'First commit.').execute!
46
+ git.rev_parse('HEAD')
47
+ end
48
+
49
+ let(:appended_dir) do
50
+ r = ::EacRubyUtils::Fs::Temp.directory
51
+ r.join('appended.template').write('Needs a %%ABC%% value.')
52
+ r
53
+ end
54
+
55
+ let(:target_dir) do
56
+ r = ::EacRubyUtils::Fs::Temp.directory
57
+ ::FileUtils.touch(r.join('to_be_removed').to_path)
58
+ r
59
+ end
60
+
61
+ let(:commit) { ::Avm::Git::Commit.new(git, commit_sha1) }
62
+ let(:variables_source_class) do
63
+ ::Class.new do
64
+ attr_reader :abc
65
+
66
+ def initialize(abc)
67
+ @abc = abc
68
+ end
69
+ end
70
+ end
71
+ let(:variables_source) { variables_source_class.new('Any value') }
72
+ let(:target_env) { ::EacRubyUtils::Envs.local }
73
+ let(:instance) do
74
+ described_class.new(commit, target_env, target_dir).append_templatized_directory(appended_dir)
75
+ .append_file_content('c.txt', 'Any content')
76
+ .variables_source_set(variables_source)
77
+ end
78
+
79
+ after do
80
+ appended_dir.remove
81
+ target_dir.remove
82
+ end
83
+
84
+ context 'without run' do # rubocop:disable RSpec/EmptyExampleGroup
85
+ check_files(false)
86
+ end
87
+
88
+ context 'with run' do # rubocop:disable RSpec/EmptyExampleGroup
89
+ before { instance.run }
90
+
91
+ check_files(true)
92
+ end
93
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/git/commit/diff_tree_line'
4
+
5
+ RSpec.describe ::Avm::Git::Commit::DiffTreeLine, git: true do
6
+ include_examples 'source_target_fixtures', __FILE__ do
7
+ def source_data(source_file)
8
+ ::File.read(source_file).each_line.map do |line|
9
+ described_class.new(line).fields
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1 @@
1
+ :000000 100644 0000000000000000000000000000000000000000 f380aec0bd8dd777edac43b11636e46cad04273a A nomes.txt
@@ -0,0 +1,7 @@
1
+ ---
2
+ - src_mode: '000000'
3
+ dst_mode: '100644'
4
+ src_sha1: '0000000000000000000000000000000000000000'
5
+ dst_sha1: f380aec0bd8dd777edac43b11636e46cad04273a
6
+ status: A
7
+ path: nomes.txt
@@ -0,0 +1 @@
1
+ :100644 100644 40bcdecb4214cd8a3fcf96cd25a2beb87e7e7cd8 4a30dfae816b984f05cfb594e0d5958bb8c387ae M nomes.txt
@@ -0,0 +1,7 @@
1
+ ---
2
+ - src_mode: '100644'
3
+ dst_mode: '100644'
4
+ src_sha1: 40bcdecb4214cd8a3fcf96cd25a2beb87e7e7cd8
5
+ dst_sha1: 4a30dfae816b984f05cfb594e0d5958bb8c387ae
6
+ status: M
7
+ path: nomes.txt
@@ -0,0 +1 @@
1
+ :100644 000000 10728718a2915256ab162f1e05178ebff9efa6ce 0000000000000000000000000000000000000000 D nomes3.txt
@@ -0,0 +1,7 @@
1
+ ---
2
+ - src_mode: '100644'
3
+ dst_mode: '000000'
4
+ src_sha1: 10728718a2915256ab162f1e05178ebff9efa6ce
5
+ dst_sha1: '0000000000000000000000000000000000000000'
6
+ status: D
7
+ path: nomes3.txt
@@ -0,0 +1,2 @@
1
+ :100644 000000 4a30dfae816b984f05cfb594e0d5958bb8c387ae 0000000000000000000000000000000000000000 D nomes.txt
2
+ :000000 100644 0000000000000000000000000000000000000000 4a30dfae816b984f05cfb594e0d5958bb8c387ae A nomes2.txt
@@ -0,0 +1,13 @@
1
+ ---
2
+ - src_mode: '100644'
3
+ dst_mode: '000000'
4
+ src_sha1: 4a30dfae816b984f05cfb594e0d5958bb8c387ae
5
+ dst_sha1: '0000000000000000000000000000000000000000'
6
+ status: D
7
+ path: nomes.txt
8
+ - src_mode: '000000'
9
+ dst_mode: '100644'
10
+ src_sha1: '0000000000000000000000000000000000000000'
11
+ dst_sha1: 4a30dfae816b984f05cfb594e0d5958bb8c387ae
12
+ status: A
13
+ path: nomes2.txt
@@ -0,0 +1,2 @@
1
+ :100644 000000 4a30dfae816b984f05cfb594e0d5958bb8c387ae 0000000000000000000000000000000000000000 D nomes2.txt
2
+ :000000 100644 0000000000000000000000000000000000000000 10728718a2915256ab162f1e05178ebff9efa6ce A nomes3.txt
@@ -0,0 +1,13 @@
1
+ ---
2
+ - src_mode: '100644'
3
+ dst_mode: '000000'
4
+ src_sha1: 4a30dfae816b984f05cfb594e0d5958bb8c387ae
5
+ dst_sha1: '0000000000000000000000000000000000000000'
6
+ status: D
7
+ path: nomes2.txt
8
+ - src_mode: '000000'
9
+ dst_mode: '100644'
10
+ src_sha1: '0000000000000000000000000000000000000000'
11
+ dst_sha1: 10728718a2915256ab162f1e05178ebff9efa6ce
12
+ status: A
13
+ path: nomes3.txt
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/git/commit'
4
+
5
+ RSpec.describe ::Avm::Git::Commit, git: true do
6
+ let(:git) { stubbed_git_local_repo }
7
+
8
+ let(:first_commit_sha1) do
9
+ git.file('a.txt').write('AAA')
10
+ git.file('b.txt').write('BBB')
11
+ git.command('add', '.').execute!
12
+ git.command('commit', '-m', 'First commit.').execute!
13
+ git.rev_parse('HEAD')
14
+ end
15
+
16
+ let(:second_commit_sha1) do
17
+ first_commit_sha1
18
+ git.file('a.txt').write('AAAAA')
19
+ git.file('b.txt').delete
20
+ git.file('ç.txt').write('CCC')
21
+ git.command('add', '.').execute!
22
+ git.command('commit', '-m', 'Second commit.').execute!
23
+ git.rev_parse('HEAD')
24
+ end
25
+
26
+ let(:first_commit) { described_class.new(git, first_commit_sha1) }
27
+ let(:second_commit) { described_class.new(git, second_commit_sha1) }
28
+
29
+ describe '#files' do
30
+ it { expect(first_commit.files.count).to eq(2) }
31
+ it { expect(second_commit.files.count).to eq(3) }
32
+
33
+ {
34
+ 'first_commit' => %w[a.txt b.txt],
35
+ 'second_commit' => %w[a.txt b.txt ç.txt]
36
+ }.each do |commit_name, filenames|
37
+ filenames.each do |filename|
38
+ it "find file \"#{filename}\" in commit \"#{commit_name}\"" do
39
+ commit = send(commit_name)
40
+ file = commit.files.find { |f| f.path == filename }
41
+ expect(file).to be_a(::Avm::Git::Commit::File)
42
+ end
43
+ end
44
+ end
45
+ end
46
+
47
+ describe '#files_size' do
48
+ it { expect(first_commit.files_size).to eq(6) }
49
+ it { expect(second_commit.files_size).to eq(8) }
50
+ end
51
+
52
+ describe '#root_child?' do
53
+ it { expect(first_commit.root_child?).to eq(true) }
54
+ it { expect(second_commit.root_child?).to eq(false) }
55
+ end
56
+ end
@@ -1,3 +1,3 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- ::EacRubyGemSupport::Rspec.default.describe_rubocop
3
+ ::EacRubyUtils::Rspec.default_setup.describe_rubocop