avm-tools 0.74.0 → 0.76.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avm/eac_rails_base0/instance.rb +2 -5
  3. data/lib/avm/{rails/runners.rb → eac_rails_base1.rb} +2 -4
  4. data/lib/avm/{rails → eac_rails_base1}/instance.rb +8 -3
  5. data/lib/avm/eac_rails_base1/runner.rb +12 -0
  6. data/lib/avm/eac_rails_base1/runner/bundle.rb +28 -0
  7. data/lib/avm/eac_rails_base1/runner/code_runner.rb +28 -0
  8. data/lib/avm/eac_rails_base1/runner_with/bundle.rb +57 -0
  9. data/lib/avm/eac_redmine_base0/instance.rb +2 -4
  10. data/lib/avm/{stereotypes/eac_ubuntu_base0.rb → eac_ubuntu_base0.rb} +1 -3
  11. data/lib/avm/eac_webapp_base0/deploy.rb +17 -40
  12. data/lib/avm/eac_webapp_base0/deploy/build.rb +48 -0
  13. data/lib/avm/eac_webapp_base0/deploy/git_info.rb +13 -0
  14. data/lib/avm/eac_webapp_base0/deploy/version.rb +4 -0
  15. data/lib/avm/eac_webapp_base0/deploy/write_on_target.rb +18 -0
  16. data/lib/avm/eac_webapp_base0/instance.rb +2 -2
  17. data/lib/avm/eac_webapp_base0/runner.rb +12 -0
  18. data/lib/avm/eac_webapp_base0/runner/apache_host.rb +2 -3
  19. data/lib/avm/eac_webapp_base0/runner/data.rb +1 -1
  20. data/lib/avm/eac_webapp_base0/runner/data/dump.rb +1 -1
  21. data/lib/avm/eac_webapp_base0/runner/data/load.rb +1 -1
  22. data/lib/avm/eac_webapp_base0/runner/deploy.rb +4 -16
  23. data/lib/avm/eac_wordpress_base0.rb +9 -0
  24. data/lib/avm/eac_wordpress_base0/apache_host.rb +25 -0
  25. data/lib/avm/eac_wordpress_base0/deploy.rb +10 -0
  26. data/lib/avm/eac_wordpress_base0/instance.rb +24 -0
  27. data/lib/avm/eac_writings_base0/apache_host.rb +17 -0
  28. data/lib/avm/eac_writings_base0/deploy.rb +36 -0
  29. data/lib/avm/eac_writings_base0/instance.rb +11 -0
  30. data/lib/avm/files/appendable.rb +55 -0
  31. data/lib/avm/files/appendable/file_content.rb +24 -0
  32. data/lib/avm/files/appendable/plain_directory.rb +25 -0
  33. data/lib/avm/files/appendable/resource_base.rb +13 -0
  34. data/lib/avm/files/appendable/tar_output_command.rb +26 -0
  35. data/lib/avm/files/appendable/templatized_directory.rb +28 -0
  36. data/lib/avm/files/appender.rb +11 -0
  37. data/lib/avm/files/deploy.rb +72 -0
  38. data/lib/avm/files/formatter.rb +8 -4
  39. data/lib/avm/git/auto_commit_path.rb +2 -4
  40. data/lib/avm/git/auto_commit_path/ruby.rb +20 -0
  41. data/lib/avm/git/commit/deploy.rb +8 -61
  42. data/lib/avm/instances/runner.rb +40 -0
  43. data/lib/avm/{stereotypes/postgresql.rb → postgresql.rb} +1 -3
  44. data/lib/avm/postgresql/instance.rb +63 -0
  45. data/lib/avm/postgresql/instance/data_unit.rb +39 -0
  46. data/lib/avm/postgresql/instance_with.rb +18 -0
  47. data/lib/avm/tools/runner.rb +3 -3
  48. data/lib/avm/tools/runner/eac_rails_base0.rb +5 -18
  49. data/lib/avm/tools/runner/eac_rails_base0/apache_path.rb +1 -1
  50. data/lib/avm/tools/runner/eac_rails_base0/rails_server.rb +7 -12
  51. data/lib/avm/tools/runner/eac_rails_base0/runner.rb +3 -3
  52. data/lib/avm/tools/runner/eac_redmine_base0.rb +5 -23
  53. data/lib/avm/tools/runner/eac_redmine_base0/core_update.rb +1 -1
  54. data/lib/avm/tools/runner/eac_redmine_base0/docker.rb +1 -1
  55. data/lib/avm/tools/runner/eac_redmine_base0/project_rename.rb +9 -18
  56. data/lib/avm/tools/runner/eac_wordpress_base0.rb +5 -24
  57. data/lib/avm/tools/runner/{eac_rails_base0/data.rb → eac_writings_base0.rb} +4 -4
  58. data/lib/avm/tools/runner/files/format.rb +3 -2
  59. data/lib/avm/tools/runner/git/auto_commit.rb +11 -0
  60. data/lib/avm/tools/runner/git/deploy.rb +1 -1
  61. data/lib/avm/tools/version.rb +1 -1
  62. data/template/avm/{stereotypes/eac_ubuntu_base0 → eac_ubuntu_base0}/docker_image/Dockerfile +0 -0
  63. data/template/avm/{stereotypes/eac_wordpress_base0 → eac_wordpress_base0}/deploy/wp-config.php.template +0 -0
  64. data/template/avm/eac_writings_base0/deploy/index.html.template +9 -0
  65. data/vendor/eac_cli/eac_cli.gemspec +1 -1
  66. data/vendor/eac_cli/lib/eac_cli/definition.rb +35 -3
  67. data/vendor/eac_cli/lib/eac_cli/definition/base_option.rb +17 -1
  68. data/vendor/eac_cli/lib/eac_cli/definition/help_formatter.rb +76 -0
  69. data/vendor/eac_cli/lib/eac_cli/definition/positional_argument.rb +21 -4
  70. data/vendor/eac_cli/lib/eac_cli/docopt/runner_extension.rb +1 -0
  71. data/vendor/eac_cli/lib/eac_cli/parser/collector.rb +4 -0
  72. data/vendor/eac_cli/lib/eac_cli/parser/options_collection.rb +27 -64
  73. data/vendor/eac_cli/lib/eac_cli/parser/parse_result.rb +17 -0
  74. data/vendor/eac_cli/lib/eac_cli/parser/positional_collection.rb +47 -19
  75. data/vendor/eac_cli/lib/eac_cli/patches/object/runner_with.rb +2 -1
  76. data/vendor/eac_cli/lib/eac_cli/runner.rb +4 -0
  77. data/vendor/eac_cli/lib/eac_cli/runner_with/subcommands.rb +96 -0
  78. data/vendor/eac_cli/lib/eac_cli/version.rb +1 -1
  79. data/vendor/eac_cli/spec/lib/eac_cli/docopt/runner_extension_spec.rb +25 -0
  80. data/vendor/eac_cli/spec/lib/eac_cli/runner_spec.rb +48 -40
  81. data/vendor/eac_cli/spec/lib/eac_cli/runner_with/subcommands_spec.rb +57 -0
  82. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs.rb +4 -39
  83. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs/read_entry_options.rb +41 -0
  84. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator.rb +4 -0
  85. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator/current.rb +9 -0
  86. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator/stopped.rb +14 -0
  87. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/debug.rb +17 -0
  88. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  89. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerator/current_spec.rb +26 -0
  90. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerator/stopped_spec.rb +32 -0
  91. metadata +48 -33
  92. data/lib/avm/git/commit/deploy/appended.rb +0 -37
  93. data/lib/avm/git/commit/deploy/appended/base.rb +0 -17
  94. data/lib/avm/git/commit/deploy/appended/directory.rb +0 -32
  95. data/lib/avm/git/commit/deploy/appended/file_content.rb +0 -28
  96. data/lib/avm/rails/runners/bundle.rb +0 -35
  97. data/lib/avm/rails/runners/runner.rb +0 -48
  98. data/lib/avm/stereotypes/eac_wordpress_base0/apache_host.rb +0 -27
  99. data/lib/avm/stereotypes/eac_wordpress_base0/deploy.rb +0 -12
  100. data/lib/avm/stereotypes/eac_wordpress_base0/instance.rb +0 -26
  101. data/lib/avm/stereotypes/postgresql/instance.rb +0 -65
  102. data/lib/avm/stereotypes/postgresql/instance/data_unit.rb +0 -41
  103. data/lib/avm/stereotypes/postgresql/instance_with.rb +0 -20
  104. data/lib/avm/stereotypes/rails.rb +0 -11
  105. data/lib/avm/tools/runner/eac_rails_base0/apache_host.rb +0 -16
  106. data/lib/avm/tools/runner/eac_rails_base0/bundle.rb +0 -14
  107. data/lib/avm/tools/runner/eac_rails_base0/deploy.rb +0 -15
  108. data/lib/avm/tools/runner/eac_redmine_base0/bundle.rb +0 -14
  109. data/lib/avm/tools/runner/eac_redmine_base0/data.rb +0 -27
  110. data/lib/avm/tools/runner/eac_redmine_base0/data/dump.rb +0 -16
  111. data/lib/avm/tools/runner/eac_redmine_base0/deploy.rb +0 -15
  112. data/lib/avm/tools/runner/eac_redmine_base0/runner.rb +0 -14
  113. data/lib/avm/tools/runner/eac_wordpress_base0/apache_host.rb +0 -17
  114. data/lib/avm/tools/runner/eac_wordpress_base0/data.rb +0 -15
  115. data/lib/avm/tools/runner/eac_wordpress_base0/deploy.rb +0 -15
