avm-tools 0.100.0 → 0.103.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/avm/app_src.rb +8 -7
- data/lib/avm/eac_redmine_base0/docker_image.rb +52 -0
- data/lib/avm/eac_redmine_base0/instance.rb +2 -2
- data/lib/avm/git/auto_commit/rules/manual.rb +1 -1
- data/lib/avm/git/issue/complete.rb +4 -8
- data/lib/avm/git/issue/complete/commits.rb +42 -0
- data/lib/avm/git/issue/complete/git_subrepos.rb +23 -0
- data/lib/avm/git/issue/complete/local_branch.rb +54 -0
- data/lib/avm/git/issue/complete/local_tag.rb +39 -0
- data/lib/avm/git/issue/complete/push.rb +54 -0
- data/lib/avm/git/issue/complete/remote.rb +33 -0
- data/lib/avm/git/issue/complete/test.rb +45 -0
- data/lib/avm/git/issue/complete/tracker.rb +28 -0
- data/lib/avm/git/issue/complete/validations.rb +53 -0
- data/lib/avm/git/issue/complete/working_tree.rb +19 -0
- data/lib/avm/git/revision_test.rb +9 -6
- data/lib/avm/instances/base/dockerizable.rb +1 -0
- data/lib/avm/instances/base/entry_keys.rb +6 -1
- data/lib/avm/instances/docker_image.rb +15 -0
- data/lib/avm/instances/entries.rb +0 -1
- data/lib/avm/instances/entry.rb +3 -2
- data/lib/avm/instances/entry_keys.rb +1 -0
- data/lib/avm/launcher/context.rb +1 -1
- data/lib/avm/launcher/git/publish_base.rb +3 -1
- data/lib/avm/launcher/git/warp_base.rb +11 -0
- data/lib/avm/launcher/instances/base.rb +2 -1
- data/lib/avm/launcher/instances/error.rb +1 -3
- data/lib/avm/launcher/ruby/gem/build.rb +1 -1
- data/lib/avm/projects/stereotype/job_comparator.rb +32 -0
- data/lib/avm/projects/stereotypes/git/update.rb +1 -2
- data/lib/avm/projects/stereotypes/ruby_gem/local_project_mixin.rb +2 -2
- data/lib/avm/projects/stereotypes/ruby_gem/publish.rb +1 -1
- data/lib/avm/projects/stereotypes/ruby_gem/update.rb +4 -0
- data/lib/avm/self.rb +9 -0
- data/lib/avm/self/instance.rb +4 -0
- data/lib/avm/tools/runner.rb +4 -0
- data/lib/avm/tools/runner/app_src/version_bump.rb +3 -3
- data/lib/avm/tools/runner/config/load_path.rb +4 -3
- data/lib/avm/tools/runner/eac_redmine_base0/dev_docker.rb +17 -0
- data/lib/avm/tools/runner/eac_redmine_base0/docker.rb +3 -0
- data/lib/avm/tools/runner/git/auto_commit.rb +1 -0
- data/lib/avm/tools/runner/git/deploy.rb +2 -1
- data/lib/avm/tools/runner/git/issue.rb +4 -75
- data/lib/avm/tools/runner/git/issue/complete.rb +79 -0
- data/lib/avm/tools/runner/git/issue/deliver.rb +35 -0
- data/lib/avm/tools/runner/git/organize.rb +1 -1
- data/lib/avm/tools/version.rb +1 -1
- data/template/avm/eac_redmine_base0/docker_image/Dockerfile.template +47 -0
- data/template/avm/eac_redmine_base0/docker_image/apache_http_virtualhost.conf.template +10 -0
- data/template/avm/eac_redmine_base0/docker_image/apache_https_virtualhost.conf.template +16 -0
- data/template/avm/eac_redmine_base0/docker_image/install_settings.sh.template +29 -0
- data/template/avm/eac_redmine_base0/docker_image/start.sh.template +25 -0
- data/template/avm/eac_ubuntu_base0/docker_image/Dockerfile +1 -1
- data/vendor/avm-apps/avm-apps.gemspec +1 -1
- data/vendor/avm-apps/lib/avm/apps/config.rb +19 -0
- data/vendor/avm-apps/lib/avm/apps/jobs/base.rb +1 -1
- data/vendor/avm-apps/lib/avm/apps/version.rb +1 -1
- data/vendor/avm-eac_rails_base1/Gemfile +5 -0
- data/vendor/avm-eac_rails_base1/avm-eac_rails_base1.gemspec +19 -0
- data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1.rb +0 -0
- data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/apache_host.rb +0 -0
- data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/instance.rb +0 -0
- data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/runner.rb +0 -0
- data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/runner/bundle.rb +1 -2
- data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/runner/code_runner.rb +0 -0
- data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/runner/log.rb +0 -0
- data/vendor/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/logs.rb +18 -0
- data/vendor/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/logs/clear.rb +26 -0
- data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/runner/rails_server.rb +0 -0
- data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/runner_with/bundle.rb +0 -0
- data/{lib → vendor/avm-eac_rails_base1/lib}/avm/eac_rails_base1/runner_with/rails_environment.rb +0 -0
- data/vendor/avm-eac_rails_base1/lib/avm/eac_rails_base1/version.rb +7 -0
- data/vendor/avm-eac_rails_base1/spec/rubocop_spec.rb +3 -0
- data/vendor/avm-eac_rails_base1/spec/spec_helper.rb +102 -0
- data/vendor/avm-eac_webapp_base0/Gemfile +5 -0
- data/vendor/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec +19 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0.rb +2 -2
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/apache_host.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/apache_path.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/deploy.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/deploy/appended_directories.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/deploy/build.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/deploy/file_unit.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/deploy/git_info.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/deploy/version.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/deploy/write_on_target.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/instance.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/instance/subcommand_parent.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/runner.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/runner/apache_host.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/runner/apache_path.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/runner/data.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/runner/data/dump.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/runner/data/load.rb +0 -0
- data/{lib → vendor/avm-eac_webapp_base0/lib}/avm/eac_webapp_base0/runner/deploy.rb +0 -0
- data/vendor/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +7 -0
- data/vendor/avm-eac_webapp_base0/spec/rubocop_spec.rb +3 -0
- data/vendor/avm-eac_webapp_base0/spec/spec_helper.rb +102 -0
- data/vendor/avm/Gemfile +5 -0
- data/vendor/avm/avm.gemspec +19 -0
- data/vendor/avm/lib/avm.rb +7 -0
- data/vendor/avm/lib/avm/docker.rb +9 -0
- data/{lib → vendor/avm/lib}/avm/docker/container.rb +5 -5
- data/{lib → vendor/avm/lib}/avm/docker/image.rb +10 -27
- data/{lib → vendor/avm/lib}/avm/docker/runner.rb +34 -8
- data/vendor/avm/lib/avm/version.rb +5 -0
- data/{lib/avm/version.rb → vendor/avm/lib/avm/version_number.rb} +1 -1
- data/vendor/avm/spec/rubocop_spec.rb +3 -0
- data/vendor/avm/spec/spec_helper.rb +102 -0
- data/vendor/eac_cli/eac_cli.gemspec +1 -2
- data/vendor/eac_cli/lib/eac_cli/config.rb +1 -2
- data/vendor/eac_cli/lib/eac_cli/config/entry.rb +3 -1
- data/vendor/eac_cli/lib/eac_cli/config/entry/undefined.rb +1 -1
- data/vendor/eac_cli/lib/eac_cli/definition/help_formatter.rb +3 -2
- data/vendor/eac_cli/lib/eac_cli/definition/positional_argument.rb +6 -1
- data/vendor/eac_cli/lib/eac_cli/old_configs.rb +0 -1
- data/vendor/eac_cli/lib/eac_cli/old_configs/entry_reader.rb +2 -2
- data/vendor/eac_cli/lib/eac_cli/old_configs_bridge.rb +2 -0
- data/vendor/eac_cli/lib/eac_cli/runner.rb +0 -2
- data/vendor/eac_cli/lib/eac_cli/runner/after_class_methods.rb +20 -3
- data/vendor/eac_cli/lib/eac_cli/runner/instance_methods.rb +5 -1
- data/vendor/eac_cli/lib/eac_cli/runner_with/help.rb +9 -4
- data/vendor/eac_cli/lib/eac_cli/runner_with/help/builder.rb +73 -0
- data/vendor/eac_cli/lib/eac_cli/runner_with/help/builder/alternative.rb +56 -0
- data/vendor/eac_cli/lib/eac_cli/runner_with/subcommands.rb +6 -4
- data/vendor/eac_cli/lib/eac_cli/speaker.rb +15 -19
- data/vendor/eac_cli/lib/eac_cli/speaker/_constants.rb +1 -1
- data/vendor/eac_cli/lib/eac_cli/speaker/list.rb +1 -1
- data/vendor/eac_cli/lib/eac_cli/speaker/options.rb +38 -0
- data/vendor/eac_cli/lib/eac_cli/version.rb +1 -1
- data/vendor/eac_cli/spec/lib/eac_cli/parser/alternative_spec.rb +1 -1
- data/vendor/eac_cli/spec/lib/eac_cli/runner_spec.rb +0 -1
- data/vendor/eac_cli/spec/lib/eac_cli/speaker_spec.rb +5 -9
- data/vendor/eac_config/lib/eac_config/node.rb +7 -0
- data/vendor/eac_config/lib/eac_config/version.rb +1 -1
- data/vendor/eac_git/lib/eac_git/executables.rb +4 -0
- data/vendor/eac_git/lib/eac_git/local.rb +5 -1
- data/vendor/eac_git/lib/eac_git/local/commit/archive.rb +19 -0
- data/vendor/eac_git/lib/eac_git/local/subrepo.rb +2 -1
- data/vendor/eac_git/lib/eac_git/version.rb +1 -1
- data/vendor/eac_ruby_base0/eac_ruby_base0.gemspec +2 -2
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/application.rb +23 -9
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/application_xdg.rb +34 -0
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/jobs_runner.rb +2 -2
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner.rb +19 -7
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner_with/confirmation.rb +8 -1
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/version.rb +1 -1
- data/vendor/eac_ruby_gems_utils/eac_ruby_gems_utils.gemspec +1 -1
- data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb +2 -0
- data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/version.rb +1 -1
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/context.rb +31 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/contextualizable.rb +21 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/context.rb +11 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/speaker.rb +9 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/parent_n.rb +11 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/simple_cache.rb +10 -2
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/speaker.rb +16 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/speaker/receiver.rb +57 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/speaker/sender.rb +32 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
- data/vendor/{eac_cli/spec/lib → eac_ruby_utils/spec/lib/eac_ruby_utils/patches}/module/speaker_spec.rb +2 -2
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/pathname/parent_n_spec.rb +33 -0
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/simple_cache_spec.rb +18 -0
- data/vendor/eac_templates/eac_templates.gemspec +1 -1
- data/vendor/eac_templates/lib/eac_templates/variable_providers.rb +1 -1
- data/vendor/eac_templates/lib/eac_templates/variable_providers/config_reader.rb +27 -0
- data/vendor/eac_templates/lib/eac_templates/version.rb +1 -1
- metadata +106 -65
- data/lib/avm/configs.rb +0 -26
- data/lib/avm/docker.rb +0 -9
- data/lib/avm/docker/registry.rb +0 -28
- data/lib/avm/git/issue/complete/_commits.rb +0 -40
- data/lib/avm/git/issue/complete/_git_subrepos.rb +0 -21
- data/lib/avm/git/issue/complete/_local_branch.rb +0 -52
- data/lib/avm/git/issue/complete/_local_tag.rb +0 -37
- data/lib/avm/git/issue/complete/_push.rb +0 -52
- data/lib/avm/git/issue/complete/_remote.rb +0 -31
- data/lib/avm/git/issue/complete/_test.rb +0 -43
- data/lib/avm/git/issue/complete/_tracker.rb +0 -26
- data/lib/avm/git/issue/complete/_validations.rb +0 -51
- data/lib/avm/git/issue/complete/_working_tree.rb +0 -17
- data/vendor/eac_cli/lib/eac_cli/docopt/doc_builder.rb +0 -71
- data/vendor/eac_cli/lib/eac_cli/docopt/doc_builder/alternative.rb +0 -50
- data/vendor/eac_cli/lib/eac_cli/docopt/runner_context_replacement.rb +0 -15
- data/vendor/eac_cli/lib/eac_cli/docopt/runner_extension.rb +0 -51
- data/vendor/eac_cli/lib/eac_cli/docopt_runner.rb +0 -38
- data/vendor/eac_cli/lib/eac_cli/docopt_runner/_class_methods.rb +0 -16
- data/vendor/eac_cli/lib/eac_cli/docopt_runner/_doc.rb +0 -23
- data/vendor/eac_cli/lib/eac_cli/docopt_runner/_settings.rb +0 -17
- data/vendor/eac_cli/lib/eac_cli/docopt_runner/_subcommands.rb +0 -152
- data/vendor/eac_cli/lib/eac_cli/docopt_runner/context.rb +0 -18
- data/vendor/eac_cli/lib/eac_cli/patches/module.rb +0 -4
- data/vendor/eac_cli/lib/eac_cli/patches/module/speaker.rb +0 -10
- data/vendor/eac_cli/lib/eac_cli/speaker/_class_methods.rb +0 -37
- data/vendor/eac_cli/lib/eac_cli/speaker/node.rb +0 -24
- data/vendor/eac_cli/spec/lib/eac_cli/docopt/runner_extension_spec.rb +0 -35
- data/vendor/eac_cli/spec/lib/eac_cli/docopt_runner_spec.rb +0 -136
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'clipboard'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module Git
|
7
|
+
module Issue
|
8
|
+
class Complete
|
9
|
+
module Tracker
|
10
|
+
def clipboard_copy_tracker_message
|
11
|
+
::Clipboard.copy(textile_tracker_message)
|
12
|
+
infov 'Copied to clipboard', textile_tracker_message
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def textile_tracker_message_uncached
|
18
|
+
"Revisado para commit:#{branch_short_hash}, ok."
|
19
|
+
end
|
20
|
+
|
21
|
+
def branch_short_hash
|
22
|
+
git(['log', '--pretty=format:%h', '-1', '-q', branch_hash])
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/git/issue/complete/validation'
|
4
|
+
require 'avm/result'
|
5
|
+
require 'ostruct'
|
6
|
+
|
7
|
+
module Avm
|
8
|
+
module Git
|
9
|
+
module Issue
|
10
|
+
class Complete
|
11
|
+
module Validations
|
12
|
+
VALIDATIONS = {
|
13
|
+
clean_workspace: 'Clean workspace?',
|
14
|
+
branch_name: 'Branch name',
|
15
|
+
branch_hash: 'Branch hash',
|
16
|
+
follow_master: 'Follow master?',
|
17
|
+
commits: 'Commits?',
|
18
|
+
bifurcations: 'Bifurcations?',
|
19
|
+
dry_push: 'Dry push?',
|
20
|
+
git_subrepos: 'Git subrepos ok?',
|
21
|
+
test: 'Test ok?'
|
22
|
+
}.with_indifferent_access.freeze
|
23
|
+
|
24
|
+
def valid?
|
25
|
+
validations.map(&:result).none?(&:error?)
|
26
|
+
end
|
27
|
+
|
28
|
+
def validations_banner
|
29
|
+
validations.each do |v|
|
30
|
+
infov "[#{v.key}] #{v.label}", v.result.label
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def validate_skip_validations
|
35
|
+
skip_validations.each do |validation|
|
36
|
+
next if VALIDATIONS.keys.include?(validation)
|
37
|
+
|
38
|
+
raise "\"#{validation}\" is not a registered validation"
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
private
|
43
|
+
|
44
|
+
def validations_uncached
|
45
|
+
VALIDATIONS.map do |key, label|
|
46
|
+
::Avm::Git::Issue::Complete::Validation.new(self, key, label)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -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
|
@@ -13,12 +13,8 @@ module Avm
|
|
13
13
|
|
14
14
|
def banner
|
15
15
|
infov 'Revision to test', sha1
|
16
|
-
|
17
|
-
|
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)
|
@@ -33,6 +33,7 @@ module Avm
|
|
33
33
|
|
34
34
|
def docker_image_uncached
|
35
35
|
r = docker_image_class.new(docker_image_options.fetch(:registry))
|
36
|
+
r.instance = self if r.respond_to?(:instance)
|
36
37
|
r.version = docker_image_options[:version] if docker_image_options.key?(:version)
|
37
38
|
r.snapshot = docker_image_options[:snapshot] if docker_image_options.key?(:snapshot)
|
38
39
|
r
|
@@ -7,9 +7,14 @@ module Avm
|
|
7
7
|
class Base
|
8
8
|
module EntryKeys
|
9
9
|
::Avm::Instances::EntryKeys.all.each do |key|
|
10
|
-
|
10
|
+
method_name = key.to_s.variableize
|
11
|
+
define_method method_name do
|
11
12
|
read_entry(key)
|
12
13
|
end
|
14
|
+
|
15
|
+
define_method "#{method_name}_optional" do
|
16
|
+
read_entry(key, required: false)
|
17
|
+
end
|
13
18
|
end
|
14
19
|
end
|
15
20
|
end
|
data/lib/avm/instances/entry.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'avm/apps/config'
|
3
4
|
require 'eac_ruby_utils/core_ext'
|
4
5
|
|
5
6
|
module Avm
|
@@ -30,7 +31,7 @@ module Avm
|
|
30
31
|
end
|
31
32
|
|
32
33
|
def read(extra_options = {})
|
33
|
-
::Avm.
|
34
|
+
::Avm::Apps::Config.current.entry(full_path, options.merge(extra_options)).value
|
34
35
|
end
|
35
36
|
|
36
37
|
def suffix_as_array
|
@@ -46,7 +47,7 @@ module Avm
|
|
46
47
|
end
|
47
48
|
|
48
49
|
def write(value)
|
49
|
-
::Avm.
|
50
|
+
::Avm::Apps::Config.current.entry(full_path).value = value
|
50
51
|
end
|
51
52
|
end
|
52
53
|
end
|
@@ -44,6 +44,7 @@ module Avm
|
|
44
44
|
{
|
45
45
|
'' => %w[fs_path host_id source_instance_id],
|
46
46
|
database: %w[id hostname limit name password port system timeout username],
|
47
|
+
docker: %w[registry],
|
47
48
|
mailer: {
|
48
49
|
'' => %w[id from reply_to],
|
49
50
|
smtp: %w[address port domain username password authentication starttls_auto]
|
data/lib/avm/launcher/context.rb
CHANGED
@@ -13,7 +13,7 @@ module Avm
|
|
13
13
|
module Launcher
|
14
14
|
class Context
|
15
15
|
include ::EacRubyUtils::SimpleCache
|
16
|
-
|
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
|
-
|
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 ::
|
14
|
+
object.extend ::EacRubyUtils::Speaker::Sender
|
14
15
|
object.extend ::Avm::Launcher::Instances::Base::Cache
|
15
16
|
super
|
16
17
|
end
|
@@ -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
|
-
|
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/
|
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::
|
18
|
+
ruby_gem.version.if_present { |v| ::Avm::VersionNumber.new(v) }
|
19
19
|
end
|
20
20
|
|
21
21
|
def version=(value)
|
data/lib/avm/self.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'eac_cli/old_configs_bridge'
|
3
4
|
require 'eac_ruby_base0/application'
|
4
5
|
require 'eac_ruby_utils/require_sub'
|
5
6
|
require 'avm/instances/base'
|
@@ -13,6 +14,14 @@ module Avm
|
|
13
14
|
@application ||= ::EacRubyBase0::Application.new(root.to_path)
|
14
15
|
end
|
15
16
|
|
17
|
+
# @return [EacCli::OldConfigsBridge]
|
18
|
+
def build_config(path = nil)
|
19
|
+
::EacCli::OldConfigsBridge.new(
|
20
|
+
application.name,
|
21
|
+
path.if_present({}) { |v| { storage_path: v } }
|
22
|
+
)
|
23
|
+
end
|
24
|
+
|
16
25
|
def instance
|
17
26
|
@instance ||= ::Avm::Self::Instance.by_id('avm-tools_self')
|
18
27
|
end
|
data/lib/avm/self/instance.rb
CHANGED