eac_tools 0.27.2 → 0.29.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +31 -31
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm/avm.gemspec +1 -1
  5. data/sub/avm/lib/avm/instances/base/auto_values/install.rb +2 -1
  6. data/sub/avm/lib/avm/instances/base.rb +3 -4
  7. data/sub/avm/lib/avm/instances/entry_keys.rb +1 -1
  8. data/sub/avm/lib/avm/instances/runner.rb +15 -19
  9. data/sub/avm/lib/avm/version.rb +1 -1
  10. data/sub/avm-eac_asciidoctor_base0/avm-eac_asciidoctor_base0.gemspec +2 -2
  11. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/apache_host.rb +19 -0
  12. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/{apache_path.rb → instances/apache_path.rb} +3 -1
  13. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/base.rb +3 -0
  14. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/deploy.rb +28 -0
  15. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/version.rb +1 -1
  16. data/sub/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec +2 -2
  17. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/apache_host.rb +6 -1
  18. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/apache_host.rb +36 -0
  19. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/apache_path.rb +39 -0
  20. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/deploy.rb +43 -0
  21. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +1 -1
  22. data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/apache_host/no_ssl.conf +1 -1
  23. data/sub/avm-tools/avm-tools.gemspec +2 -2
  24. data/sub/avm-tools/lib/avm/tools/runner/instance/info.rb +2 -1
  25. data/sub/avm-tools/lib/avm/tools/runner/instance.rb +2 -18
  26. data/sub/avm-tools/lib/avm/tools/version.rb +1 -1
  27. data/sub/eac_ruby_utils/lib/eac_ruby_utils/method_class.rb +1 -0
  28. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/module_parent.rb +5 -0
  29. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/debug.rb +11 -7
  30. data/sub/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  31. metadata +19 -37
  32. data/sub/avm/lib/avm/instances/base/auto_values/admin.rb +0 -19
  33. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/apache_host.rb +0 -17
  34. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/deploy.rb +0 -26
  35. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/apache_host.rb +0 -35
  36. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/apache_path.rb +0 -40
  37. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/deploy.rb +0 -41
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 69feb1fcacbebe2c9a3e55f803f1ab72cf23b9396296ec50d4a5979d2183ce5b
4
- data.tar.gz: 34f748e9a7ccede566b689a338eebe7996d2d66b81b3225f85ef7c43ec5c7c0f
3
+ metadata.gz: 702b93f483faabce748c237dafa2c8cb08d1f1eb4094a93f09166e4e0457c55e
4
+ data.tar.gz: cd78bbcf11c9da7593068a6667fb2acfdc6c09fa37a6ba7acabd61602915e378
5
5
  SHA512:
6
- metadata.gz: 984112c656a9b42ce43c18a0d12de2e030ec972da7eefa6ac9ad689c632876ee682d4a174dc96bd26780f6e38163853d27ba06805576af1f02c295308f2b3385
7
- data.tar.gz: 36f2d19db33361e76d7e6412be9652d5be8bcc98607d08e285d3a1f13ca171386cc5ba5f7aa7852a6b05eecab7e011498dcd703829e652b0788ff851653b9c36
6
+ metadata.gz: 87b38acdc3473f7c62ef5bbf64353fc83daca80c80e9dc8d88ca0d1ddb2225584e57ca81c4bf5a2f9d95abe59ee470da41fb1fc0ac16ff973c7f2e6520d95eb1
7
+ data.tar.gz: 30edd04c05f07e3d1616321ec2685dc0b00b25d3c165fbbf4fac6c109dc030fc2a7293f084d8229a4b8349e7ed1a8fb10e0ec04e66f00462a1a760ba4ce9ea6f
data/Gemfile.lock CHANGED
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eac_tools (0.27.2)
5
- avm (~> 0.41, >= 0.41.1)
6
- avm-eac_asciidoctor_base0 (~> 0.6, >= 0.6.1)
4
+ eac_tools (0.29.0)
5
+ avm (~> 0.43)
6
+ avm-eac_asciidoctor_base0 (~> 0.7)
7
7
  avm-eac_generic_base0 (~> 0.5)
8
8
  avm-eac_latex_base0 (~> 0.2)
9
9
  avm-eac_rails_base0 (~> 0.8)
@@ -11,18 +11,18 @@ PATH
11
11
  avm-eac_redmine_base0 (~> 0.14)
12
12
  avm-eac_redmine_plugin_base0 (~> 0.3)
13
13
  avm-eac_ruby_base1 (~> 0.20, >= 0.20.1)
14
- avm-eac_webapp_base0 (~> 0.6, >= 0.6.1)
14
+ avm-eac_webapp_base0 (~> 0.8)
15
15
  avm-eac_wordpress_base0 (~> 0.2)
16
- avm-tools (~> 0.135)
17
- eac_ruby_utils (~> 0.102)
16
+ avm-tools (~> 0.136)
17
+ eac_ruby_utils (~> 0.103)
18
18
 
