avm-tools 0.101.0 → 0.103.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (220) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avm/app_src.rb +8 -7
  3. data/lib/avm/data/package/dump.rb +1 -1
  4. data/lib/avm/git/auto_commit/rules/manual.rb +1 -1
  5. data/lib/avm/git/issue/complete.rb +4 -8
  6. data/lib/avm/git/issue/complete/commits.rb +42 -0
  7. data/lib/avm/git/issue/complete/git_subrepos.rb +23 -0
  8. data/lib/avm/git/issue/complete/local_branch.rb +54 -0
  9. data/lib/avm/git/issue/complete/local_tag.rb +39 -0
  10. data/lib/avm/git/issue/complete/push.rb +54 -0
  11. data/lib/avm/git/issue/complete/remote.rb +33 -0
  12. data/lib/avm/git/issue/complete/test.rb +45 -0
  13. data/lib/avm/git/issue/complete/tracker.rb +28 -0
  14. data/lib/avm/git/issue/complete/validations.rb +53 -0
  15. data/lib/avm/git/issue/complete/working_tree.rb +19 -0
  16. data/lib/avm/git/issue/deliver.rb +1 -1
  17. data/lib/avm/git/revision_test.rb +9 -6
  18. data/lib/avm/instances/base/dockerizable.rb +2 -1
  19. data/lib/avm/launcher/context.rb +1 -1
  20. data/lib/avm/launcher/git/publish_base.rb +3 -1
  21. data/lib/avm/launcher/git/warp_base.rb +11 -0
  22. data/lib/avm/launcher/instances/base.rb +2 -1
  23. data/lib/avm/launcher/instances/error.rb +1 -3
  24. data/lib/avm/launcher/instances/runner_helper.rb +1 -1
  25. data/lib/avm/launcher/ruby/gem/build.rb +1 -1
  26. data/lib/avm/projects/stereotype/job_comparator.rb +32 -0
  27. data/lib/avm/projects/stereotypes/git/update.rb +1 -2
  28. data/lib/avm/projects/stereotypes/ruby_gem/local_project_mixin.rb +2 -2
  29. data/lib/avm/projects/stereotypes/ruby_gem/publish.rb +1 -1
  30. data/lib/avm/projects/stereotypes/ruby_gem/update.rb +4 -0
  31. data/lib/avm/self/instance.rb +4 -0
  32. data/lib/avm/{core_ext.rb → tools/core_ext.rb} +0 -0
  33. data/lib/avm/tools/runner/app_src/eac_asciidoctor_base0/build.rb +1 -1
  34. data/lib/avm/tools/runner/app_src/info.rb +1 -1
  35. data/lib/avm/tools/runner/app_src/test.rb +1 -1
  36. data/lib/avm/tools/runner/app_src/update.rb +1 -1
  37. data/lib/avm/tools/runner/app_src/version_bump.rb +3 -3
  38. data/lib/avm/tools/runner/config.rb +1 -1
  39. data/lib/avm/tools/runner/config/load_path.rb +1 -1
  40. data/lib/avm/tools/runner/git.rb +1 -1
  41. data/lib/avm/tools/runner/git/auto_commit.rb +1 -0
  42. data/lib/avm/tools/runner/git/dirty_files.rb +1 -1
  43. data/lib/avm/tools/runner/git/issue.rb +5 -76
  44. data/lib/avm/tools/runner/git/issue/complete.rb +79 -0
  45. data/lib/avm/tools/runner/git/issue/deliver.rb +35 -0
  46. data/lib/avm/tools/runner/git/organize.rb +1 -1
  47. data/lib/avm/tools/runner/git/revisions_test.rb +1 -1
  48. data/lib/avm/tools/runner/git/subrepo.rb +1 -1
  49. data/lib/avm/tools/runner/git/subrepo/check.rb +1 -1
  50. data/lib/avm/tools/runner/git/subrepo/clone.rb +1 -1
  51. data/lib/avm/tools/runner/git/subrepo/fix.rb +1 -1
  52. data/lib/avm/tools/runner/launcher.rb +1 -1
  53. data/lib/avm/tools/runner/ruby/rubocop.rb +1 -1
  54. data/lib/avm/tools/runner/self.rb +1 -1
  55. data/lib/avm/tools/version.rb +1 -1
  56. data/vendor/avm-apps/avm-apps.gemspec +1 -1
  57. data/vendor/avm-apps/lib/avm/apps/config.rb +6 -2
  58. data/vendor/avm-apps/lib/avm/apps/version.rb +1 -1
  59. data/vendor/avm-eac_rails_base1/Gemfile +5 -0
  60. data/vendor/avm-eac_rails_base1/avm-eac_rails_base1.gemspec +19 -0
  61. data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1.rb +0 -0
  62. data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/apache_host.rb +0 -0
  63. data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/instance.rb +0 -0
  64. data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/runner.rb +0 -0
  65. data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/runner/bundle.rb +0 -0
  66. data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/runner/code_runner.rb +0 -0
  67. data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/runner/log.rb +0 -0
  68. data/vendor/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/logs.rb +18 -0
  69. data/vendor/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/logs/clear.rb +26 -0
  70. data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/runner/rails_server.rb +0 -0
  71. data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/runner_with/bundle.rb +0 -0
  72. data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/runner_with/rails_environment.rb +0 -0
  73. data/vendor/avm-eac_rails_base1/lib/avm/eac_rails_base1/version.rb +7 -0
  74. data/vendor/avm-eac_rails_base1/spec/rubocop_spec.rb +3 -0
  75. data/vendor/avm-eac_rails_base1/spec/spec_helper.rb +102 -0
  76. data/vendor/avm-eac_redmine_base0/Gemfile +5 -0
  77. data/vendor/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +19 -0
  78. data/{lib → vendor/avm-eac_redmine_base0/lib}/avm/eac_redmine_base0.rb +2 -2
  79. data/{lib → vendor/avm-eac_redmine_base0/lib}/avm/eac_redmine_base0/apache_host.rb +0 -0
  80. data/{lib → vendor/avm-eac_redmine_base0/lib}/avm/eac_redmine_base0/core_update.rb +0 -0
  81. data/{lib → vendor/avm-eac_redmine_base0/lib}/avm/eac_redmine_base0/data_unit.rb +0 -0
  82. data/{lib → vendor/avm-eac_redmine_base0/lib}/avm/eac_redmine_base0/deploy.rb +0 -0
  83. data/{lib → vendor/avm-eac_redmine_base0/lib}/avm/eac_redmine_base0/instance.rb +2 -2
  84. data/vendor/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/docker_image.rb +55 -0
  85. data/vendor/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/patches/object/template.rb +7 -0
  86. data/vendor/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/version.rb +7 -0
  87. data/vendor/avm-eac_redmine_base0/spec/rubocop_spec.rb +3 -0
  88. data/vendor/avm-eac_redmine_base0/spec/spec_helper.rb +102 -0
  89. data/{template → vendor/avm-eac_redmine_base0/template}/avm/eac_redmine_base0/deploy/config/install.sh.template +0 -0
  90. data/{template → vendor/avm-eac_redmine_base0/template}/avm/eac_redmine_base0/deploy/config/secrets.yml +0 -0
  91. data/{template/avm/eac_redmine_base0 → vendor/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances}/docker_image/Dockerfile.template +1 -1
  92. 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
  93. 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
  94. data/vendor/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/install_settings.sh.template +24 -0
  95. data/{template/avm/eac_redmine_base0 → vendor/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances}/docker_image/start.sh.template +0 -0
  96. data/vendor/avm-eac_webapp_base0/Gemfile +5 -0
  97. data/vendor/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec +19 -0
  98. data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0.rb +2 -2
  99. data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/apache_host.rb +0 -0
  100. data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/apache_path.rb +0 -0
  101. data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/deploy.rb +0 -0
  102. data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/deploy/appended_directories.rb +0 -0
  103. data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/deploy/build.rb +0 -0
  104. data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/deploy/file_unit.rb +0 -0
  105. data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/deploy/git_info.rb +0 -0
  106. data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/deploy/version.rb +0 -0
  107. data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/deploy/write_on_target.rb +0 -0
  108. data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/instance.rb +0 -0
  109. data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/instance/subcommand_parent.rb +0 -0
  110. data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/runner.rb +0 -0
  111. data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/runner/apache_host.rb +0 -0
  112. data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/runner/apache_path.rb +0 -0
  113. data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/runner/data.rb +0 -0
  114. data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/runner/data/dump.rb +0 -0
  115. data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/runner/data/load.rb +0 -0
  116. data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/runner/deploy.rb +0 -0
  117. data/vendor/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +7 -0
  118. data/vendor/avm-eac_webapp_base0/spec/rubocop_spec.rb +3 -0
  119. data/vendor/avm-eac_webapp_base0/spec/spec_helper.rb +102 -0
  120. data/vendor/avm/Gemfile +5 -0
  121. data/vendor/avm/avm.gemspec +19 -0
  122. data/vendor/avm/lib/avm.rb +7 -0
  123. data/vendor/avm/lib/avm/docker.rb +9 -0
  124. data/{lib → vendor/avm/lib}/avm/docker/container.rb +5 -5
  125. data/{lib → vendor/avm/lib}/avm/docker/image.rb +3 -4
  126. data/{lib → vendor/avm/lib}/avm/docker/runner.rb +7 -11
  127. data/{lib → vendor/avm/lib}/avm/instances/docker_image.rb +0 -0
  128. data/vendor/avm/lib/avm/version.rb +5 -0
  129. data/{lib/avm/version.rb → vendor/avm/lib/avm/version_number.rb} +1 -1
  130. data/vendor/avm/spec/rubocop_spec.rb +3 -0
  131. data/vendor/avm/spec/spec_helper.rb +102 -0
  132. data/vendor/eac_cli/eac_cli.gemspec +1 -2
  133. data/vendor/eac_cli/lib/eac_cli/config.rb +1 -2
  134. data/vendor/eac_cli/lib/eac_cli/config/entry.rb +2 -2
  135. data/vendor/eac_cli/lib/eac_cli/config/entry/undefined.rb +1 -1
  136. data/vendor/eac_cli/lib/eac_cli/definition/help_formatter.rb +3 -2
  137. data/vendor/eac_cli/lib/eac_cli/old_configs.rb +0 -1
  138. data/vendor/eac_cli/lib/eac_cli/old_configs/entry_reader.rb +2 -2
  139. data/vendor/eac_cli/lib/eac_cli/old_configs_bridge.rb +2 -0
  140. data/vendor/eac_cli/lib/eac_cli/runner.rb +0 -2
  141. data/vendor/eac_cli/lib/eac_cli/runner/after_class_methods.rb +20 -3
  142. data/vendor/eac_cli/lib/eac_cli/runner/instance_methods.rb +5 -1
  143. data/vendor/eac_cli/lib/eac_cli/runner_with/help.rb +3 -2
  144. data/vendor/eac_cli/lib/eac_cli/runner_with/help/builder.rb +73 -0
  145. data/vendor/eac_cli/lib/eac_cli/runner_with/help/builder/alternative.rb +56 -0
  146. data/vendor/eac_cli/lib/eac_cli/runner_with/subcommands.rb +1 -3
  147. data/vendor/eac_cli/lib/eac_cli/speaker.rb +15 -19
  148. data/vendor/eac_cli/lib/eac_cli/speaker/_constants.rb +1 -1
  149. data/vendor/eac_cli/lib/eac_cli/speaker/list.rb +1 -1
  150. data/vendor/eac_cli/lib/eac_cli/speaker/options.rb +38 -0
  151. data/vendor/eac_cli/lib/eac_cli/version.rb +1 -1
  152. data/vendor/eac_cli/spec/lib/eac_cli/parser/alternative_spec.rb +1 -1
  153. data/vendor/eac_cli/spec/lib/eac_cli/runner_spec.rb +0 -1
  154. data/vendor/eac_cli/spec/lib/eac_cli/speaker_spec.rb +5 -9
  155. data/vendor/eac_config/lib/eac_config/node.rb +7 -0
  156. data/vendor/eac_config/lib/eac_config/version.rb +1 -1
  157. data/vendor/eac_docker/eac_docker.gemspec +1 -1
  158. data/vendor/eac_docker/lib/eac_docker/debug.rb +15 -0
  159. data/vendor/eac_docker/lib/eac_docker/images/coded.rb +4 -0
  160. data/vendor/eac_docker/lib/eac_docker/images/templatized.rb +12 -2
  161. data/vendor/eac_docker/lib/eac_docker/version.rb +1 -1
  162. data/vendor/eac_git/lib/eac_git/local.rb +5 -1
  163. data/vendor/eac_git/lib/eac_git/local/subrepo.rb +2 -1
  164. data/vendor/eac_git/lib/eac_git/version.rb +1 -1
  165. data/vendor/eac_ruby_base0/eac_ruby_base0.gemspec +2 -2
  166. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/application.rb +23 -9
  167. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/application_xdg.rb +34 -0
  168. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/jobs_runner.rb +2 -2
  169. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner.rb +19 -7
  170. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner_with/confirmation.rb +8 -1
  171. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/version.rb +1 -1
  172. data/vendor/eac_ruby_gems_utils/eac_ruby_gems_utils.gemspec +1 -1
  173. data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb +2 -0
  174. data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/version.rb +1 -1
  175. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/boolean.rb +1 -1
  176. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/speaker.rb +9 -0
  177. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/parent_n.rb +11 -0
  178. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/simple_cache.rb +10 -2
  179. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/speaker.rb +16 -0
  180. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/speaker/receiver.rb +57 -0
  181. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/speaker/sender.rb +32 -0
  182. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  183. data/vendor/{eac_cli/spec/lib → eac_ruby_utils/spec/lib/eac_ruby_utils/patches}/module/speaker_spec.rb +2 -2
  184. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/pathname/parent_n_spec.rb +33 -0
  185. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/simple_cache_spec.rb +18 -0
  186. data/vendor/eac_templates/eac_templates.gemspec +1 -1
  187. data/vendor/eac_templates/lib/eac_templates/variable_providers.rb +1 -1
  188. data/vendor/eac_templates/lib/eac_templates/variable_providers/config_reader.rb +27 -0
  189. data/vendor/eac_templates/lib/eac_templates/version.rb +1 -1
  190. metadata +116 -80
  191. data/lib/avm/docker.rb +0 -9
  192. data/lib/avm/docker/registry.rb +0 -28
  193. data/lib/avm/eac_redmine_base0/docker_image.rb +0 -52
  194. data/lib/avm/git/issue/complete/_commits.rb +0 -40
  195. data/lib/avm/git/issue/complete/_git_subrepos.rb +0 -21
  196. data/lib/avm/git/issue/complete/_local_branch.rb +0 -52
  197. data/lib/avm/git/issue/complete/_local_tag.rb +0 -37
  198. data/lib/avm/git/issue/complete/_push.rb +0 -52
  199. data/lib/avm/git/issue/complete/_remote.rb +0 -31
  200. data/lib/avm/git/issue/complete/_test.rb +0 -43
  201. data/lib/avm/git/issue/complete/_tracker.rb +0 -26
  202. data/lib/avm/git/issue/complete/_validations.rb +0 -51
  203. data/lib/avm/git/issue/complete/_working_tree.rb +0 -17
  204. data/template/avm/eac_redmine_base0/docker_image/install_settings.sh.template +0 -29
  205. data/vendor/eac_cli/lib/eac_cli/docopt/doc_builder.rb +0 -71
  206. data/vendor/eac_cli/lib/eac_cli/docopt/doc_builder/alternative.rb +0 -52
  207. data/vendor/eac_cli/lib/eac_cli/docopt/runner_context_replacement.rb +0 -15
  208. data/vendor/eac_cli/lib/eac_cli/docopt/runner_extension.rb +0 -51
  209. data/vendor/eac_cli/lib/eac_cli/docopt_runner.rb +0 -38
  210. data/vendor/eac_cli/lib/eac_cli/docopt_runner/_class_methods.rb +0 -16
  211. data/vendor/eac_cli/lib/eac_cli/docopt_runner/_doc.rb +0 -23
  212. data/vendor/eac_cli/lib/eac_cli/docopt_runner/_settings.rb +0 -17
  213. data/vendor/eac_cli/lib/eac_cli/docopt_runner/_subcommands.rb +0 -152
  214. data/vendor/eac_cli/lib/eac_cli/docopt_runner/context.rb +0 -18
  215. data/vendor/eac_cli/lib/eac_cli/patches/module.rb +0 -4
  216. data/vendor/eac_cli/lib/eac_cli/patches/module/speaker.rb +0 -10
  217. data/vendor/eac_cli/lib/eac_cli/speaker/_class_methods.rb +0 -37
  218. data/vendor/eac_cli/lib/eac_cli/speaker/node.rb +0 -24
  219. data/vendor/eac_cli/spec/lib/eac_cli/docopt/runner_extension_spec.rb +0 -35
  220. data/vendor/eac_cli/spec/lib/eac_cli/docopt_runner_spec.rb +0 -136
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Git
5
+ module Issue
6
+ class Complete
7
+ module WorkingTree
8
+ def clean_workspace_result
9
+ ::Avm::Result.success_or_error(clean_workspace?, 'yes', 'no')
10
+ end
11
+
12
+ def clean_workspace?
13
+ @git.dirty_files.none?
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -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
@@ -13,12 +13,8 @@ module Avm
13
13
 
