avm-tools 0.154.0 → 0.155.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 52c59965a5479bfb942ba27eee544059b02acdc43c68051d09e63b0e6ee07ef7
4
- data.tar.gz: 19798b01a4c984c367cb88916510d8209a5123c39c082d591d05eaf99cd2eafd
3
+ metadata.gz: b10be0d297c764a5017d6efeda6e2579d1c357b4f2aba4244945a71c6413cecd
4
+ data.tar.gz: 04d00706c47e85dbd52d1b557d4f89b8b479929b8f5224f5285297998f5980c1
5
5
  SHA512:
6
- metadata.gz: 27ccd30c21a722f7616cd15e3af397dbdb226049224e63e98a1e4f9c618a239451a91dfeb0b820f0cad82223071195bd1aeeef46af429eef1ff9d0859e962f92
7
- data.tar.gz: 4b376eecb71182705d92c1c3eb10b2961a0cf88b4f774b59b787bbbb60b5b8d3a4cf242485911a944ed59c254a65a2350536ed80c73732bf04e759e290790d14
6
+ metadata.gz: 010b372df4847200c05968eb390013cadac7138372e73554d7086c435d9983687efc69d891eb6eed02d4c03793ba46135075987db8ea442422ea285d10e12b22
7
+ data.tar.gz: f88f22d3bc4645de314c8e3c8eea6a1ec8752841e1bbdd0209228e5b33e54007ddbc875fc4b399009c25bae8f862021c571c26a6e21e21ebd2d985a22795ff0f
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_base0/core_ext'
4
+
5
+ module Avm
6
+ module Tools
7
+ class Runner
8
+ class Instance < ::Avm::Instances::Runner
9
+ class System
10
+ ENVVAR_PARSER = /\A([^=]+)=(.+)\z/.to_parser do |m|
11
+ ::Struct.new(:name, :value).new(m[1].strip, m[2].strip)
12
+ end
13
+
14
+ runner_with :help do
15
+ desc 'Execute a command in the instance\'s environment.'
16
+ arg_opt '-C', '--chdir'
17
+ arg_opt '-e', '--envvar', repeat: true
18
+ pos_arg :command_args, required: true, repeat: true
19
+ end
20
+
21
+ delegate :command_args, to: :parsed
22
+
23
+ def run
24
+ start_banner
25
+ run_command
26
+ end
27
+
28
+ # @return [Pathname]
29
+ def chdir
30
+ (parsed.chdir || instance.install_path).to_pathname
31
+ end
32
+
33
+ private
34
+
35
+ # @return [EacRubyUtils::Envs::Command]
36
+ def command_without_envvars
37
+ instance.host_env.command(*command_args).chdir(chdir)
38
+ end
39
+
40
+ # @return [EacRubyUtils::Envs::Command]
41
+ def command
42
+ envvars.inject(command_without_envvars) { |a, e| a.envvar(e.name, e.value) }
43
+ end
44
+
45
+ # @return [Hash<String, String>]
46
+ def envvars
47
+ parsed.envvar.map { |v| ENVVAR_PARSER.parse!(v) }
48
+ end
49
+
50
+ def run_command
51
+ command.system!
52
+ end
53
+
54
+ def start_banner
55
+ infov 'Instance', instance
56
+ infov 'Environment', instance.host_env
57
+ infov 'Directory', chdir
58
+ infov 'Envvars', envvars.map { |e| "#{e.name}=#{e.value}" }.join(', ')
59
+ infov 'Command', ::Shellwords.join(command_args)
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -11,10 +11,10 @@ module Avm
11
11
  class Complete
12
12
  runner_with :confirmation, :help do
13
13
  desc 'Closes a issue in a Git repository.'
14
- bool_opt '-f', '--uncomplete-unfail', 'Do not exit with error if issue is not' \
15
- ' completed or is invalid.'
16
- arg_opt '-s', '--skip-validations', 'Does not validate conditions on <validations>' \
17
- ' (Comma separated value).'
14
+ bool_opt '-f', '--uncomplete-unfail', 'Do not exit with error if issue is not ' \
15
+ 'completed or is invalid.'
16
+ arg_opt '-s', '--skip-validations', 'Does not validate conditions on <validations> ' \
17
+ '(Comma separated value).'
18
18
  end
19
19
 
20
20
  def run
@@ -25,7 +25,7 @@ module Avm
25
25
 
26
26
  DUMP_EXPIRE_TIME = 1.day
27
27
  NO_DUMP_MESSAGE = 'Dump "%s" already exist and rewrite options was no setted nor ' \
28
- 'dump was expired.'
28
+ 'dump was expired.'
29
29
 
30
30
  # @return [Class]
31
31
  def data_performer_class
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module Tools
5
- VERSION = '0.154.0'
5
+ VERSION = '0.155.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avm-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.154.0
4
+ version: 0.155.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esquilo Azul Company
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-07-03 00:00:00.000000000 Z
11
+ date: 2023-10-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aranha-parsers
@@ -44,20 +44,20 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.30'
47
+ version: '0.31'
48
48
  - - ">="
49
49
  - !ruby/object:Gem::Version
50
- version: 0.30.3
50
+ version: 0.31.2
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
54
54
  requirements:
55
55
  - - "~>"
56
56
  - !ruby/object:Gem::Version
57
- version: '0.30'
57
+ version: '0.31'
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
- version: 0.30.3
60
+ version: 0.31.2
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: avm-eac_ubuntu_base0
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -101,7 +101,7 @@ dependencies:
101
101
  version: '0.13'
102
102
  - - ">="
103
103
  - !ruby/object:Gem::Version
104
- version: 0.13.3
104
+ version: 0.13.4
105
105
  type: :runtime
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
@@ -111,7 +111,7 @@ dependencies:
111
111
  version: '0.13'
112
112
  - - ">="
113
113
  - !ruby/object:Gem::Version
114
- version: 0.13.3
114
+ version: 0.13.4
115
115
  - !ruby/object:Gem::Dependency
116
116
  name: clipboard
117
117
  requirement: !ruby/object:Gem::Requirement
@@ -234,14 +234,14 @@ dependencies:
234
234
  requirements:
235
235
  - - "~>"
236
236
  - !ruby/object:Gem::Version
237
- version: 0.5.1
237
+ version: 0.8.1
238
238
  type: :development
239
239
  prerelease: false
240
240
  version_requirements: !ruby/object:Gem::Requirement
241
241
  requirements:
242
242
  - - "~>"
243
243
  - !ruby/object:Gem::Version
244
- version: 0.5.1
244
+ version: 0.8.1
245
245
  description:
246
246
  email:
247
247
  executables:
@@ -285,6 +285,7 @@ files:
285
285
  - lib/avm/tools/runner/instance/data/unit/load.rb
286
286
  - lib/avm/tools/runner/instance/entry.rb
287
287
  - lib/avm/tools/runner/instance/info.rb
288
+ - lib/avm/tools/runner/instance/system.rb
288
289
  - lib/avm/tools/runner/launcher.rb
289
290
  - lib/avm/tools/runner/launcher/instances.rb
290
291
  - lib/avm/tools/runner/launcher/projects.rb
@@ -326,7 +327,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
326
327
  requirements:
327
328
  - - ">="
328
329
  - !ruby/object:Gem::Version
329
- version: '0'
330
+ version: 2.7.0
330
331
  required_rubygems_version: !ruby/object:Gem::Requirement
331
332
  requirements:
332
333
  - - ">="