19
19
  PATH
20
20
  remote: sub/avm-eac_asciidoctor_base0
21
21
  specs:
22
- avm-eac_asciidoctor_base0 (0.6.1)
22
+ avm-eac_asciidoctor_base0 (0.7.0)
23
23
  asciidoctor (~> 2.0, >= 2.0.17)
24
- avm-eac_webapp_base0 (~> 0.6, >= 0.6.1)
25
- eac_ruby_utils (~> 0.102)
24
+ avm-eac_webapp_base0 (~> 0.7)
25
+ eac_ruby_utils (~> 0.102, >= 0.102.1)
26
26
  os (~> 1.1, >= 1.1.4)
27
27
  rouge (~> 3.30)
28
28
 
@@ -88,12 +88,12 @@ PATH
88
88
  PATH
89
89
  remote: sub/avm-eac_webapp_base0
90
90
  specs:
91
- avm-eac_webapp_base0 (0.6.1)
92
- avm (~> 0.41, >= 0.41.1)
91
+ avm-eac_webapp_base0 (0.8.0)
92
+ avm (~> 0.42)
93
93
  avm-eac_generic_base0 (~> 0.5)
94
94
  avm-eac_postgresql_base0 (~> 0.2)
95
95
  avm-eac_ubuntu_base0 (~> 0.3)
96
- eac_ruby_utils (~> 0.102)
96
+ eac_ruby_utils (~> 0.103)
97
97
 
98
98
  PATH
99
99
  remote: sub/avm-eac_wordpress_base0
@@ -106,10 +106,10 @@ PATH
106
106
  PATH
107
107
  remote: sub/avm-tools
108
108
  specs:
109
- avm-tools (0.135.0)
109
+ avm-tools (0.136.0)
110
110
  aranha-parsers (~> 0.14, >= 0.14.1)
111
- avm (~> 0.41)
112
- avm-eac_ruby_base1 (~> 0.20)
111
+ avm (~> 0.42)
112
+ avm-eac_ruby_base1 (~> 0.20, >= 0.20.1)
113
113
  avm-eac_ubuntu_base0 (~> 0.3)
114
114
  avm-files (~> 0.3, >= 0.3.2)
115
115
  avm-git (~> 0.4)
@@ -124,12 +124,12 @@ PATH
124
124
  PATH
125
125
  remote: sub/avm
126
126
  specs:
127
- avm (0.41.1)
127
+ avm (0.43.0)
128
128
  eac_cli (~> 0.27, >= 0.27.8)
129
129
  eac_config (~> 0.11, >= 0.11.1)
130
130
  eac_docker (~> 0.4, >= 0.4.2)
131
131
  eac_git (~> 0.12, >= 0.12.2)
132
- eac_ruby_utils (~> 0.102)
132
+ eac_ruby_utils (~> 0.103)
133
133
  eac_templates (~> 0.3, >= 0.3.1)
134
134
  filesize (~> 0.2)
135
135
  htmlbeautifier (~> 1.4, >= 1.4.2)
@@ -177,7 +177,7 @@ PATH
177
177
  PATH
178
178
  remote: sub/eac_ruby_utils
179
179
  specs:
180
- eac_ruby_utils (0.102.0)
180
+ eac_ruby_utils (0.103.0)
181
181
  activesupport (>= 4, < 7)
182
182
  addressable (~> 2.8)
183
183
  bundler
@@ -187,7 +187,7 @@ PATH
187
187
  GEM
188
188
  remote: https://rubygems.org/
189
189
  specs:
190
- activesupport (6.1.6.1)
190
+ activesupport (6.1.7)
191
191
  concurrent-ruby (~> 1.0, >= 1.0.2)
192
192
  i18n (>= 1.6, < 2)
193
193
  minitest (>= 5.1)
@@ -195,15 +195,15 @@ GEM
195
195
  zeitwerk (~> 2.3)
196
196
  addressable (2.8.1)
197
197
  public_suffix (>= 2.0.2, < 6.0)
198
- aranha-parsers (0.14.1)
198
+ aranha-parsers (0.14.3)
199
199
  activesupport (>= 4.0.0)
200
- addressable (~> 2.7)
201
- curb (~> 0.9.10)
202
- eac_ruby_utils (~> 0.92, >= 0.92.1)
200
+ addressable (~> 2.8, >= 2.8.1)
201
+ curb (~> 0.9, >= 0.9.11)
202
+ eac_ruby_utils (~> 0.102, >= 0.102.1)
203
203
  faraday-gzip (~> 0.1)
204
- faraday_middleware
205
- nokogiri (~> 1.12, >= 1.12.4)
206
- ofx-parser (~> 1.1.0)
204
+ faraday_middleware (~> 1.2)
205
+ nokogiri (~> 1.13, >= 1.13.8)
206
+ ofx-parser (~> 1.1)
207
207
  asciidoctor (2.0.17)
208
208
  ast (2.4.2)
209
209
  avm-eac_postgresql_base0 (0.2.0)
