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.
- checksums.yaml +4 -4
- data/Gemfile.lock +42 -34
- data/lib/eac_tools/version.rb +1 -1
- data/sub/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +26 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/apache_host.rb +12 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/database.rb +30 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/files.rb +22 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/gitolite.rb +55 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/install.rb +46 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/nodejs.rb +22 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/web.rb +20 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base.rb +59 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/deploy.rb +19 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/docker_image.rb +116 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb +35 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/project.rb +26 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/root.rb +21 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb +54 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api.rb +14 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/docker.rb +17 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/read.rb +27 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/write.rb +70 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page.rb +30 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project.rb +26 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project_rename.rb +56 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners.rb +14 -0
- data/sub/{avm-git/lib/avm/git/runners.rb → avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances.rb} +4 -2
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base.rb +36 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update.rb +131 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/core_update.rb +65 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/docker.rb +19 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners.rb +13 -0
- data/sub/{avm-git/lib/avm/git/organize.rb → avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources.rb} +4 -2
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/version.rb +7 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0.rb +16 -0
- data/sub/avm-eac_redmine_base0/locale/en.yml +6 -0
- data/sub/avm-eac_redmine_base0/locale/pt-BR.yml +6 -0
- data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec.rb +22 -0
- 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
- data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec.rb +26 -0
- data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec_files/config.yml +10 -0
- data/sub/avm-eac_redmine_base0/spec/spec_helper.rb +6 -0
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/install.sh.template +45 -0
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/secrets.yml +8 -0
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/Dockerfile.template +36 -0
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_host_dockerfile +8 -0
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_http_virtualhost.conf.template +10 -0
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_https_virtualhost.conf.template +16 -0
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_path_dockerfile +5 -0
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/start.sh.template +52 -0
- data/sub/avm-eac_ubuntu_base0/Gemfile +8 -0
- data/sub/avm-eac_ubuntu_base0/avm-eac_ubuntu_base0.gemspec +21 -0
- data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/apache/resource.rb +57 -0
- data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/apache.rb +24 -0
- data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/docker_image.rb +31 -0
- data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/instances/base.rb +24 -0
- data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/rspec/ssh_docker_server.rb +82 -0
- data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/runners/base/docker.rb +15 -0
- data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/runners/base.rb +26 -0
- data/sub/{avm-git/lib/avm/git → avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0}/version.rb +2 -2
- data/sub/{avm-git/lib/avm/git.rb → avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0.rb} +5 -8
- data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/docker_image_spec.rb +12 -0
- data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/rspec/ssh_docker_server_spec.rb +11 -0
- data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/runners/base/docker_spec.rb +11 -0
- data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/runners/base_spec.rb +5 -0
- data/sub/avm-eac_ubuntu_base0/spec/rubocop_spec.rb +3 -0
- data/sub/{avm-git → avm-eac_ubuntu_base0}/spec/spec_helper.rb +1 -1
- data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/docker_image/Dockerfile.template +27 -0
- data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/rspec/ssh_docker_server/Dockerfile.template +24 -0
- data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/rspec/ssh_docker_server/id_rsa +27 -0
- data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/rspec/ssh_docker_server/id_rsa.pub +1 -0
- data/sub/eac_docker/Gemfile +8 -0
- data/sub/eac_docker/eac_docker.gemspec +20 -0
- data/sub/eac_docker/lib/eac_docker/container.rb +83 -0
- data/sub/eac_docker/lib/eac_docker/debug.rb +13 -0
- data/sub/eac_docker/lib/eac_docker/executables.rb +15 -0
- data/sub/eac_docker/lib/eac_docker/images/base.rb +11 -0
- data/sub/eac_docker/lib/eac_docker/images/coded.rb +39 -0
- data/sub/eac_docker/lib/eac_docker/images/named.rb +26 -0
- data/sub/eac_docker/lib/eac_docker/images/templatized.rb +43 -0
- data/sub/eac_docker/lib/eac_docker/registry.rb +15 -0
- data/sub/eac_docker/lib/eac_docker/rspec/setup.rb +15 -0
- data/sub/eac_docker/lib/eac_docker/rspec/stub_image.rb +39 -0
- data/sub/eac_docker/lib/eac_docker/version.rb +5 -0
- data/sub/eac_docker/lib/eac_docker.rb +9 -0
- data/sub/eac_docker/spec/lib/eac_docker/executables_spec.rb +7 -0
- data/sub/eac_docker/spec/lib/eac_docker/images/coded_spec.rb +10 -0
- data/sub/eac_docker/spec/lib/eac_docker/images/coded_spec_files/image1/Dockerfile +1 -0
- data/sub/eac_docker/spec/lib/eac_docker/images/templatized_spec.rb +15 -0
- data/sub/eac_docker/spec/lib/eac_docker/images/templatized_spec_files/stub_docker_image/Dockerfile +1 -0
- data/sub/eac_docker/spec/rubocop_spec.rb +3 -0
- data/sub/eac_docker/spec/spec_helper.rb +5 -0
- metadata +101 -134
- data/sub/avm-git/avm-git.gemspec +0 -25
- data/sub/avm-git/lib/avm/git/application_scms/base/assert_main_at.rb +0 -44
- data/sub/avm-git/lib/avm/git/application_scms/base.rb +0 -18
- data/sub/avm-git/lib/avm/git/application_scms.rb +0 -9
- data/sub/avm-git/lib/avm/git/commit/class_methods.rb +0 -29
- data/sub/avm-git/lib/avm/git/commit/diff_tree_line.rb +0 -32
- data/sub/avm-git/lib/avm/git/commit/file.rb +0 -42
- data/sub/avm-git/lib/avm/git/commit.rb +0 -57
- data/sub/avm-git/lib/avm/git/issue/complete/commits.rb +0 -40
- data/sub/avm-git/lib/avm/git/issue/complete/git_subrepos.rb +0 -20
- data/sub/avm-git/lib/avm/git/issue/complete/local_branch.rb +0 -59
- data/sub/avm-git/lib/avm/git/issue/complete/local_tag.rb +0 -37
- data/sub/avm-git/lib/avm/git/issue/complete/push.rb +0 -60
- data/sub/avm-git/lib/avm/git/issue/complete/remote.rb +0 -33
- data/sub/avm-git/lib/avm/git/issue/complete/test.rb +0 -34
- data/sub/avm-git/lib/avm/git/issue/complete/tracker.rb +0 -21
- data/sub/avm-git/lib/avm/git/issue/complete/validation.rb +0 -36
- data/sub/avm-git/lib/avm/git/issue/complete/validations.rb +0 -54
- data/sub/avm-git/lib/avm/git/issue/complete/working_tree.rb +0 -19
- data/sub/avm-git/lib/avm/git/issue/complete.rb +0 -66
- data/sub/avm-git/lib/avm/git/issue.rb +0 -10
- data/sub/avm-git/lib/avm/git/launcher/base/class_methods.rb +0 -28
- data/sub/avm-git/lib/avm/git/launcher/base/dirty_files.rb +0 -21
- data/sub/avm-git/lib/avm/git/launcher/base/remotes.rb +0 -37
- data/sub/avm-git/lib/avm/git/launcher/base/subrepo.rb +0 -42
- data/sub/avm-git/lib/avm/git/launcher/base/underlying.rb +0 -54
- data/sub/avm-git/lib/avm/git/launcher/base.rb +0 -81
- data/sub/avm-git/lib/avm/git/launcher/error.rb +0 -13
- data/sub/avm-git/lib/avm/git/launcher/mirror_update.rb +0 -36
- data/sub/avm-git/lib/avm/git/launcher/publish_base.rb +0 -127
- data/sub/avm-git/lib/avm/git/launcher/remote.rb +0 -53
- data/sub/avm-git/lib/avm/git/launcher/sub_warp_base.rb +0 -36
- data/sub/avm-git/lib/avm/git/launcher/warp_base.rb +0 -63
- data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/local_project_mixin.rb +0 -16
- data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/publish.rb +0 -13
- data/sub/avm-git/lib/avm/git/launcher_stereotypes/git/warp.rb +0 -25
- data/sub/avm-git/lib/avm/git/launcher_stereotypes/git.rb +0 -22
- data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo/publish.rb +0 -29
- data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo/warp.rb +0 -82
- data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subrepo.rb +0 -32
- data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subtree/publish.rb +0 -12
- data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subtree/warp.rb +0 -29
- data/sub/avm-git/lib/avm/git/launcher_stereotypes/git_subtree.rb +0 -47
- data/sub/avm-git/lib/avm/git/launcher_stereotypes/provider.rb +0 -17
- data/sub/avm-git/lib/avm/git/launcher_stereotypes.rb +0 -9
- data/sub/avm-git/lib/avm/git/organize/reference_update.rb +0 -32
- data/sub/avm-git/lib/avm/git/organize/repository.rb +0 -74
- data/sub/avm-git/lib/avm/git/revision_test.rb +0 -102
- data/sub/avm-git/lib/avm/git/runners/base/commit.rb +0 -96
- data/sub/avm-git/lib/avm/git/runners/base/deploy.rb +0 -108
- data/sub/avm-git/lib/avm/git/runners/base/dirty_files.rb +0 -42
- data/sub/avm-git/lib/avm/git/runners/base/organize.rb +0 -72
- data/sub/avm-git/lib/avm/git/runners/base/revisions_test.rb +0 -63
- data/sub/avm-git/lib/avm/git/runners/base/subrepo/check.rb +0 -45
- data/sub/avm-git/lib/avm/git/runners/base/subrepo/clone.rb +0 -80
- data/sub/avm-git/lib/avm/git/runners/base/subrepo/fix.rb +0 -69
- data/sub/avm-git/lib/avm/git/runners/base/subrepo.rb +0 -17
- data/sub/avm-git/lib/avm/git/runners/base.rb +0 -40
- data/sub/avm-git/lib/avm/git/scms/git/branch.rb +0 -28
- data/sub/avm-git/lib/avm/git/scms/git/branches.rb +0 -17
- data/sub/avm-git/lib/avm/git/scms/git/change_tracker.rb +0 -34
- data/sub/avm-git/lib/avm/git/scms/git/changed_file.rb +0 -25
- data/sub/avm-git/lib/avm/git/scms/git/changed_files.rb +0 -21
- data/sub/avm-git/lib/avm/git/scms/git/commit/deploy.rb +0 -37
- data/sub/avm-git/lib/avm/git/scms/git/commit/deploy_methods.rb +0 -24
- data/sub/avm-git/lib/avm/git/scms/git/commit.rb +0 -64
- data/sub/avm-git/lib/avm/git/scms/git/commit_dirty.rb +0 -32
- data/sub/avm-git/lib/avm/git/scms/git/commits.rb +0 -44
- data/sub/avm-git/lib/avm/git/scms/git/interval.rb +0 -28
- data/sub/avm-git/lib/avm/git/scms/git/milestones.rb +0 -18
- data/sub/avm-git/lib/avm/git/scms/git/remote.rb +0 -18
- data/sub/avm-git/lib/avm/git/scms/git/remotes.rb +0 -29
- data/sub/avm-git/lib/avm/git/scms/git/run_commit.rb +0 -54
- data/sub/avm-git/lib/avm/git/scms/git.rb +0 -46
- data/sub/avm-git/lib/avm/git/scms/git_sub_base/changed_file.rb +0 -19
- data/sub/avm-git/lib/avm/git/scms/git_sub_base/commit.rb +0 -23
- data/sub/avm-git/lib/avm/git/scms/git_sub_base/interval.rb +0 -23
- data/sub/avm-git/lib/avm/git/scms/git_sub_base.rb +0 -30
- data/sub/avm-git/lib/avm/git/scms/git_subrepo.rb +0 -33
- data/sub/avm-git/lib/avm/git/scms/git_subtree.rb +0 -29
- data/sub/avm-git/lib/avm/git/scms/provider.rb +0 -16
- data/sub/avm-git/lib/avm/git/scms.rb +0 -9
- data/sub/avm-git/lib/avm/git/subrepo_check/parent.rb +0 -48
- data/sub/avm-git/lib/avm/git/subrepo_check/remote.rb +0 -86
- data/sub/avm-git/lib/avm/git/subrepo_check/show_result.rb +0 -30
- data/sub/avm-git/lib/avm/git/subrepo_check.rb +0 -36
- data/sub/avm-git/lib/avm/git/subrepo_checks.rb +0 -57
- data/sub/avm-git/lib/avm/git/vendor/github.rb +0 -20
- data/sub/avm-git/lib/avm/git/vendor.rb +0 -9
- data/sub/avm-git/locale/en.yml +0 -6
- data/sub/avm-git/locale/pt-BR.yml +0 -6
- data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec.rb +0 -13
- data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.source.out +0 -1
- data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.target.yaml +0 -7
- data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.source.out +0 -1
- data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.target.yaml +0 -7
- data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.source.out +0 -1
- data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.target.yaml +0 -7
- data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.source.out +0 -2
- data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.target.yaml +0 -13
- data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.source.out +0 -2
- data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.target.yaml +0 -13
- data/sub/avm-git/spec/lib/avm/git/commit_spec.rb +0 -56
- data/sub/avm-git/spec/lib/avm/git/launcher/base_spec.rb +0 -45
- data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/publish_spec.rb +0 -83
- data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/publish_spec_files/config.yml +0 -5
- data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/publish_spec_settings.yml +0 -6
- data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/warp_spec.rb +0 -53
- data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/warp_spec_files/config.yml +0 -3
- data/sub/avm-git/spec/lib/avm/git/launcher_stereotypes/git_subrepo/warp_spec_settings.yml +0 -6
- data/sub/avm-git/spec/lib/avm/git/runners/base/deploy_spec.rb +0 -126
- data/sub/avm-git/spec/lib/avm/git/runners/base/deploy_spec_files/append1/stub3.txt.template +0 -1
- data/sub/avm-git/spec/lib/avm/git/runners/base/deploy_spec_files/append2/stub4.txt +0 -1
- data/sub/avm-git/spec/lib/avm/git/scms/git/commit/deploy_spec.rb +0 -92
- data/sub/avm-git/spec/lib/avm/git/scms/git_spec.rb +0 -8
- data/sub/avm-git/spec/lib/avm/git/scms/git_subrepo_spec.rb +0 -8
- data/sub/avm-git/spec/lib/avm/git/vendor/github_spec.rb +0 -23
- /data/sub/{avm-git → avm-eac_redmine_base0}/Gemfile +0 -0
- /data/sub/{avm-git → avm-eac_redmine_base0}/spec/rubocop_spec.rb +0 -0
@@ -1,59 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Avm
|
4
|
-
module Git
|
5
|
-
module Issue
|
6
|
-
class Complete
|
7
|
-
module LocalBranch
|
8
|
-
NO_CURRENT_BRANCH_NAME = 'none'
|
9
|
-
|
10
|
-
# Retrieves the current local branch.
|
11
|
-
#
|
12
|
-
# @return [EacGit::Local::Branch, nil]
|
13
|
-
def branch_uncached
|
14
|
-
eac_git.current_branch
|
15
|
-
end
|
16
|
-
|
17
|
-
def branch_hash_uncached
|
18
|
-
branch.if_present(&:current_commit_id)
|
19
|
-
end
|
20
|
-
|
21
|
-
def branch_name
|
22
|
-
branch.if_present(NO_CURRENT_BRANCH_NAME, &:name)
|
23
|
-
end
|
24
|
-
|
25
|
-
def branch_name_result
|
26
|
-
::Avm::Result.success_or_error(issue_id.present?, branch_name)
|
27
|
-
end
|
28
|
-
|
29
|
-
def branch_hash_result
|
30
|
-
::Avm::Result.success_or_error(
|
31
|
-
branch_hash.present?,
|
32
|
-
branch_hash
|
33
|
-
)
|
34
|
-
end
|
35
|
-
|
36
|
-
def follow_master_result
|
37
|
-
return ::Avm::Result.neutral('No branch hash') unless branch_hash
|
38
|
-
|
39
|
-
r = follow_master?
|
40
|
-
::Avm::Result.success_or_error(r, 'yes', 'no')
|
41
|
-
end
|
42
|
-
|
43
|
-
def follow_master?
|
44
|
-
remote_master_hash ? launcher_git.descendant?(branch_hash, remote_master_hash) : true
|
45
|
-
end
|
46
|
-
|
47
|
-
def remove_local_branch
|
48
|
-
return unless branch
|
49
|
-
|
50
|
-
info 'Removendo branch local...'
|
51
|
-
bn = branch_name
|
52
|
-
git_execute(['checkout', branch_hash])
|
53
|
-
git_execute(['branch', '-D', bn])
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Avm
|
4
|
-
module Git
|
5
|
-
module Issue
|
6
|
-
class Complete
|
7
|
-
module LocalTag
|
8
|
-
def assert_tag
|
9
|
-
if tag_hash
|
10
|
-
return if tag_hash == branch_hash
|
11
|
-
|
12
|
-
delete_tag
|
13
|
-
end
|
14
|
-
create_tag
|
15
|
-
end
|
16
|
-
|
17
|
-
def delete_tag
|
18
|
-
info 'Removendo tag...'
|
19
|
-
git_execute(['tag', '-d', branch_name])
|
20
|
-
end
|
21
|
-
|
22
|
-
def tag
|
23
|
-
"refs/tags/#{branch_name}"
|
24
|
-
end
|
25
|
-
|
26
|
-
def tag_hash
|
27
|
-
launcher_git.rev_parse(tag)
|
28
|
-
end
|
29
|
-
|
30
|
-
def create_tag
|
31
|
-
git_execute(['tag', branch_name, branch_hash])
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
@@ -1,60 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Avm
|
4
|
-
module Git
|
5
|
-
module Issue
|
6
|
-
class Complete
|
7
|
-
module Push
|
8
|
-
def dry_push_args
|
9
|
-
%w[push --dry-run] + [remote_name] + pushs
|
10
|
-
end
|
11
|
-
|
12
|
-
def dry_push_result
|
13
|
-
return ::Avm::Result.error('Nothing to push') if pushs.empty?
|
14
|
-
|
15
|
-
dry_push_execution_result
|
16
|
-
end
|
17
|
-
|
18
|
-
def push
|
19
|
-
if pushs.empty?
|
20
|
-
info 'PUSH: Nada a enviar'
|
21
|
-
else
|
22
|
-
info "PUSH: enviando \"#{pushs}\"..."
|
23
|
-
git_execute(%w[push origin] + pushs)
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
def pushs_uncached
|
28
|
-
[master_push, remove_branch_push, tag_push].compact
|
29
|
-
end
|
30
|
-
|
31
|
-
def master_push
|
32
|
-
remote_master_hash == branch_hash ? nil : "#{branch_hash}:refs/heads/master"
|
33
|
-
end
|
34
|
-
|
35
|
-
def remove_branch_push
|
36
|
-
remote_branch_hash ? ":refs/heads/#{branch.name}" : nil
|
37
|
-
end
|
38
|
-
|
39
|
-
def tag_push
|
40
|
-
return nil unless !remote_tag_hash || remote_tag_hash != branch_hash
|
41
|
-
|
42
|
-
"#{branch_hash}:#{tag}"
|
43
|
-
end
|
44
|
-
|
45
|
-
private
|
46
|
-
|
47
|
-
def dry_push_execution_result
|
48
|
-
r = launcher_git.execute(dry_push_args)
|
49
|
-
message = if r.fetch(:exit_code).zero?
|
50
|
-
'ok'
|
51
|
-
else
|
52
|
-
r.fetch(:stderr) + "\n#{::Shellwords.join(dry_push_args)}"
|
53
|
-
end
|
54
|
-
::Avm::Result.success_or_error(r.fetch(:exit_code).zero?, message)
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
@@ -1,33 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Avm
|
4
|
-
module Git
|
5
|
-
module Issue
|
6
|
-
class Complete
|
7
|
-
module Remote
|
8
|
-
def remote_master_hash
|
9
|
-
remote_hashs['refs/heads/master']
|
10
|
-
end
|
11
|
-
|
12
|
-
def remote_branch_hash
|
13
|
-
remote_hashs["refs/heads/#{branch.name}"]
|
14
|
-
end
|
15
|
-
|
16
|
-
def remote_tag_hash
|
17
|
-
remote_hashs[tag]
|
18
|
-
end
|
19
|
-
|
20
|
-
private
|
21
|
-
|
22
|
-
def remote_name
|
23
|
-
'origin'
|
24
|
-
end
|
25
|
-
|
26
|
-
def remote_hashs_uncached
|
27
|
-
launcher_git.remote_hashs(remote_name)
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Avm
|
4
|
-
module Git
|
5
|
-
module Issue
|
6
|
-
class Complete
|
7
|
-
module Test
|
8
|
-
def test_result
|
9
|
-
infom 'Running tests...'
|
10
|
-
test_performer.units.each do |single|
|
11
|
-
return ::Avm::Result.error(test_failed_result_message(single)) if single.failed?
|
12
|
-
end
|
13
|
-
::Avm::Result.success('all passed')
|
14
|
-
end
|
15
|
-
|
16
|
-
private
|
17
|
-
|
18
|
-
def test_failed_result_message(single)
|
19
|
-
{ 'Source' => single, 'STDOUT' => single.logs[:stdout],
|
20
|
-
'STDERR' => single.logs[:stderr] }.map { |k, v| "#{k}: #{v}" }.join(', ')
|
21
|
-
end
|
22
|
-
|
23
|
-
def test_performer
|
24
|
-
::Avm::Sources::Tests::Builder
|
25
|
-
.new(::Avm::Registry.sources.detect(launcher_git))
|
26
|
-
.include_main(true)
|
27
|
-
.include_subs(true)
|
28
|
-
.performer
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Avm
|
4
|
-
module Git
|
5
|
-
module Issue
|
6
|
-
class Complete
|
7
|
-
module Tracker
|
8
|
-
private
|
9
|
-
|
10
|
-
def textile_tracker_message_uncached
|
11
|
-
"Revisado para commit:#{branch_short_hash}, ok."
|
12
|
-
end
|
13
|
-
|
14
|
-
def branch_short_hash
|
15
|
-
git_execute(['log', '--pretty=format:%h', '-1', '-q', branch_hash])
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,36 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Avm
|
4
|
-
module Git
|
5
|
-
module Issue
|
6
|
-
class Complete
|
7
|
-
class Validation
|
8
|
-
enable_simple_cache
|
9
|
-
common_constructor :parent, :key, :label
|
10
|
-
|
11
|
-
SKIPPED_RESULT_MESSAGE = 'skipped'
|
12
|
-
|
13
|
-
def skip?
|
14
|
-
parent.skip_validations.include?(key)
|
15
|
-
end
|
16
|
-
|
17
|
-
private
|
18
|
-
|
19
|
-
def result_uncached
|
20
|
-
skip? ? skipped_result : validation_result
|
21
|
-
end
|
22
|
-
|
23
|
-
def skipped_result
|
24
|
-
::Avm::Result.neutral(SKIPPED_RESULT_MESSAGE)
|
25
|
-
end
|
26
|
-
|
27
|
-
def validation_result
|
28
|
-
parent.send("#{key}_result")
|
29
|
-
rescue ::RuntimeError => e
|
30
|
-
::Avm::Result.error("error raised: #{e.message}")
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
@@ -1,54 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Avm
|
4
|
-
module Git
|
5
|
-
module Issue
|
6
|
-
class Complete
|
7
|
-
module Validations
|
8
|
-
VALIDATIONS = {
|
9
|
-
clean_workspace: 'Clean workspace?',
|
10
|
-
branch_name: 'Branch name',
|
11
|
-
branch_hash: 'Branch hash',
|
12
|
-
follow_master: 'Follow master?',
|
13
|
-
commits: 'Commits?',
|
14
|
-
bifurcations: 'Bifurcations?',
|
15
|
-
dry_push: 'Dry push?',
|
16
|
-
git_subrepos: 'Git subrepos ok?',
|
17
|
-
test: 'Test ok?'
|
18
|
-
}.with_indifferent_access.freeze
|
19
|
-
|
20
|
-
def valid?
|
21
|
-
validations.map(&:result).none?(&:error?)
|
22
|
-
end
|
23
|
-
|
24
|
-
def validations_banner
|
25
|
-
validations.each do |v|
|
26
|
-
infov "[#{v.key}] #{v.label}", v.result.label
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
def validate_skip_validations
|
31
|
-
skip_validations.each do |validation|
|
32
|
-
next if VALIDATIONS.keys.include?(validation)
|
33
|
-
|
34
|
-
raise "\"#{validation}\" is not a registered validation"
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
# @return [Enumerable<String>]
|
39
|
-
def validation_keys
|
40
|
-
validations.map { |e| e.key.to_s.strip }.sort
|
41
|
-
end
|
42
|
-
|
43
|
-
private
|
44
|
-
|
45
|
-
def validations_uncached
|
46
|
-
VALIDATIONS.map do |key, label|
|
47
|
-
::Avm::Git::Issue::Complete::Validation.new(self, key, label)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
@@ -1,19 +0,0 @@
|
|
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
|
-
launcher_git.dirty_files.none?
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,66 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Avm
|
4
|
-
module Git
|
5
|
-
module Issue
|
6
|
-
class Complete
|
7
|
-
require_sub __FILE__, include_modules: true
|
8
|
-
enable_simple_cache
|
9
|
-
enable_speaker
|
10
|
-
|
11
|
-
attr_reader :scm, :skip_validations
|
12
|
-
|
13
|
-
def initialize(scm, options)
|
14
|
-
@scm = scm
|
15
|
-
consumer = ::EacRubyUtils::OptionsConsumer.new(options)
|
16
|
-
@skip_validations = consumer.consume(:skip_validations)
|
17
|
-
validate_skip_validations
|
18
|
-
consumer.validate
|
19
|
-
end
|
20
|
-
|
21
|
-
# @return [String]
|
22
|
-
def dir
|
23
|
-
scm.path.to_path
|
24
|
-
end
|
25
|
-
|
26
|
-
def start_banner
|
27
|
-
validations_banner
|
28
|
-
end
|
29
|
-
|
30
|
-
def run # rubocop:disable Naming/PredicateMethod
|
31
|
-
return false unless valid?
|
32
|
-
|
33
|
-
assert_tag
|
34
|
-
push
|
35
|
-
remove_local_branch
|
36
|
-
true
|
37
|
-
end
|
38
|
-
|
39
|
-
def issue_id
|
40
|
-
branch ? issue_id_parser.parse(branch_name) : nil
|
41
|
-
end
|
42
|
-
|
43
|
-
# @return [EacRubyUtils::RegexpParser]
|
44
|
-
def issue_id_parser
|
45
|
-
/\A#{Regexp.quote('issue_')}(\d+)\z/.to_parser { |m| m[1].to_i }
|
46
|
-
end
|
47
|
-
|
48
|
-
private
|
49
|
-
|
50
|
-
# @return [EacGit::Local]
|
51
|
-
def eac_git_uncached
|
52
|
-
::EacGit::Local.new(dir)
|
53
|
-
end
|
54
|
-
|
55
|
-
def git_execute(args, exit_outputs = {})
|
56
|
-
r = launcher_git.execute!(args, exit_outputs: exit_outputs)
|
57
|
-
r.is_a?(String) ? r.strip : r
|
58
|
-
end
|
59
|
-
|
60
|
-
def launcher_git_uncached
|
61
|
-
::Avm::Git::Launcher::Base.new(dir)
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Avm
|
4
|
-
module Git
|
5
|
-
module Launcher
|
6
|
-
class Base < ::Avm::Launcher::Paths::Real
|
7
|
-
module ClassMethods
|
8
|
-
# @return [Avm::Git::Launcher::Base]
|
9
|
-
def by_root(search_base_path)
|
10
|
-
new(find_root(search_base_path).to_path)
|
11
|
-
end
|
12
|
-
|
13
|
-
# Searches the root path for the Git repository which includes +search_base_path+.
|
14
|
-
# @return [Pathname]
|
15
|
-
def find_root(search_base_path)
|
16
|
-
path = search_base_path.to_pathname.expand_path
|
17
|
-
loop do
|
18
|
-
return path if path.join('.git').exist?
|
19
|
-
raise "\".git\" not found for \"#{search_base_path}\"" if path.parent.root?
|
20
|
-
|
21
|
-
path = path.parent
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Avm
|
4
|
-
module Git
|
5
|
-
module Launcher
|
6
|
-
class Base < ::Avm::Launcher::Paths::Real
|
7
|
-
module DirtyFiles
|
8
|
-
delegate :dirty?, to: :eac_git
|
9
|
-
|
10
|
-
# @return [Array<Struct>]
|
11
|
-
def dirty_files
|
12
|
-
eac_git.dirty_files.map do |df|
|
13
|
-
df.to_h.merge(path: df.path.to_path, absolute_path: df.absolute_path.to_path)
|
14
|
-
.to_struct
|
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 Launcher
|
6
|
-
class Base < ::Avm::Launcher::Paths::Real
|
7
|
-
module Remotes
|
8
|
-
# @return [Avm::Git::Launcher::Remote]
|
9
|
-
def remote(name)
|
10
|
-
::Avm::Git::Launcher::Remote.new(self, name)
|
11
|
-
end
|
12
|
-
|
13
|
-
def remote_hashs(remote_name)
|
14
|
-
remote(remote_name).ls
|
15
|
-
end
|
16
|
-
|
17
|
-
def remote_exist?(remote_name)
|
18
|
-
remote(remote_name).exist?
|
19
|
-
end
|
20
|
-
|
21
|
-
def assert_remote_url(remote_name, url)
|
22
|
-
r = git.remote(remote_name)
|
23
|
-
if !r.url || r.url != url
|
24
|
-
r.remove if r.url
|
25
|
-
git.add_remote(remote_name, url)
|
26
|
-
end
|
27
|
-
r
|
28
|
-
end
|
29
|
-
|
30
|
-
def remote_branch_sha(remote_name, branch_name)
|
31
|
-
remote_hashs(remote_name)["refs/heads/#{branch_name}"]
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
@@ -1,42 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Avm
|
4
|
-
module Git
|
5
|
-
module Launcher
|
6
|
-
class Base < ::Avm::Launcher::Paths::Real
|
7
|
-
module Subrepo
|
8
|
-
def subrepo_status(subrepo_path)
|
9
|
-
s = execute!('subrepo', 'status', subrepo_path.gsub(%r{\A/}, ''))
|
10
|
-
raise s.strip.to_s if s.include?('is not a subrepo')
|
11
|
-
|
12
|
-
r = subrepo_status_parse_output(s)
|
13
|
-
raise "Empty subrepo status for |#{s}|\n" unless r.any?
|
14
|
-
|
15
|
-
r
|
16
|
-
end
|
17
|
-
|
18
|
-
def subrepo_remote_url(subrepo_path)
|
19
|
-
h = subrepo_status(subrepo_path)
|
20
|
-
url = h['Remote URL']
|
21
|
-
return url if url.present?
|
22
|
-
|
23
|
-
raise "Remote URL is blank for subrepo \"#{subrepo_path}\" (Subrepo status: #{h})"
|
24
|
-
end
|
25
|
-
|
26
|
-
private
|
27
|
-
|
28
|
-
def subrepo_status_parse_output(output)
|
29
|
-
r = {}.with_indifferent_access
|
30
|
-
output.each_line do |l|
|
31
|
-
m = /\A([^\:]+):(.*)\z/.match(l.strip)
|
32
|
-
next unless m && m[2].present?
|
33
|
-
|
34
|
-
r[m[1].strip] = m[2].strip
|
35
|
-
end
|
36
|
-
r
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
@@ -1,54 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Avm
|
4
|
-
module Git
|
5
|
-
module Launcher
|
6
|
-
class Base < ::Avm::Launcher::Paths::Real
|
7
|
-
module Underlying
|
8
|
-
def command(*args)
|
9
|
-
args, options = build_args(args)
|
10
|
-
r = ::EacGit::Executables.git.command(*args)
|
11
|
-
(options[:exit_outputs] || {}).each do |status_code, result|
|
12
|
-
r = r.status_result(status_code, result)
|
13
|
-
end
|
14
|
-
r
|
15
|
-
end
|
16
|
-
|
17
|
-
%w[execute execute! system system!].each do |exec_type|
|
18
|
-
define_method exec_type do |*args|
|
19
|
-
command(*args).send(exec_type)
|
20
|
-
rescue ::EacRubyUtils::Envs::ExecutionError
|
21
|
-
raise ::Avm::Git::Launcher::Error
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
def init
|
26
|
-
git
|
27
|
-
self
|
28
|
-
end
|
29
|
-
|
30
|
-
private
|
31
|
-
|
32
|
-
def build_args(args)
|
33
|
-
options = {}
|
34
|
-
if args.last.is_a?(Hash)
|
35
|
-
options = args.last
|
36
|
-
args.pop
|
37
|
-
end
|
38
|
-
args = args.first if args.first.is_a?(Array)
|
39
|
-
[['-C', self, '--no-pager'] + args, options]
|
40
|
-
end
|
41
|
-
|
42
|
-
def git_uncached
|
43
|
-
FileUtils.mkdir_p(self)
|
44
|
-
if File.exist?(subpath('.git'))
|
45
|
-
::Git.open(self)
|
46
|
-
else
|
47
|
-
::Git.init(self)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|