14
14
  def banner
15
15
  infov 'Revision to test', sha1
16
- on_speaker_node do |node|
17
- node.stderr_line_prefix = ' '
18
- infov '* Subject', commit.subject
19
- infov '* Success?', successful_label
20
- infov '* STDOUT', stdout_cache.content_path
21
- infov '* STDERR', stderr_cache.content_path
16
+ ::EacRubyUtils::Speaker.context.on(::EacCli::Speaker.new(err_line_prefix: ' ')) do
17
+ revision_banner
22
18
  end
23
19
  end
24
20
 
@@ -49,6 +45,13 @@ module Avm
49
45
  ::File.expand_path(git.to_s)
50
46
  end
51
47
 
48
+ def revision_banner
49
+ infov '* Subject', commit.subject
50
+ infov '* Success?', successful_label
51
+ infov '* STDOUT', stdout_cache.content_path
52
+ infov '* STDERR', stderr_cache.content_path
53
+ end
54
+
52
55
  def root_cache
53
56
  ::Avm.fs_cache.child('git', 'revision_test', git_absolute_path.parameterize, sha1,
54
57
  options.fetch(:test_command).to_s.parameterize)
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'eac_docker/executables'
3
4
  require 'eac_ruby_utils/core_ext'
4
5
  require 'avm/docker/container'