@@ -240,9 +240,9 @@ GEM
240
240
  rubocop (~> 0.80.1)
241
241
  rubocop-rails (~> 2.4.2)
242
242
  rubocop-rspec (~> 1.38.1)
243
- eac_templates (0.3.1)
244
- eac_config (~> 0.5)
245
- eac_ruby_utils (~> 0.64)
243
+ eac_templates (0.3.2)
244
+ eac_config (~> 0.11, >= 0.11.1)
245
+ eac_ruby_utils (~> 0.102, >= 0.102.1)
246
246
  faraday (1.10.2)
247
247
  faraday-em_http (~> 1.0)
248
248
  faraday-em_synchrony (~> 1.0)
@@ -307,13 +307,13 @@ GEM
307
307
  rspec-mocks (~> 3.11.0)
308
308
  rspec-core (3.11.0)
309
309
  rspec-support (~> 3.11.0)
310
- rspec-expectations (3.11.0)
310
+ rspec-expectations (3.11.1)
311
311
  diff-lcs (>= 1.2.0, < 2.0)
312
312
  rspec-support (~> 3.11.0)
313
313
  rspec-mocks (3.11.1)
314
314
  diff-lcs (>= 1.2.0, < 2.0)
315
315
  rspec-support (~> 3.11.0)
316
- rspec-support (3.11.0)
316
+ rspec-support (3.11.1)
317
317
  rubocop (0.80.1)
318
318
  jaro_winkler (~> 1.5.1)
319
319
  parallel (~> 1.10)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacTools
4
- VERSION = '0.27.2'
4
+ VERSION = '0.29.0'
5
5
  end
data/sub/avm/avm.gemspec CHANGED
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
16
16
  s.add_dependency 'eac_config', '~> 0.11', '>= 0.11.1'
17
17
  s.add_dependency 'eac_docker', '~> 0.4', '>= 0.4.2'
18
18
  s.add_dependency 'eac_git', '~> 0.12', '>= 0.12.2'
19
- s.add_dependency 'eac_ruby_utils', '~> 0.102'
19
+ s.add_dependency 'eac_ruby_utils', '~> 0.103'
20
20
  s.add_dependency 'eac_templates', '~> 0.3', '>= 0.3.1'
21
21
  s.add_dependency 'filesize', '~> 0.2'
22
22
  s.add_dependency 'htmlbeautifier', '~> 1.4', '>= 1.4.2'
@@ -8,7 +8,8 @@ module Avm
8
8
  class Base
9
9
  module AutoValues
10
10
  module Install
11
- (::Avm::Entries::UriBuilder::ENTRIES_FIELDS + %w[data_path groupname]).each do |component|
11
+ (::Avm::Entries::UriBuilder::ENTRIES_FIELDS + %w[data_path email groupname])
12
+ .each do |component|
12
13
  method_suffix = "install_#{component}"
13
14
  define_method "auto_#{method_suffix}" do