@@ -5,13 +5,12 @@ require 'eac_ruby_utils/core_ext'
5
5
 
6
6
  module Avm
7
7
  module EacWebappBase0
8
- module Runner
8
+ class Runner < ::Avm::Instances::Runner
9
9
  class ApacheHost < ::EacRubyUtils::Console::DocoptRunner
10
10
  include ::EacCli::DefaultRunner
11
11
 
12
- stereotype_name = name.deconstantize.demodulize
13
12
  runner_definition do
14
- desc "Configure Apache virtual host for #{stereotype_name} instance."
13
+ desc 'Configure Apache virtual host for instance.'
15
14
  bool_opt '-c', '--certbot', 'Install certbot.'
16
15
  end
17
16
 
@@ -5,7 +5,7 @@ require 'eac_ruby_utils/require_sub'
5
5
 
6
6
  module Avm
7
7
  module EacWebappBase0
8
- module Runner
8
+ class Runner < ::Avm::Instances::Runner
9
9
  class Data < ::EacRubyUtils::Console::DocoptRunner
10
10
  ::EacRubyUtils.require_sub(__FILE__)
11
11
 
@@ -7,7 +7,7 @@ require 'avm/data/package/dump'
7
7
 
8
8
  module Avm
9
9
  module EacWebappBase0
