eac_tools 0.117.1 → 0.117.3
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 +32 -32
- data/eac_tools.gemspec +6 -6
- data/lib/eac_tools/version.rb +1 -1
- data/sub/avm/.gitrepo +6 -11
- data/sub/avm/avm.gemspec +3 -3
- data/sub/avm/lib/avm/launcher/instances/base/publishing.rb +1 -1
- data/sub/avm/lib/avm/version.rb +1 -1
- data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +3 -3
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish/internal_check.rb +2 -1
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish.rb +3 -2
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec/source_generator.rb +2 -2
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/base/command_result_to_push_result.rb +39 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/base.rb +15 -2
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/rubygems_org.rb +5 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/dependencies.rb +1 -1
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/root_module.rb +6 -6
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/update.rb +1 -1
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +1 -1
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec.rb +1 -1
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/dashed-mygem.gemspec +1 -1
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem.rb +2 -7
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/lib/mygem.rb +2 -5
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/mygem.gemspec +1 -1
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/lib/mygem.rb +2 -2
- data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/root_lib.template +2 -6
- data/sub/avm-tools/.avm.yaml +2 -0
- data/sub/avm-tools/.gitignore +3 -0
- data/sub/avm-tools/.gitrepo +7 -0
- data/sub/avm-tools/.rspec +1 -0
- data/sub/avm-tools/README.textile +28 -0
- data/sub/avm-tools/avm-tools.gemspec +24 -0
- data/sub/avm-tools/exe/avm +6 -0
- data/sub/avm-tools/lib/avm/tools/rspec/helpers/runner.rb +19 -0
- data/sub/avm-tools/lib/avm/tools/rspec/setup.rb +21 -0
- data/sub/avm-tools/lib/avm/tools/runner/application/info.rb +34 -0
- data/sub/avm-tools/lib/avm/tools/runner/application.rb +21 -0
- data/sub/avm-tools/lib/avm/tools/runner/application_stereotypes/list.rb +29 -0
- data/sub/avm-tools/lib/avm/tools/runner/application_stereotypes.rb +13 -0
- data/sub/avm-tools/lib/avm/tools/runner/applications/list.rb +29 -0
- data/sub/avm-tools/lib/avm/tools/runner/applications.rb +13 -0
- data/sub/avm-tools/lib/avm/tools/runner/config/load_path.rb +48 -0
- data/sub/avm-tools/lib/avm/tools/runner/config.rb +14 -0
- data/sub/avm-tools/lib/avm/tools/runner/files/format.rb +46 -0
- data/sub/avm-tools/lib/avm/tools/runner/files/rotate.rb +28 -0
- data/sub/avm-tools/lib/avm/tools/runner/files.rb +14 -0
- data/sub/avm-tools/lib/avm/tools/runner/instance/data/clear.rb +15 -0
- data/sub/avm-tools/lib/avm/tools/runner/instance/data/dump.rb +17 -0
- data/sub/avm-tools/lib/avm/tools/runner/instance/data/load.rb +22 -0
- data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/clear.rb +17 -0
- data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/dump.rb +17 -0
- data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/load.rb +22 -0
- data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit.rb +40 -0
- data/sub/avm-tools/lib/avm/tools/runner/instance/data.rb +23 -0
- data/sub/avm-tools/lib/avm/tools/runner/instance/entry.rb +41 -0
- data/sub/avm-tools/lib/avm/tools/runner/instance/info.rb +35 -0
- data/sub/avm-tools/lib/avm/tools/runner/instance/system.rb +63 -0
- data/sub/avm-tools/lib/avm/tools/runner/instance.rb +10 -0
- data/sub/avm-tools/lib/avm/tools/runner/launcher/instances.rb +34 -0
- data/sub/avm-tools/lib/avm/tools/runner/launcher/projects.rb +37 -0
- data/sub/avm-tools/lib/avm/tools/runner/launcher/publish.rb +52 -0
- data/sub/avm-tools/lib/avm/tools/runner/launcher.rb +14 -0
- data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes/list.rb +38 -0
- data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes.rb +13 -0
- data/sub/avm-tools/lib/avm/tools/runner/self/docker.rb +12 -0
- data/sub/avm-tools/lib/avm/tools/runner/self/registry.rb +22 -0
- data/sub/avm-tools/lib/avm/tools/runner/self.rb +18 -0
- data/sub/avm-tools/lib/avm/tools/runner/source/auto_commit.rb +67 -0
- data/sub/avm-tools/lib/avm/tools/runner/source/info.rb +54 -0
- data/sub/avm-tools/lib/avm/tools/runner/source/issue/complete.rb +85 -0
- data/sub/avm-tools/lib/avm/tools/runner/source/issue/deliver.rb +32 -0
- data/sub/avm-tools/lib/avm/tools/runner/source/issue.rb +16 -0
- data/sub/avm-tools/lib/avm/tools/runner/source/sub/remove.rb +20 -0
- data/sub/avm-tools/lib/avm/tools/runner/source/sub.rb +25 -0
- data/sub/avm-tools/lib/avm/tools/runner/source/subs.rb +70 -0
- data/sub/avm-tools/lib/avm/tools/runner/source/test.rb +90 -0
- data/sub/avm-tools/lib/avm/tools/runner/source/update.rb +20 -0
- data/sub/avm-tools/lib/avm/tools/runner/source/version_bump.rb +78 -0
- data/sub/avm-tools/lib/avm/tools/runner/source.rb +13 -0
- data/sub/avm-tools/lib/avm/tools/runner/source_generate.rb +10 -0
- data/sub/avm-tools/lib/avm/tools/runner.rb +19 -0
- data/sub/avm-tools/lib/avm/tools/runner_with/include_exclude.rb +20 -0
- data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_clear.rb +19 -0
- data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb +55 -0
- data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_load.rb +64 -0
- data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_performer.rb +37 -0
- data/sub/avm-tools/lib/avm/tools/self.rb +17 -0
- data/sub/avm-tools/lib/avm/tools/version.rb +7 -0
- data/sub/avm-tools/lib/avm/tools.rb +6 -0
- data/sub/avm-tools/spec/lib/avm/tools/runner/files/rotate_spec.rb +71 -0
- data/sub/avm-tools/spec/lib/avm/tools/runner/launcher_stereotypes/list_spec.rb +15 -0
- data/sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb +47 -0
- data/sub/avm-tools/spec/lib/avm/tools/runner_spec.rb +12 -0
- data/sub/{eac_ruby_base1 → avm-tools}/spec/spec_helper.rb +3 -1
- metadata +95 -40
- data/sub/avm/spec/meta/rubocop_spec.rb +0 -3
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/spec/meta/rubocop_spec.rb +0 -3
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/spec/meta/rubocop_spec.rb +0 -3
- data/sub/avm-eac_ruby_base1/spec/meta/rubocop_spec.rb +0 -3
- data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/spec/meta/rubocop_spec.rb +0 -3
- data/sub/eac_ruby_base1/.gitignore +0 -2
- data/sub/eac_ruby_base1/.rspec +0 -1
- data/sub/eac_ruby_base1/eac_ruby_base1.gemspec +0 -21
- data/sub/eac_ruby_base1/lib/eac_ruby_base1/root_module_setup/ignore.rb +0 -57
- data/sub/eac_ruby_base1/lib/eac_ruby_base1/root_module_setup/patches.rb +0 -19
- data/sub/eac_ruby_base1/lib/eac_ruby_base1/root_module_setup/paths.rb +0 -38
- data/sub/eac_ruby_base1/lib/eac_ruby_base1/root_module_setup/require_patch.rb +0 -44
- data/sub/eac_ruby_base1/lib/eac_ruby_base1/root_module_setup/requires.rb +0 -25
- data/sub/eac_ruby_base1/lib/eac_ruby_base1/root_module_setup/zeitwerk.rb +0 -35
- data/sub/eac_ruby_base1/lib/eac_ruby_base1/root_module_setup.rb +0 -68
- data/sub/eac_ruby_base1/lib/eac_ruby_base1/version.rb +0 -5
- data/sub/eac_ruby_base1/lib/eac_ruby_base1.rb +0 -5
- data/sub/eac_ruby_base1/spec/lib/eac_ruby_base1/root_module_setup_spec.rb +0 -43
- data/sub/eac_ruby_base1/spec/meta/rubocop_spec.rb +0 -3
- /data/sub/{eac_ruby_base1 → avm-tools}/.rubocop.yml +0 -0
- /data/sub/{eac_ruby_base1 → avm-tools}/Gemfile +0 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Avm
|
|
4
|
+
module Tools
|
|
5
|
+
module Rspec
|
|
6
|
+
module Setup
|
|
7
|
+
extend ::ActiveSupport::Concern
|
|
8
|
+
|
|
9
|
+
SETUPS = %w[helpers].freeze
|
|
10
|
+
|
|
11
|
+
def self.extended(setup_obj)
|
|
12
|
+
SETUPS.each { |s| setup_obj.send("setup_#{s}") }
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def setup_helpers
|
|
16
|
+
rspec_config.include ::Avm::Tools::Rspec::Helpers::Runner
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Avm
|
|
4
|
+
module Tools
|
|
5
|
+
class Runner
|
|
6
|
+
class Application
|
|
7
|
+
class Info
|
|
8
|
+
APPLICATION_PROPERTIES = {
|
|
9
|
+
id: 'ID',
|
|
10
|
+
name: 'Name',
|
|
11
|
+
organization: 'Organization',
|
|
12
|
+
scm: 'SCM',
|
|
13
|
+
stereotype: 'Stereotype'
|
|
14
|
+
}.freeze
|
|
15
|
+
|
|
16
|
+
runner_with :help, :output_item do
|
|
17
|
+
desc 'Show information about application.'
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def run
|
|
21
|
+
run_output
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# @return [Hash]
|
|
25
|
+
def item_hash
|
|
26
|
+
APPLICATION_PROPERTIES.inject({}) do |a, e|
|
|
27
|
+
a.merge(e.last => application.send(e.first).to_s)
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Avm
|
|
4
|
+
module Tools
|
|
5
|
+
class Runner
|
|
6
|
+
class Application
|
|
7
|
+
runner_with :help, :subcommands do
|
|
8
|
+
pos_arg :application_id
|
|
9
|
+
subcommands
|
|
10
|
+
end
|
|
11
|
+
for_context :application
|
|
12
|
+
|
|
13
|
+
private
|
|
14
|
+
|
|
15
|
+
def application_uncached
|
|
16
|
+
::Avm::Registry.applications.detect(parsed.application_id)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Avm
|
|
4
|
+
module Tools
|
|
5
|
+
class Runner
|
|
6
|
+
class ApplicationStereotypes
|
|
7
|
+
class List
|
|
8
|
+
runner_with :help, :output
|
|
9
|
+
|
|
10
|
+
def run
|
|
11
|
+
infov 'Found', stereotypes.count
|
|
12
|
+
run_output
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def output_content
|
|
16
|
+
stereotypes.map { |s| "#{s}\n" }.join
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
private
|
|
20
|
+
|
|
21
|
+
def stereotypes
|
|
22
|
+
::Avm::Registry.application_stereotypes.available
|
|
23
|
+
.sort_by { |s| [s.name, s.namespace_module] }
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Avm
|
|
4
|
+
module Tools
|
|
5
|
+
class Runner
|
|
6
|
+
class Applications
|
|
7
|
+
class List
|
|
8
|
+
runner_with :help, :output
|
|
9
|
+
|
|
10
|
+
def run
|
|
11
|
+
infov 'Found', applications.count
|
|
12
|
+
run_output
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def output_content
|
|
16
|
+
applications.map { |s| "#{s}\n" }.join
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
private
|
|
20
|
+
|
|
21
|
+
def applications_uncached
|
|
22
|
+
::Avm::Registry.applications.available
|
|
23
|
+
.sort_by { |s| [s.id] }
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Avm
|
|
4
|
+
module Tools
|
|
5
|
+
class Runner
|
|
6
|
+
class Config
|
|
7
|
+
class LoadPath
|
|
8
|
+
runner_with :help do
|
|
9
|
+
desc 'Manipulate include path.'
|
|
10
|
+
arg_opt '-p', '--push', 'Add a path.'
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def run
|
|
14
|
+
config_nodes.each { |config_node| run_show(config_node) }
|
|
15
|
+
run_add
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
private
|
|
19
|
+
|
|
20
|
+
# @return [[EacCli::Config]]
|
|
21
|
+
def root_config_node
|
|
22
|
+
::EacConfig::Node.context.current
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def config_nodes
|
|
26
|
+
::EacRubyUtils::RecursiveBuilder.new(root_config_node, &:self_loaded_nodes).result
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def run_add
|
|
30
|
+
parsed.push.if_present do |v|
|
|
31
|
+
infov 'Path to add', v
|
|
32
|
+
root_config_node.write_node.load_path.push(v)
|
|
33
|
+
success 'Path included'
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def run_show(config_node)
|
|
38
|
+
infov 'Configuration path', config_node.url
|
|
39
|
+
infov 'Paths included', config_node.self_loaded_nodes.count
|
|
40
|
+
config_node.self_loaded_nodes.each do |loaded_node|
|
|
41
|
+
infov ' * ', loaded_node.url
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Avm
|
|
4
|
+
module Tools
|
|
5
|
+
class Runner
|
|
6
|
+
class Files
|
|
7
|
+
class Format
|
|
8
|
+
runner_with :help do
|
|
9
|
+
desc 'Format files.'
|
|
10
|
+
bool_opt '-a', '--apply', 'Confirm changes.'
|
|
11
|
+
bool_opt '-n', '--no-recursive', 'No recursive.'
|
|
12
|
+
bool_opt '-q', '--quiet', 'Do not output messages.'
|
|
13
|
+
bool_opt '-d', '--dirty', 'Select modified files to format.'
|
|
14
|
+
pos_arg :paths, repeat: true, optional: true
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def run
|
|
18
|
+
::Avm::FileFormats::SearchFormatter.new(source_paths, formatter_options).run
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def formatter_options
|
|
22
|
+
{ ::Avm::FileFormats::SearchFormatter::OPTION_APPLY => parsed.apply?,
|
|
23
|
+
::Avm::FileFormats::SearchFormatter::OPTION_RECURSIVE => !parsed.no_recursive?,
|
|
24
|
+
::Avm::FileFormats::SearchFormatter::OPTION_VERBOSE => !parsed.quiet? }
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def scm
|
|
28
|
+
@scm ||= ::Avm::Registry.scms.detect('.')
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def dirty_files
|
|
32
|
+
scm.changed_files.map(&:absolute_path).select(&:exist?).map(&:to_path)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def source_paths
|
|
36
|
+
if parsed.dirty?
|
|
37
|
+
parsed.paths + dirty_files
|
|
38
|
+
else
|
|
39
|
+
parsed.paths.if_present(%w[.])
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Avm
|
|
4
|
+
module Tools
|
|
5
|
+
class Runner
|
|
6
|
+
class Files
|
|
7
|
+
class Rotate
|
|
8
|
+
runner_with :help do
|
|
9
|
+
desc 'Rotates a file (Like a backup).'
|
|
10
|
+
arg_opt '-L', '--space-limit', 'Limit by <space> the space used by rotated files.'
|
|
11
|
+
pos_arg :path
|
|
12
|
+
end
|
|
13
|
+
def run
|
|
14
|
+
error_message = rotate.run
|
|
15
|
+
fatal_error(error_message) if error_message
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def rotate
|
|
19
|
+
@rotate ||= ::Avm::Data::Rotate.new(
|
|
20
|
+
parsed.path,
|
|
21
|
+
space_limit: parsed.space_limit
|
|
22
|
+
)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Avm
|
|
4
|
+
module Tools
|
|
5
|
+
class Runner
|
|
6
|
+
class Instance < ::Avm::Instances::Runner
|
|
7
|
+
class Data
|
|
8
|
+
class Dump
|
|
9
|
+
runner_with :help, :include_exclude, :instance_data_dump do
|
|
10
|
+
desc 'Dump utility for instance.'
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Avm
|
|
4
|
+
module Tools
|
|
5
|
+
class Runner
|
|
6
|
+
class Instance < ::Avm::Instances::Runner
|
|
7
|
+
class Data
|
|
8
|
+
class Load
|
|
9
|
+
runner_with :help, :include_exclude, :instance_data_load do
|
|
10
|
+
desc 'Load utility for instance.'
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# @return [Avm::Instances::Data::Package]
|
|
14
|
+
def source_instance_data_owner
|
|
15
|
+
source_instance.data_package
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Avm
|
|
4
|
+
module Tools
|
|
5
|
+
class Runner
|
|
6
|
+
class Instance < ::Avm::Instances::Runner
|
|
7
|
+
class Data
|
|
8
|
+
class Unit
|
|
9
|
+
class Clear
|
|
10
|
+
runner_with :help, :instance_data_clear
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Avm
|
|
4
|
+
module Tools
|
|
5
|
+
class Runner
|
|
6
|
+
class Instance < ::Avm::Instances::Runner
|
|
7
|
+
class Data
|
|
8
|
+
class Unit
|
|
9
|
+
class Dump
|
|
10
|
+
runner_with :help, :instance_data_dump
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Avm
|
|
4
|
+
module Tools
|
|
5
|
+
class Runner
|
|
6
|
+
class Instance < ::Avm::Instances::Runner
|
|
7
|
+
class Data
|
|
8
|
+
class Unit
|
|
9
|
+
class Load
|
|
10
|
+
runner_with :help, :instance_data_load
|
|
11
|
+
|
|
12
|
+
# @return [Avm::Instances::Data::Unit]
|
|
13
|
+
def source_instance_data_owner
|
|
14
|
+
source_instance.data_package.unit(data_owner.identifier)
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Avm
|
|
4
|
+
module Tools
|
|
5
|
+
class Runner
|
|
6
|
+
class Instance < ::Avm::Instances::Runner
|
|
7
|
+
class Data
|
|
8
|
+
class Unit
|
|
9
|
+
runner_with :help, :subcommands do
|
|
10
|
+
pos_arg :identifier
|
|
11
|
+
subcommands
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
for_context :data_owner
|
|
15
|
+
|
|
16
|
+
# @return [Enumerable<String>]
|
|
17
|
+
def available_units_ids
|
|
18
|
+
data_package.units_ids
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# @return [Avm::Instances::Data::Package]
|
|
22
|
+
def data_package
|
|
23
|
+
runner_context.call(:instance).data_package
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# @return [Avm::Instances::Data::Unit]
|
|
27
|
+
def data_owner
|
|
28
|
+
data_package.unit(parsed.identifier)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# @return [String]
|
|
32
|
+
def help_extra_text
|
|
33
|
+
help_join_sections(super, list_section('Available units', available_units_ids))
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Avm
|
|
4
|
+
module Tools
|
|
5
|
+
class Runner
|
|
6
|
+
class Instance < ::Avm::Instances::Runner
|
|
7
|
+
class Data
|
|
8
|
+
runner_with :help, :subcommands do
|
|
9
|
+
desc 'Data utilities for EacRailsBase0 instances.'
|
|
10
|
+
subcommands
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
for_context :data_owner
|
|
14
|
+
|
|
15
|
+
# @return [Avm::Instances::Data::Package]
|
|
16
|
+
def data_owner
|
|
17
|
+
instance.data_package
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Avm
|
|
4
|
+
module Tools
|
|
5
|
+
class Runner
|
|
6
|
+
class Instance < ::Avm::Instances::Runner
|
|
7
|
+
class Entry
|
|
8
|
+
runner_with :help, :output do
|
|
9
|
+
desc 'Retorna valor de uma entrada de instância AVM.'
|
|
10
|
+
bool_opt '-d', '--debug'
|
|
11
|
+
pos_arg :envvar_suffix, repeat: true
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def run
|
|
15
|
+
debug
|
|
16
|
+
run_output
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def output_content
|
|
20
|
+
parsed.envvar_suffix.map { |entry_key| "#{instance.entry(entry_key).value}\n" }.join
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def debug
|
|
24
|
+
return unless parsed.debug?
|
|
25
|
+
|
|
26
|
+
parsed.envvar_suffix.map { |entry_key| debug_entry(entry_key) }
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def debug_entry(entry_key)
|
|
30
|
+
infov 'Entry key', entry_key
|
|
31
|
+
e = instance.entry(entry_key)
|
|
32
|
+
infov ' * Type', e.class
|
|
33
|
+
infov ' * Full path', e.full_path
|
|
34
|
+
infov ' * Found?', e.context_found?
|
|
35
|
+
infov ' * Value', e.value
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Avm
|
|
4
|
+
module Tools
|
|
5
|
+
class Runner
|
|
6
|
+
class Instance < ::Avm::Instances::Runner
|
|
7
|
+
class Info
|
|
8
|
+
runner_with :help do
|
|
9
|
+
desc 'Show info about a instance.'
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def run
|
|
13
|
+
base_banner
|
|
14
|
+
entry_keys_banner
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
private
|
|
18
|
+
|
|
19
|
+
def base_banner
|
|
20
|
+
infov 'ID', instance.id
|
|
21
|
+
infov 'Application ID', instance.application.id
|
|
22
|
+
infov 'Application stereotype', instance.application.stereotype
|
|
23
|
+
infov 'Suffix', instance.suffix
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def entry_keys_banner
|
|
27
|
+
instance.entry_keys.each do |key|
|
|
28
|
+
infov key, instance.read_entry_optional(key)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Avm
|
|
4
|
+
module Tools
|
|
5
|
+
class Runner
|
|
6
|
+
class Instance < ::Avm::Instances::Runner
|
|
7
|
+
class System
|
|
8
|
+
ENVVAR_PARSER = /\A([^=]+)=(.+)\z/.to_parser do |m|
|
|
9
|
+
::Struct.new(:name, :value).new(m[1].strip, m[2].strip)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
runner_with :help do
|
|
13
|
+
desc 'Execute a command in the instance\'s environment.'
|
|
14
|
+
arg_opt '-C', '--chdir'
|
|
15
|
+
arg_opt '-e', '--envvar', repeat: true
|
|
16
|
+
pos_arg :command_args, required: true, repeat: true
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
delegate :command_args, to: :parsed
|
|
20
|
+
|
|
21
|
+
def run
|
|
22
|
+
start_banner
|
|
23
|
+
run_command
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# @return [Pathname]
|
|
27
|
+
def chdir
|
|
28
|
+
(parsed.chdir || instance.install_path).to_pathname
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
private
|
|
32
|
+
|
|
33
|
+
# @return [EacRubyUtils::Envs::Command]
|
|
34
|
+
def command_without_envvars
|
|
35
|
+
instance.host_env.command(*command_args).chdir(chdir)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# @return [EacRubyUtils::Envs::Command]
|
|
39
|
+
def command
|
|
40
|
+
envvars.inject(command_without_envvars) { |a, e| a.envvar(e.name, e.value) }
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# @return [Hash<String, String>]
|
|
44
|
+
def envvars
|
|
45
|
+
parsed.envvar.map { |v| ENVVAR_PARSER.parse!(v) }
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def run_command
|
|
49
|
+
command.system!
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def start_banner
|
|
53
|
+
infov 'Instance', instance
|
|
54
|
+
infov 'Environment', instance.host_env
|
|
55
|
+
infov 'Directory', chdir
|
|
56
|
+
infov 'Envvars', envvars.map { |e| "#{e.name}=#{e.value}" }.join(', ')
|
|
57
|
+
infov 'Command', ::Shellwords.join(command_args)
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|