14
15
  uri_component_entry_value(
@@ -51,11 +51,10 @@ module Avm
51
51
  end
52
52
 
53
53
  def host_env_uncached
54
- install_uri = entry(::Avm::Instances::EntryKeys::INSTALL_URL).value.to_uri
55
- case install_uri.scheme
54
+ case install_scheme
56
55
  when 'file' then ::EacRubyUtils::Envs.local
57
- when 'ssh' then ::EacRubyUtils::Envs.ssh(install_uri)
58
- else raise("Unmapped access value: \"#{install_uri}\"")
56
+ when 'ssh' then ::EacRubyUtils::Envs.ssh(install_url)
57
+ else raise("Unmapped access value: \"#{install_scheme}\"")
59
58
  end
60
59
  end
61
60
 
@@ -49,7 +49,7 @@ module Avm
49
49
  admin: URI_FIELDS + %w[api_key],
50
50
  database: URI_FIELDS + %w[id limit name system timeout extra],
51
51
  docker: %w[registry],
52
- install: URI_FIELDS + %w[id data_path groupname],
52
+ install: URI_FIELDS + %w[id data_path email groupname],
53
53
  mailer: {
54
54
  '' => %w[id from reply_to],
55
55
  smtp: URI_FIELDS + %w[address domain authentication openssl_verify_mode starttls_auto tls]
@@ -6,35 +6,31 @@ require 'eac_cli/core_ext'
6
6
  module Avm
7
7
  module Instances
8
8
  class Runner < ::Avm::Runners::Base
9
- class << self
10
- def application_stereotype
11
- ::Avm::Registry.application_stereotypes.detect(stereotype_name)
12
- end
13
-
14
- delegate :instance_class, to: :application_stereotype
9
+ runner_with :help, :subcommands do
10
+ desc 'Utilities for a instance.'
11
+ pos_arg 'instance-id'
12
+ subcommands
13
+ end
15
14
 
16
- def stereotype_module
17
- ::Avm.const_get(stereotype_name)
18
- end
15
+ delegate :class, to: :instance, prefix: true
16
+ delegate :stereotype_module, :stereotype_name, to: :class
19
17
 
20
- def stereotype_name
21
- name.demodulize
22
- end
18
+ def extra_available_subcommands
19
+ instance.if_present({}, &:extra_available_subcommands)
23
20
  end
24
21
 
25
- description = "Utilities for #{stereotype_name} instances."
26
- runner_with :help, :subcommands do
27
- desc description
28
- pos_arg 'instance-id'
29
- subcommands
22
+ def stereotype_module
23
+ instance.application.stereotype.namespace_module
30
24
  end
31
25
 
32
- delegate :instance_class, :stereotype_module, :stereotype_name, to: :class
26
+ def stereotype_name
27
+ stereotype_module.name
28
+ end
33
29
 
34
30
  private
35
31
 
36
32
  def instance_uncached
37
- self.class.instance_class.by_id(parsed.instance_id)
33
+ parsed.instance_id.if_present { |v| ::Avm::Registry.instances.detect(v) }
38
34
  end
39
35
  end
40
36
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Avm
4
- VERSION = '0.41.1'
4
+ VERSION = '0.43.0'
5
5
  end
@@ -13,8 +13,8 @@ Gem::Specification.new do |s|
13
13
  s.files = Dir['{lib,template}/**/*']
14
14
 
15
15
  s.add_dependency 'asciidoctor', '~> 2.0', '>= 2.0.17'
16
- s.add_dependency 'avm-eac_webapp_base0', '~> 0.6', '>= 0.6.1'
17
- s.add_dependency 'eac_ruby_utils', '~> 0.102'
16
+ s.add_dependency 'avm-eac_webapp_base0', '~> 0.7'
17
+ s.add_dependency 'eac_ruby_utils', '~> 0.102', '>= 0.102.1'
18
18
  s.add_dependency 'os', '~> 1.1', '>= 1.1.4'
19
19
  s.add_dependency 'rouge', '~> 3.30'
20
20
 
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_webapp_base0/apache_host'
4
+
5
+ module Avm
6
+ module EacAsciidoctorBase0
7
+ module Instances
8
+ class ApacheHost < ::Avm::EacWebappBase0::ApacheHost
9
+ def document_root
10
+ instance.read_entry(::Avm::Instances::EntryKeys::INSTALL_PATH)
11
+ end
12
+
13
+ def extra_content
14
+ ''
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -4,7 +4,9 @@ require 'avm/eac_webapp_base0/apache_path'
4
4
 
5
5
  module Avm
6
6
  module EacAsciidoctorBase0
7
- class ApachePath < ::Avm::EacWebappBase0::ApachePath
7
+ module Instances
8
+ class ApachePath < ::Avm::EacWebappBase0::ApachePath
9
+ end
8
10
  end
9
11
  end
10
12
  end
@@ -1,5 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'avm/eac_asciidoctor_base0/instances/apache_host'
4
+ require 'avm/eac_asciidoctor_base0/instances/apache_path'
5
+ require 'avm/eac_asciidoctor_base0/instances/deploy'
3
6
  require 'avm/eac_webapp_base0/instances/base'
4
7
 
5
8
  module Avm
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_webapp_base0/deploy'
4
+ require 'avm/eac_asciidoctor_base0/sources/base'
5
+ require 'avm/eac_asciidoctor_base0/sources/build'
6
+
7
+ module Avm
8
+ module EacAsciidoctorBase0
9
+ module Instances
10
+ class Deploy < ::Avm::EacWebappBase0::Deploy
11
+ def build_content
12
+ ::Avm::EacAsciidoctorBase0::Sources::Build.new(
13
+ project,
14
+ ::Avm::EacAsciidoctorBase0::Sources::Build::OPTION_TARGET_DIRECTORY => build_dir
15
+ ).run
16
+ end
17
+
18
+ private
19
+
20
+ def project_uncached
21
+ ::Avm::EacAsciidoctorBase0::Sources::Base.new(
22
+ instance.source_instance.read_entry(::Avm::Instances::EntryKeys::INSTALL_PATH)
23
+ )
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacAsciidoctorBase0
5
- VERSION = '0.6.1'
5
+ VERSION = '0.7.0'
6
6
  end
7
7
  end
@@ -12,11 +12,11 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib,template}/**/*']
14
14
 
15
- s.add_dependency 'avm', '~> 0.41', '>= 0.41.1'
15
+ s.add_dependency 'avm', '~> 0.42'
16
16
  s.add_dependency 'avm-eac_generic_base0', '~> 0.5'
17
17
  s.add_dependency 'avm-eac_postgresql_base0', '~> 0.2'
18
18
  s.add_dependency 'avm-eac_ubuntu_base0', '~> 0.3'
19
- s.add_dependency 'eac_ruby_utils', '~> 0.102'
19
+ s.add_dependency 'eac_ruby_utils', '~> 0.103'
20
20
 
21
21
  s.add_development_dependency 'eac_ruby_gem_support', '~> 0.2'
22
22
  end
@@ -8,10 +8,15 @@ require 'eac_templates/core_ext'
8
8
  module Avm
9
9
  module EacWebappBase0
10
10
  class ApacheHost
11
+ APACHE_DIRECTORY_EXTRA_CONFIG_KEY = 'install.apache_directory_extra_config'
11
12
  JOBS = %w[write_available_no_ssl_site enable_no_ssl_site remove_ssl_site reload_apache
12
13
  run_certbot enable_ssl_site reload_apache].freeze
13
14
  include ::Avm::Jobs::Base
14
15
 
16
+ def directory_extra_config
17
+ instance.entry(APACHE_DIRECTORY_EXTRA_CONFIG_KEY).value.if_present { |v| " #{v}\n" }
18
+ end
19
+
15
20
  def no_ssl_site_content
16
21
  ::Avm::EacWebappBase0::ApacheHost
17
22
  .template.child('no_ssl.conf')
@@ -61,7 +66,7 @@ module Avm
61
66
  instance.host_env.command(
62
67
  'sudo', 'certbot', '--apache', '--domain', instance.read_entry('web.hostname'),
63
68
  '--redirect', '--non-interactive', '--agree-tos',
64
- '--email', instance.read_entry('admin.email')
69
+ '--email', instance.install_email
65
70
  ).system!
66
71
  end
67
72
 
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/core_ext'
4
+
5
+ module Avm
6
+ module EacWebappBase0
7
+ module Instances
8
+ module Runners
9
+ class ApacheHost
10
+ runner_with :help do
11
+ desc 'Configure Apache virtual host for instance.'
12
+ bool_opt '-c', '--certbot', 'Install certbot.'
13
+ end
14
+
15
+ def run
16
+ result = stereotype_apache_host_class.new(runner_context.call(:instance),
17
+ stereotype_apache_host_options).run
18
+ if result.error?
19
+ fatal_error result.to_s
20
+ else
21
+ infov 'Result', result.label
22
+ end
23
+ end
24
+
25
+ def stereotype_apache_host_class
26
+ "#{runner_context.call(:instance).class.name.deconstantize}::ApacheHost".constantize
27
+ end
28
+
29
+ def stereotype_apache_host_options
30
+ { certbot: parsed.certbot? }
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/core_ext'
4
+
5
+ module Avm
6
+ module EacWebappBase0
7
+ module Instances
8
+ module Runners
9
+ class ApachePath
10
+ runner_with :help do
11
+ desc 'Configure Apache path configuration for instance.'
12
+ end
13
+
14
+ def run
15
+ if result.error?
16
+ fatal_error result.to_s
17
+ else
18
+ infov 'Result', result.label
19
+ end
20
+ end
21
+
22
+ private
23
+
24
+ def apache_path_uncached
25
+ stereotype_apache_path_class.new(runner_context.call(:instance))
26
+ end
27
+
28
+ def result_uncached
29
+ apache_path.run
30
+ end
31
+
32
+ def stereotype_apache_path_class
33
+ "#{runner_context.call(:instance).class.name.deconstantize}::ApachePath".constantize
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/instances/runner'
4
+ require 'avm/path_string'
5
+ require 'eac_cli/core_ext'
6
+
7
+ module Avm
8
+ module EacWebappBase0
9
+ module Instances
10
+ module Runners
11
+ class Deploy
12
+ runner_with :help do
13
+ desc 'Deploy for instance.'
14
+ arg_opt '-r', '--reference', 'Git reference to deploy.'
15
+ arg_opt '-a', '--append-dirs', 'Append directories to deploy (List separated by ":").'
16
+ bool_opt '-T', '--no-request-test', 'Do not test web interface after deploy.'
17
+ end
18
+
19
+ def deploy_class
20
+ runner_context.call(:stereotype_module).const_get('Instances').const_get('Deploy')
21
+ rescue ::NameError
22
+ runner_context.call(:stereotype_module).const_get('Deploy')
23
+ end
24
+
25
+ def run
26
+ result = deploy_class.new(runner_context.call(:instance), deploy_options).run
27
+ if result.error?
28
+ fatal_error result.to_s
29
+ else
30
+ infov 'Result', result.label
31
+ end
32
+ end
33
+
34
+ def deploy_options
35
+ { reference: parsed.reference,
36
+ appended_directories: ::Avm::PathString.paths(parsed.append_dirs),
37
+ no_request_test: parsed.no_request_test? }
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacWebappBase0
5
- VERSION = '0.6.1'
5
+ VERSION = '0.8.0'
6
6
  end
7
7
  end
@@ -7,5 +7,5 @@
7
7
  Allow from all
8
8
  Options -MultiViews
9
9
  Require all granted
10
- </Directory>
10
+ %%DIRECTORY_EXTRA_CONFIG%% </Directory>
11
11
  </VirtualHost>
@@ -15,8 +15,8 @@ Gem::Specification.new do |s|
15
15
  s.executables = s.files.grep(%r{^exe/}) { |f| File.basename(f) }
16
16
 
17
17
  s.add_dependency 'aranha-parsers', '~> 0.14', '>= 0.14.1'
18
- s.add_dependency 'avm', '~> 0.41'
19
- s.add_dependency 'avm-eac_ruby_base1', '~> 0.20'
18
+ s.add_dependency 'avm', '~> 0.42'
19
+ s.add_dependency 'avm-eac_ruby_base1', '~> 0.20', '>= 0.20.1'
20
20
  s.add_dependency 'avm-eac_ubuntu_base0', '~> 0.3'
21
21
  s.add_dependency 'avm-files', '~> 0.3', '>= 0.3.2'
22
22
  s.add_dependency 'avm-git', '~> 0.4'
@@ -1,12 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/instances/entry_keys'
4
+ require 'avm/instances/runner'
4
5
  require 'eac_cli/core_ext'
5
6
 
6
7
  module Avm
7
8
  module Tools
8
9
  class Runner
9
- class Instance
10
+ class Instance < ::Avm::Instances::Runner
10
11
  class Info
11
12
  runner_with :help do
12
13
  desc 'Show info about a instance.'
@@ -1,31 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/instances/base'
4
+ require 'avm/instances/runner'
4
5
  require 'avm/registry'
5
6
  require 'eac_cli/core_ext'
6
7
 
7
8
  module Avm
8
9
  module Tools
9
10
  class Runner
10
- class Instance
11
+ class Instance < ::Avm::Instances::Runner
11
12
  require_sub __FILE__
12
- runner_with :help, :subcommands do
13
- desc 'Utilities for generic instances.'
14
- pos_arg :instance_id
15
- subcommands
16
- end
17
-
18
- def extra_available_subcommands
19
- instance.if_present({}, &:extra_available_subcommands)
20
- end
21
-
22
- private
23
-
24
- def instance_uncached
25
- parsed.instance_id.if_present do |v|
26
- ::Avm::Registry.instances.detect(v)
27
- end
28
- end
29
13
  end
30
14
  end
31
15
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module Tools
5
- VERSION = '0.135.0'
5
+ VERSION = '0.136.0'
6
6
  end
7
7
  end
@@ -3,6 +3,7 @@
3
3
  require 'active_support/core_ext/module/introspection'
4
4
  require 'eac_ruby_utils/patches/class/common_constructor'
5
5
  require 'eac_ruby_utils/patches/module/common_concern'
6
+ require 'eac_ruby_utils/patches/module/module_parent'
6
7
  require 'eac_ruby_utils/patches/string/inflector'
7
8
 
8
9
  module EacRubyUtils
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'active_support/core_ext/module/introspection'
4
+
5
+ ::Module.alias_method :module_parent, :parent unless ::Module.method_defined?(:module_parent)
@@ -2,7 +2,7 @@
2
2
 
3
3
  class Object
4
4
  def pretty_debug(options = {})
5
- print_debug_title(options)
5
+ print_debug_options(options)
6
6
 
7
7
  STDERR.write(pretty_inspect)
8
8
 
@@ -10,18 +10,22 @@ class Object
10
10
  end
11
11
 
12
12
  def print_debug(options = {})
13
- print_debug_title(options)
13
+ print_debug_options(options)
14
14
  STDERR.write(to_debug + "\n")
15
15
 
16
16
  self
17
17
  end
18
18
 
19
- def print_debug_title(title)
20
- if title.is_a?(::Hash)
21
- return unless title[:title]
19
+ def print_debug_label(label)
20
+ STDERR.write("#{label}: ")
21
+ end
22
22
 
23
- title = title[:title]
24
- end
23
+ def print_debug_options(options)
24
+ options[:title].if_present { |v| print_debug_title(v) }
25
+ options[:label].if_present { |v| print_debug_label(v) }
26
+ end
27
+
28
+ def print_debug_title(title)
25
29
  char = '='
26
30
  STDERR.write(char * (4 + title.length) + "\n")
27
31
  STDERR.write("#{char} #{title} #{char}\n")
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacRubyUtils
4
- VERSION = '0.102.0'
4
+ VERSION = '0.103.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eac_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.27.2
4
+ version: 0.29.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Put here the authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-06 00:00:00.000000000 Z
11
+ date: 2022-09-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: avm
@@ -16,40 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.41'
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: 0.41.1
19
+ version: '0.43'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - "~>"
28
25
  - !ruby/object:Gem::Version
29
- version: '0.41'
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: 0.41.1
26
+ version: '0.43'
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: avm-eac_asciidoctor_base0
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
31
  - - "~>"
38
32
  - !ruby/object:Gem::Version
39
- version: '0.6'
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- version: 0.6.1
33
+ version: '0.7'
43
34
  type: :runtime
44
35
  prerelease: false
45
36
  version_requirements: !ruby/object:Gem::Requirement
46
37
  requirements:
47
38
  - - "~>"
48
39
  - !ruby/object:Gem::Version
49
- version: '0.6'
50
- - - ">="
51
- - !ruby/object:Gem::Version
52
- version: 0.6.1
40
+ version: '0.7'
53
41
  - !ruby/object:Gem::Dependency
54
42
  name: avm-eac_generic_base0
55
43
  requirement: !ruby/object:Gem::Requirement
@@ -160,20 +148,14 @@ dependencies:
160
148
  requirements:
161
149
  - - "~>"
162
150
  - !ruby/object:Gem::Version
163
- version: '0.6'
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- version: 0.6.1
151
+ version: '0.8'
167
152
  type: :runtime
168
153
  prerelease: false
169
154
  version_requirements: !ruby/object:Gem::Requirement
170
155
  requirements:
171
156
  - - "~>"
172
157
  - !ruby/object:Gem::Version
173
- version: '0.6'
174
- - - ">="
175
- - !ruby/object:Gem::Version
176
- version: 0.6.1
158
+ version: '0.8'
177
159
  - !ruby/object:Gem::Dependency
178
160
  name: avm-eac_wordpress_base0
179
161
  requirement: !ruby/object:Gem::Requirement
@@ -194,28 +176,28 @@ dependencies:
194
176
  requirements:
195
177
  - - "~>"
196
178
  - !ruby/object:Gem::Version
197
- version: '0.135'
179
+ version: '0.136'
198
180
  type: :runtime
199
181
  prerelease: false
200
182
  version_requirements: !ruby/object:Gem::Requirement
201
183
  requirements:
202
184
  - - "~>"
203
185
  - !ruby/object:Gem::Version
204
- version: '0.135'
186
+ version: '0.136'
205
187
  - !ruby/object:Gem::Dependency
206
188
  name: eac_ruby_utils
207
189
  requirement: !ruby/object:Gem::Requirement
208
190
  requirements:
209
191
  - - "~>"
210
192
  - !ruby/object:Gem::Version
211
- version: '0.102'
193
+ version: '0.103'
212
194
  type: :runtime
213
195
  prerelease: false
214
196
  version_requirements: !ruby/object:Gem::Requirement
215
197
  requirements:
216
198
  - - "~>"
217
199
  - !ruby/object:Gem::Version
218
- version: '0.102'
200
+ version: '0.103'
219
201
  - !ruby/object:Gem::Dependency
220
202
  name: eac_ruby_gem_support
221
203
  requirement: !ruby/object:Gem::Requirement
@@ -243,11 +225,11 @@ files:
243
225
  - sub/avm-eac_asciidoctor_base0/Gemfile
244
226
  - sub/avm-eac_asciidoctor_base0/avm-eac_asciidoctor_base0.gemspec
245
227
  - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0.rb
246
- - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/apache_host.rb
247
- - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/apache_path.rb
248
- - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/deploy.rb
249
228
  - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances.rb
229
+ - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/apache_host.rb
230
+ - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/apache_path.rb
250
231
  - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/base.rb
232
+ - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/deploy.rb
251
233
  - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/runners.rb
252
234
  - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/runners/base.rb
253
235
  - sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources.rb
@@ -541,13 +523,13 @@ files:
541
523
  - sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base.rb
542
524
  - sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/subcommand_parent.rb
543
525
  - sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners.rb
526
+ - sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/apache_host.rb
527
+ - sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/apache_path.rb
544
528
  - sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/data.rb
545
529
  - sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/data/dump.rb
546
530
  - sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/data/load.rb
531
+ - sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/deploy.rb
547
532
  - sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner.rb
548
- - sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/apache_host.rb
549
- - sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/apache_path.rb
550
- - sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/deploy.rb
551
533
  - sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/sources.rb
552
534
  - sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/sources/base.rb
553
535
  - sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb
@@ -787,7 +769,6 @@ files:
787
769
  - sub/avm/lib/avm/instances.rb
788
770
  - sub/avm/lib/avm/instances/base.rb
789
771
  - sub/avm/lib/avm/instances/base/auto_values.rb
790
- - sub/avm/lib/avm/instances/base/auto_values/admin.rb
791
772
  - sub/avm/lib/avm/instances/base/auto_values/data.rb
792
773
  - sub/avm/lib/avm/instances/base/auto_values/database.rb
793
774
  - sub/avm/lib/avm/instances/base/auto_values/install.rb
@@ -1150,6 +1131,7 @@ files:
1150
1131
  - sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/immutable.rb
1151
1132
  - sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/listable.rb
1152
1133
  - sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/method_class.rb
1134
+ - sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/module_parent.rb
1153
1135
  - sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/patch.rb
1154
1136
  - sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/require_sub.rb
1155
1137
  - sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/simple_cache.rb
@@ -1,19 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Instances
5
- class Base
6
- module AutoValues
7
- module Admin
8
- def auto_admin_email
9
- inherited_entry_value(::Avm::Instances::EntryKeys::INSTALL_ID, 'admin.email')
10
- end
11
-
12
- def auto_admin_name
13
- inherited_entry_value(::Avm::Instances::EntryKeys::INSTALL_ID, 'admin.name')
14
- end
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_webapp_base0/apache_host'
4
-
5
- module Avm
6
- module EacAsciidoctorBase0
7
- class ApacheHost < ::Avm::EacWebappBase0::ApacheHost
8
- def document_root
9
- instance.read_entry(::Avm::Instances::EntryKeys::INSTALL_PATH)
10
- end
11
-
12
- def extra_content
13
- ''
14
- end
15
- end
16
- end
17
- end
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_webapp_base0/deploy'
4
- require 'avm/eac_asciidoctor_base0/sources/base'
5
- require 'avm/eac_asciidoctor_base0/sources/build'
6
-
7
- module Avm
8
- module EacAsciidoctorBase0
9
- class Deploy < ::Avm::EacWebappBase0::Deploy
10
- def build_content
11
- ::Avm::EacAsciidoctorBase0::Sources::Build.new(
12
- project,
13
- ::Avm::EacAsciidoctorBase0::Sources::Build::OPTION_TARGET_DIRECTORY => build_dir
14
- ).run
15
- end
16
-
17
- private
18
-
19
- def project_uncached
20
- ::Avm::EacAsciidoctorBase0::Sources::Base.new(
21
- instance.source_instance.read_entry(::Avm::Instances::EntryKeys::INSTALL_PATH)
22
- )
23
- end
24
- end
25
- end
26
- end
@@ -1,35 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/instances/runner'
4
- require 'eac_cli/core_ext'
5
-
6
- module Avm
7
- module EacWebappBase0
8
- class Runner < ::Avm::Instances::Runner
9
- class ApacheHost
10
- runner_with :help do
11
- desc 'Configure Apache virtual host for instance.'
12
- bool_opt '-c', '--certbot', 'Install certbot.'
13
- end
14
-
15
- def run
16
- result = stereotype_apache_host_class.new(runner_context.call(:instance),
17
- stereotype_apache_host_options).run
18
- if result.error?
19
- fatal_error result.to_s
20
- else
21
- infov 'Result', result.label
22
- end
23
- end
24
-
25
- def stereotype_apache_host_class
26
- "#{runner_context.call(:instance).class.name.deconstantize}::ApacheHost".constantize
27
- end
28
-
29
- def stereotype_apache_host_options
30
- { certbot: parsed.certbot? }
31
- end
32
- end
33
- end
34
- end
35
- end
@@ -1,40 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_cli/core_ext'
4
- require 'avm/instances/runner'
5
- require 'avm/eac_webapp_base0/runner/apache_host'
6
- require 'avm/eac_rails_base0/apache_path'
7
-
8
- module Avm
9
- module EacWebappBase0
10
- class Runner < ::Avm::Instances::Runner
11
- class ApachePath
12
- runner_with :help do
13
- desc 'Configure Apache path configuration for instance.'
14
- end
15
-
16
- def run
17
- if result.error?
18
- fatal_error result.to_s
19
- else
20
- infov 'Result', result.label
21
- end
22
- end
23
-
24
- private
25
-
26
- def apache_path_uncached
27
- stereotype_apache_path_class.new(runner_context.call(:instance))
28
- end
29
-
30
- def result_uncached
31
- apache_path.run
32
- end
33
-
34
- def stereotype_apache_path_class
35
- "#{runner_context.call(:instance).class.name.deconstantize}::ApachePath".constantize
36
- end
37
- end
38
- end
39
- end
40
- end
@@ -1,41 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/instances/runner'
4
- require 'avm/path_string'
5
- require 'eac_cli/core_ext'
6
-
7
- module Avm
8
- module EacWebappBase0
9
- class Runner < ::Avm::Instances::Runner
10
- class Deploy
11
- runner_with :help do
12
- desc 'Deploy for instance.'
13
- arg_opt '-r', '--reference', 'Git reference to deploy.'
14
- arg_opt '-a', '--append-dirs', 'Append directories to deploy (List separated by ":").'
15
- bool_opt '-T', '--no-request-test', 'Do not test web interface after deploy.'
16
- end
17
-
18
- def deploy_class
19
- runner_context.call(:stereotype_module).const_get('Instances').const_get('Deploy')
20
- rescue ::NameError
21
- runner_context.call(:stereotype_module).const_get('Deploy')
22
- end
23
-
24
- def run
25
- result = deploy_class.new(runner_context.call(:instance), deploy_options).run
26
- if result.error?
27
- fatal_error result.to_s
28
- else
29
- infov 'Result', result.label
30
- end
31
- end
32
-
33
- def deploy_options
34
- { reference: parsed.reference,
35
- appended_directories: ::Avm::PathString.paths(parsed.append_dirs),
36
- no_request_test: parsed.no_request_test? }
37
- end
38
- end
39
- end
40
- end
41
- end