10
- module Runner
10
+ class Runner < ::Avm::Instances::Runner
11
11
  class Data < ::EacRubyUtils::Console::DocoptRunner
12
12
  class Dump < ::EacRubyUtils::Console::DocoptRunner
13
13
  include ::EacRubyUtils::SimpleCache
@@ -6,7 +6,7 @@ require 'eac_ruby_utils/simple_cache'
6
6
 
7
7
  module Avm
8
8
  module EacWebappBase0
9
- module Runner
9
+ class Runner < ::Avm::Instances::Runner
10
10
  class Data < ::EacRubyUtils::Console::DocoptRunner
11
11
  class Load < ::EacRubyUtils::Console::DocoptRunner
12
12
  include ::EacRubyUtils::SimpleCache
@@ -1,17 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'avm/instances/runner'
3
4
  require 'avm/path_string'
4
5
  require 'eac_ruby_utils/console/docopt_runner'
5
6
  require 'eac_ruby_utils/console/speaker'
6
7
 
7
8
  module Avm
8
9
  module EacWebappBase0
9
- module Runner
10
+ class Runner < ::Avm::Instances::Runner
10
11
  class Deploy < ::EacRubyUtils::Console::DocoptRunner
11
12
  include ::EacRubyUtils::Console::Speaker
12
13
 
13
14
  DOC = <<~DOCOPT
14
- Deploy for %%STEREOTYPE_NAME%% instance.
15
+ Deploy for instance.
15
16
 
16
17
  Usage:
17
18
  __PROGRAM__ [options]
@@ -22,22 +23,9 @@ module Avm
22
23
  -r --reference=<git-reference> Git reference to deploy.
23
24
  -a --append-dirs=<append-dirs> Append directories to deploy (List separated by ":").
24
25
  DOCOPT
25
- def initialize(settings = {})
26
- super settings.merge(doc: DOC.gsub('%%STEREOTYPE_NAME%%', stereotype_name))
27
- end
28
26
 
29
27
  def deploy_class
30
- stereotype_module.const_get('Deploy')
31
- end
32
-
33
- def stereotype_module
34
- ::Avm::Stereotypes.const_get(stereotype_name)
35
- rescue ::NameError
36
- ::Avm.const_get(stereotype_name)
37
- end
38
-
39
- def stereotype_name
40
- self.class.name.deconstantize.demodulize
28
+ context(:stereotype_module).const_get('Deploy')
41
29
  end
42
30
 