5
6
 
@@ -16,7 +17,7 @@ module Avm
16
17
  end
17
18
 
18
19
  def docker_container_exist?
19
- ::Avm::Executables.docker.command.append(
20
+ ::EacDocker::Executables.docker.command.append(
20
21
  ['ps', '-qaf', "name=#{docker_container_name}"]
21
22
  ).execute!.present?
22
23
  end
@@ -13,7 +13,7 @@ module Avm
13
13
  module Launcher
14
14
  class Context
15
15
  include ::EacRubyUtils::SimpleCache
16
- include ::EacCli::Speaker
16
+ enable_speaker
17
17
 
18
18
  DEFAULT_PROJECTS_ROOT = '.'
19
19
  DEFAULT_SETTINGS_FILE = ::File.join(ENV['HOME'], '.config', 'eac_launcher', 'settings.yml')
@@ -10,7 +10,7 @@ module Avm
10
10
  module Git
11
11
  class PublishBase < ::Avm::Launcher::Publish::Base
12
12
  include ::EacRubyUtils::SimpleCache
13
- include ::EacCli::Speaker
13
+ enable_speaker
14
14
 
15
15
  CHECKERS = %w[remote_url remote_fetch publish_remote_no_exist remote_equal remote_following
16
16
  local_following].freeze
@@ -26,6 +26,8 @@ module Avm
26
26
  return result if result
27
27
  end
28
28
  divergent_result_check_result
29
+ rescue ::Avm::Launcher::Instances::Error => e
30
+ ::Avm::Launcher::Publish::CheckResult.blocked(e.message)
29
31
  rescue ::StandardError => e
30
32
  raise e unless remote_unavailable_error?(e)
31
33
 
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/launcher/git/mirror_update'
4
+ require 'avm/launcher/instances/error'
4
5
  require 'avm/launcher/vendor/github'
5
6
  require 'avm/projects/stereotypes/git/publish'
6
7
 
@@ -27,7 +28,17 @@ module Avm
27
28
 
28
29
  attr_reader :instance
29
30
 
31
+ def validate_source_current_revision
32
+ if source_git.rev_parse(source_instance.options.git_current_revision, false).present?
33
+ return
34
+ end
35
+
36
+ raise ::Avm::Launcher::Instances::Error, 'Refspec ' \
37
+ "\"#{source_instance.options.git_current_revision}\" not found in \"#{source_git}\""
38
+ end
39
+
30
40
  def update
41
+ validate_source_current_revision
31
42
  ::Avm::Launcher::Git::MirrorUpdate.new(
32
43
  path,
33
44
  source_instance.real,
@@ -2,6 +2,7 @@
2
2
 
3
3
  require_relative 'base/cache'
4
4
  require 'avm/launcher/errors/non_project'
5
+ require 'eac_ruby_utils/speaker/sender'
5
6
 
6
7
  module Avm
7
8
  module Launcher
@@ -10,7 +11,7 @@ module Avm
10
11
  class << self
11
12
  def extend_object(object)
12
13
  object.extend ::EacRubyUtils::SimpleCache
13
- object.extend ::EacCli::Speaker
14
+ object.extend ::EacRubyUtils::Speaker::Sender
14
15
  object.extend ::Avm::Launcher::Instances::Base::Cache
15
16
  super
16
17
  end
@@ -3,9 +3,7 @@
3
3
  module Avm
4
4
  module Launcher
5
5
  module Instances
6
- module Errors
7
- class Error < StandardError
8
- end
6
+ class Error < StandardError
9
7
  end
10
8
  end
11
9
  end
@@ -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 Launcher
@@ -10,7 +10,7 @@ module Avm
10
10
  module Ruby
11
11
  module Gem
12
12
  class Build
13
- include ::EacCli::Speaker
13
+ enable_speaker
14
14
 
15
15
  def initialize(original_gem_root)
16
16
  @original_gem_root = original_gem_root
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Projects
7
+ module Stereotype
8
+ class JobComparator
9
+ common_constructor :job1, :job2
10
+
11
+ def result
12
+ return -1 if run_before?(job1, job2)
13
+ return 1 if run_before?(job2, job1)
14
+
15
+ job1.object_id <=> job2.class.name
16
+ end
17
+
18
+ private
19
+
20
+ def run_before?(a_job, other_job)
21
+ return false unless a_job.respond_to?(:run_before)
22
+
23
+ a_job.run_before.map(&:to_sym).include?(job_stereotype_key(other_job))
24
+ end
25
+
26
+ def job_stereotype_key(job)
27
+ job.class.name.split('::')[0..-2].join('::').demodulize.variableize.to_sym
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -19,8 +19,7 @@ module Avm
19
19
  clean_all
20
20
  selected_subrepos.map do |f|
21
21
  infov 'Subrepo', f
22
- on_speaker_node do |node|
23
- node.stderr_line_prefix = ' '
22
+ ::EacRubyUtils::Speaker.context.on(::EacCli::Speaker.new(err_line_prefix: ' ')) do
24
23
  ::Avm::Projects::Stereotypes::Git::Update::Subrepo.new(self, f).run
25
24
  end
26
25
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/patches/eac_ruby_gems_utils/gem'
4
- require 'avm/version'
4
+ require 'avm/version_number'
5
5
  require 'eac_ruby_utils/core_ext'
6
6
 
7
7
  module Avm
@@ -15,7 +15,7 @@ module Avm
15
15
  end
16
16
 
17
17
  def version
18
- ruby_gem.version.if_present { |v| ::Avm::Version.new(v) }
18
+ ruby_gem.version.if_present { |v| ::Avm::VersionNumber.new(v) }
19
19
  end
20
20
 
21
21
  def version=(value)
@@ -15,7 +15,7 @@ module Avm
15
15
  class RubyGem
16
16
  class Publish < ::Avm::Launcher::Publish::Base
17
17
  include ::EacRubyUtils::SimpleCache
18
- include ::EacCli::Speaker
18
+ enable_speaker
19
19
 
20
20
  protected
21
21
 
@@ -19,6 +19,10 @@ module Avm
19
19
  gemfile_lock_commit
20
20
  end
21
21
 
22
+ def run_before
23
+ [:git]
24
+ end
25
+
22
26
  private
23
27
 
24
28
  def bundle_update
@@ -12,6 +12,10 @@ module Avm
12
12
  ::Avm::Self::DockerImage
13
13
  end
14
14
 
15
+ def docker_registry
16
+ read_entry(::Avm::Self::Instance::EntryKeys::DOCKER_REGISTRY_NAME)
17
+ end
18
+
15
19
  def docker_run_arguments
16
20
  ['-e', "LOCAL_USER_ID=#{::Process.uid}"]
17
21
  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
  require 'avm/eac_asciidoctor_base0/sources/build'
5
5
  require 'os'
6
6
 
@@ -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 Tools
@@ -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 Tools
@@ -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 Tools
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/version'
3
+ require 'avm/version_number'
4
4
  require 'eac_cli/core_ext'
5
5
 
6
6
  module Avm
@@ -44,7 +44,7 @@ module Avm
44
44
  end
45
45
 
46
46
  def confirm?
47
- parsed.yes? || request_input('Confirm version bump?', bool: true)
47
+ parsed.yes? || input('Confirm version bump?', bool: true)
48
48
  end
49
49
 
50
50
  def current_version_uncached
@@ -63,7 +63,7 @@ module Avm
63
63
  end
64
64
 
65
65
  def target_version_from_new(_current, option_value)
66
- ::Avm::Version.new(option_value)
66
+ ::Avm::VersionNumber.new(option_value)
67
67
  end
68
68
 
69
69
  def target_version_from_segment(current, option_value)
@@ -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 Tools
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'avm/apps/config'
4
4
  require 'avm/self'
5
- require 'avm/core_ext'
5
+ require 'avm/tools/core_ext'
6
6
 
7
7
  module Avm
8
8
  module Tools
@@ -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 'avm/launcher/git/base'
5
5
 
6
6
  module Avm
@@ -19,6 +19,7 @@ module Avm
19
19
  end
20
20
 
21
21
  def run
22
+ runner_context.call(:git).command('reset', 'HEAD').system!
22
23
  format_files
23
24
  files.each do |file|
24
25
  ::Avm::Git::FileAutoFixup.new(runner_context.call(:git), file, rules).run
@@ -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 Tools
@@ -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 'avm/git/issue/complete'
5
5
 
6
6
  module Avm
@@ -8,81 +8,10 @@ module Avm
8
8
  class Runner
9
9
  class Git
10
10
  class Issue
11
- runner_with :confirmation, :help do
12
- desc 'Closes a issue in a Git repository.'
13
- bool_opt '-f', '--uncomplete-unfail', 'Do not exit with error if issue is not' \
14
- ' completed or is invalid.'
15
- arg_opt '-s', '--skip-validations', 'Does not validate conditions on <validations>' \
16
- ' (Comma separated value).'
17
- bool_opt '--complete', 'Run complete task.'
18
- bool_opt '--deliver', 'Run "deliver" task.'
19
- bool_opt '--validate', 'Validate for "complete" task.'
20
- end
21
-
22
- def run
23
- run_validate if parsed.validate?
24
- run_deliver if parsed.deliver?
25
- run_complete if parsed.complete?
26
- success('Done!')
27
- end
28
-
29
- def help_extra_text
30
- "Validations:\n#{doc_validations_list}"
31
- end
32
-
33
- def run_validate
34
- complete.start_banner
35
- return true if complete.valid?
36
-
37
- uncomplete_message('Some validation did not pass')
38
- end
39
-
40
- def run_complete
41
- return complete.run if confirm?('Confirm issue completion?')
42
-
43
- uncomplete_message('Issue was not completed')
44
- end
45
-
46
- def run_deliver
47
- deliver.start_banner
48
- return deliver.run if confirm?('Confirm issue delivery?')
49
-
50
- uncomplete_message('Issue was not delivered')
51
- end
52
-
53
- private
54
-
55
- def complete_uncached
56
- ::Avm::Git::Issue::Complete.new(git_complete_issue_options)
57
- end
58
-
59
- def deliver_uncached
60
- ::Avm::Git::Issue::Deliver.new(runner_context.call(:git_repo))
61
- end
62
-
63
- def skip_validations
64
- parsed.skip_validations.to_s.split(',').map(&:strip).reject(&:blank?)
65
- end
66
-
67
- def git_complete_issue_options
68
- { dir: runner_context.call(:repository_path), skip_validations: skip_validations }
69
- end
70
-
71
- def doc_validations_list
72
- ::Avm::Git::Issue::Complete::VALIDATIONS.keys.map { |k| " * #{k}" }.join("\n")
73
- end
74
-
75
- def uncomplete_unfail?
76
- parsed.uncomplete_unfail?
77
- end
78
-
79
- def uncomplete_message(message)
80
- if uncomplete_unfail?
81
- warn(message)
82
- else
83
- fatal_error(message)
84
- end
85
- false
11
+ require_sub __FILE__
12
+ runner_with :help, :subcommands do
13
+ desc 'Issue operations within Git.'
14
+ subcommands
86
15
  end
87
16
  end
88
17
  end