43
31
  def run
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacWordpressBase0
7
+ require_sub __FILE__
8
+ end
9
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_webapp_base0/apache_host'
4
+
5
+ module Avm
6
+ module EacWordpressBase0
7
+ class ApacheHost < ::Avm::EacWebappBase0::ApacheHost
8
+ def document_root
9
+ instance.read_entry(::Avm::Instances::EntryKeys::FS_PATH)
10
+ end
11
+
12
+ def extra_content
13
+ "AssignUserID #{system_user} #{system_group}"
14
+ end
15
+
16
+ def system_user
17
+ instance.read_entry('system.username')
18
+ end
19
+
20
+ def system_group
21
+ instance.read_entry('system.groupname')
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_webapp_base0/deploy'
4
+
5
+ module Avm
6
+ module EacWordpressBase0
7
+ class Deploy < ::Avm::EacWebappBase0::Deploy
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/instances/entry_keys'
4
+ require 'avm/eac_webapp_base0/instance'
5
+
6
+ module Avm
7
+ module EacWordpressBase0
8
+ class Instance < ::Avm::EacWebappBase0::Instance
9
+ FILES_UNITS = { uploads: 'wp-content/uploads', themes: 'wp-content/themes' }.freeze
10
+
11
+ def database_unit
12
+ web_url = read_entry(::Avm::Instances::EntryKeys::WEB_URL)
13
+ super.after_load do
14
+ info 'Fixing web addresses...'
15
+ run_sql(<<~SQL)
16
+ update wp_options
17
+ set option_value = '#{web_url}'
18
+ where option_name in ('siteurl', 'home')
19
+ SQL
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_webapp_base0/apache_host'
4
+
5
+ module Avm
6
+ module EacWritingsBase0
7
+ class ApacheHost < ::Avm::EacWebappBase0::ApacheHost
8
+ def document_root
9
+ instance.read_entry(::Avm::Instances::EntryKeys::FS_PATH)
10
+ end
11
+
12
+ def extra_content
13
+ ''
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_webapp_base0/deploy'
4
+ require 'avm/eac_writings_base0/project'
5
+ require 'avm/eac_writings_base0/project_build'
6
+
7
+ module Avm
8
+ module EacWritingsBase0
9
+ class Deploy < ::Avm::EacWebappBase0::Deploy
10
+ def build_content
11
+ ::Avm::EacWritingsBase0::ProjectBuild.new(project, output_file:
12
+ build_dir.join(pdf_path))
13
+ end
14
+
15
+ def title
16
+ instance.id.humanize
17
+ end
18
+
19
+ def pdf_path
20
+ "#{instance.id.underscore}.pdf"
21
+ end
22
+
23
+ def variables_source
24
+ self
25
+ end
26
+
27
+ private
28
+
29
+ def project_uncached
30
+ ::Avm::EacWritingsBase0::Project.new(
31
+ instance.source_instance.read_entry(::Avm::Instances::EntryKeys::FS_PATH)
32
+ )
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_webapp_base0/instance'
4
+
5
+ module Avm
6
+ module EacWritingsBase0
7
+ class Instance < ::Avm::EacWebappBase0::Instance
8
+ FILES_UNITS = {}.freeze
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Files
7
+ module Appendable
8
+ require_sub __FILE__
9
+
10
+ attr_reader :variables_source
11
+
12
+ def appended
13
+ @appended ||= []
14
+ end
15
+
16
+ def append_templatized_directories(directories)
17
+ directories.each { |directory| append_templatized_directory(directory) }
18
+ self
19
+ end
20
+
21
+ def append_plain_directory(directory)
22
+ appended << ::Avm::Files::Appendable::PlainDirectory.new(self, directory)
23
+ self
24
+ end
25
+
26
+ def append_tar_output_command(tar_command)
27
+ appended << ::Avm::Files::Appendable::TarOutputCommand.new(self, tar_command)
28
+ self
29
+ end
30
+
31
+ def append_templatized_directory(directory)
32
+ appended << ::Avm::Files::Appendable::TemplatizedDirectory.new(self, directory)
33
+ self
34
+ end
35
+
36
+ def append_file_content(target_path, content)
37
+ appended << ::Avm::Files::Appendable::FileContent
38
+ .new(self, target_path, content)
39
+ self
40
+ end
41
+
42
+ def variables_source_set(source)
43
+ @variables_source = source
44
+ self
45
+ end
46
+
47
+ def write_appended_on(target_dir)
48
+ target_dir = target_dir.to_pathname
49
+ raise "\"#{target_dir}\" is not a directory" unless target_dir.directory?
50
+
51
+ appended.each { |append| append.write_on(target_dir) }
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+ require 'avm/files/appendable/resource_base'
5
+
6
+ module Avm
7
+ module Files
8
+ module Appendable
9
+ class FileContent < ::Avm::Files::Appendable::ResourceBase
10
+ attr_reader :target_path, :content
11
+
12
+ def initialize(deploy, target_path, content)
13
+ super(deploy)
14
+ @target_path = target_path
15
+ @content = content
16
+ end
17
+
18
+ def write_on(target_dir)
19
+ target_dir.join(target_path).write(content)
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+ require 'avm/files/appendable/resource_base'
5
+
6
+ module Avm
7
+ module Files
8
+ module Appendable
9
+ class PlainDirectory < ::Avm::Files::Appendable::ResourceBase
10
+ attr_reader :source_path
11
+
12
+ def initialize(appender, source_path)
13
+ super(appender)
14
+ @source_path = source_path.to_pathname
15
+ end
16
+
17
+ def write_on(target_dir)
18
+ raise "\"#{source_path}\" is not a directory" unless source_path.directory?
19
+
20
+ ::FileUtils.cp_r("#{source_path}/.", target_dir.to_path)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Files
7
+ module Appendable
8
+ class ResourceBase
9
+ common_constructor :appender
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+ require 'eac_ruby_utils/envs'
5
+ require 'avm/files/appendable/resource_base'
6
+
7
+ module Avm
8
+ module Files
9
+ module Appendable
10
+ class TarOutputCommand < ::Avm::Files::Appendable::ResourceBase
11
+ attr_reader :command
12
+
13
+ def initialize(appender, command)
14
+ super(appender)
15
+ @command = command
16
+ end
17
+
18
+ def write_on(target_dir)
19
+ command.pipe(
20
+ ::EacRubyUtils::Envs.local.command('tar', '-xf', '-', '-C', target_dir)
21
+ ).execute!
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+ require 'avm/files/appendable/resource_base'
5
+
6
+ module Avm
7
+ module Files
8
+ module Appendable
9
+ class TemplatizedDirectory < ::Avm::Files::Appendable::ResourceBase
10
+ attr_reader :source_path
11
+
12
+ def initialize(appender, source_path)
13
+ super(appender)
14
+ @source_path = source_path
15
+ end
16
+
17
+ def write_on(target_dir)
18
+ raise 'Variables source not set' if appender.variables_source.blank?
19
+
20
+ ::EacRubyUtils::Templates::Directory.new(source_path).apply(
21
+ appender.variables_source,
22
+ target_dir
23
+ )
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/files/appendable'
4
+
5
+ module Avm
6
+ module Files
7
+ class Appender
8
+ include ::Avm::Files::Appendable
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'addressable'
4
+ require 'avm/files/appendable'
5
+ require 'avm/patches/object/template'
6
+ require 'eac_ruby_utils/core_ext'
7
+
8
+ module Avm
9
+ module Files
10
+ class Deploy
11
+ include ::Avm::Files::Appendable
12
+ enable_simple_cache
13
+
14
+ attr_reader :build_dir, :target_env, :target_path
15
+
16
+ common_constructor :target_env, :target_path
17
+
18
+ def run
19
+ on_build_dir do
20
+ copy_content_to_build_dir
21
+ mkdir_target
22
+ clear_content
23
+ send_untar_package
24
+ set_target_permission
25
+ end
26
+ end
27
+
28
+ private
29
+
30
+ def on_build_dir
31
+ @build_dir = ::Dir.mktmpdir
32
+ yield
33
+ ensure
34
+ ::FileUtils.rm_rf(@build_dir)
35
+ end
36
+
37
+ def copy_content_to_build_dir
38
+ write_appended_on(build_dir)
39
+ end
40
+
41
+ def mkdir_target
42
+ target_env.command('mkdir', '-p', target_path).execute!
43
+ end
44
+
45
+ def clear_content
46
+ target_env.command(
47
+ 'find', target_path, '-mindepth', '1', '-maxdepth', '1', '-exec', 'rm', '-rf', '{}', ';'
48
+ ).execute!
49
+ end
50
+
51
+ def send_untar_package
52
+ tar_build_command.pipe(untar_build_command).execute!
53
+ end
54
+
55
+ def set_target_permission
56
+ target_env.command('chmod', '755', target_path).execute!
57
+ end
58
+
59
+ def tar_build_command
60
+ source_env.command('tar', '-czO', '-C', build_dir, '.')
61
+ end
62
+
63
+ def untar_build_command
64
+ target_env.command('tar', '-xzf', '-', '-C', target_path)
65
+ end
66
+
67
+ def source_env
68
+ ::EacRubyUtils::Envs.local
69
+ end
70
+ end
71
+ end
72
+ end