eac_tools 0.16.1 → 0.17.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +8 -8
- data/lib/eac_tools/version.rb +1 -1
- data/sub/avm/lib/avm/registry/source_generators.rb +3 -2
- data/sub/avm/lib/avm/source_generators/base.rb +16 -1
- data/sub/avm/lib/avm/source_generators/option.rb +11 -0
- data/sub/avm/lib/avm/source_generators/option_list.rb +32 -0
- data/sub/avm/lib/avm/source_generators/runner.rb +52 -0
- data/sub/avm/lib/avm/sources/runner.rb +38 -0
- data/sub/avm/lib/avm/version.rb +1 -1
- data/sub/avm/spec/lib/avm/sources/runner_spec.rb +9 -0
- data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +2 -2
- data/sub/{avm-tools/lib/avm/ruby/gems/generator.rb → avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base.rb} +27 -16
- data/sub/{avm-tools/lib/avm/ruby/bundler.rb → avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators.rb} +2 -2
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +1 -1
- data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec.rb → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec.rb} +8 -6
- data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files}/dashed-mygem/Gemfile +0 -0
- data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files}/dashed-mygem/dashed-mygem.gemspec +0 -0
- data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files}/dashed-mygem/lib/dashed/mygem/version.rb +0 -0
- data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files}/dashed-mygem/lib/dashed/mygem.rb +0 -0
- data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files}/dashed-mygem/spec/rubocop_spec.rb +0 -0
- data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files}/dashed-mygem/spec/spec_helper.rb +0 -0
- data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files}/mygem/Gemfile +0 -0
- data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files}/mygem/lib/mygem/version.rb +0 -0
- data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files}/mygem/lib/mygem.rb +0 -0
- data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files}/mygem/mygem.gemspec +0 -0
- data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files}/mygem/spec/rubocop_spec.rb +0 -0
- data/sub/{avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files}/mygem/spec/spec_helper.rb +0 -0
- data/sub/{avm-tools/template/avm/ruby/gems/generator → avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base}/gemspec.template +0 -0
- data/sub/{avm-tools/template/avm/ruby/gems/generator → avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base}/root_lib.template +0 -0
- data/sub/{avm-tools/template/avm/ruby/gems/generator → avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base}/static/Gemfile +0 -0
- data/sub/{avm-tools/template/avm/ruby/gems/generator → avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base}/static/spec/rubocop_spec.rb +0 -0
- data/sub/{avm-tools/template/avm/ruby/gems/generator → avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base}/static/spec/spec_helper.rb +0 -0
- data/sub/{avm-tools/template/avm/ruby/gems/generator → avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base}/version.template +0 -0
- data/sub/avm-tools/avm-tools.gemspec +1 -1
- data/sub/avm-tools/lib/avm/tools/runner/app_src.rb +4 -14
- data/sub/avm-tools/lib/avm/tools/runner/source_generate.rb +2 -35
- data/sub/avm-tools/lib/avm/tools/version.rb +1 -1
- metadata +32 -40
- data/sub/avm-tools/lib/avm/rails.rb +0 -9
- data/sub/avm-tools/lib/avm/ruby/gems.rb +0 -11
- data/sub/avm-tools/lib/avm/ruby.rb +0 -9
- data/sub/avm-tools/lib/avm/tools/runner/ruby/gems/generate.rb +0 -39
- data/sub/avm-tools/lib/avm/tools/runner/ruby/gems.rb +0 -19
- data/sub/avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files/dashed-mygem/Gemfile.lock +0 -1
- data/sub/avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files/mygem/Gemfile.lock +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 331f73c00105798972e35c3eb8049f412eceecf7ce6805f2b96be3d97999c3c9
|
4
|
+
data.tar.gz: ebe8e2dc8c9245bfa657a9ff036620280e4e81c808e85f98bc543758bac64738
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2cb086332be7545caf2bd3d288f35c11ab444b7dc826a7798f8b45c65e6e33a10e7209c19e72acb2a7c5ae5940cd55881c9c94fe9f4786c0093d2fe87cf7ada3
|
7
|
+
data.tar.gz: c4376b3c09a9c577c2c97e6434edbd13d268d21d09d1a6d5ec4e2808ca56d2c3cb3f094cdcda91e964eef70b6480407b693a8913af4b0b6427221580250ef8b4
|
data/Gemfile.lock
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
eac_tools (0.
|
4
|
+
eac_tools (0.17.0)
|
5
5
|
avm-eac_asciidoctor_base0 (~> 0.4)
|
6
6
|
avm-eac_generic_base0 (~> 0.4)
|
7
7
|
avm-eac_rails_base0 (~> 0.6, >= 0.6.1)
|
8
8
|
avm-eac_rails_base1 (~> 0.4, >= 0.4.2)
|
9
9
|
avm-eac_redmine_base0 (~> 0.11)
|
10
10
|
avm-eac_redmine_plugin_base0 (~> 0.3)
|
11
|
-
avm-eac_ruby_base1 (~> 0.
|
11
|
+
avm-eac_ruby_base1 (~> 0.13)
|
12
12
|
avm-eac_webapp_base0 (~> 0.3, >= 0.3.1)
|
13
13
|
avm-eac_wordpress_base0 (~> 0.1)
|
14
|
-
avm-tools (~> 0.
|
14
|
+
avm-tools (~> 0.130)
|
15
15
|
eac_ruby_utils (~> 0.97)
|
16
16
|
|
17
17
|
PATH
|
@@ -70,8 +70,8 @@ PATH
|
|
70
70
|
PATH
|
71
71
|
remote: sub/avm-eac_ruby_base1
|
72
72
|
specs:
|
73
|
-
avm-eac_ruby_base1 (0.
|
74
|
-
avm (~> 0.
|
73
|
+
avm-eac_ruby_base1 (0.13.0)
|
74
|
+
avm (~> 0.34)
|
75
75
|
avm-eac_generic_base0 (~> 0.2)
|
76
76
|
eac_ruby_utils (~> 0.95, >= 0.95.1)
|
77
77
|
|
@@ -95,9 +95,9 @@ PATH
|
|
95
95
|
PATH
|
96
96
|
remote: sub/avm-tools
|
97
97
|
specs:
|
98
|
-
avm-tools (0.
|
98
|
+
avm-tools (0.130.0)
|
99
99
|
aranha-parsers (~> 0.4)
|
100
|
-
avm (~> 0.
|
100
|
+
avm (~> 0.34)
|
101
101
|
avm-eac_ruby_base1 (~> 0.8)
|
102
102
|
avm-eac_ubuntu_base0 (~> 0.3)
|
103
103
|
avm-files (~> 0.1)
|
@@ -113,7 +113,7 @@ PATH
|
|
113
113
|
PATH
|
114
114
|
remote: sub/avm
|
115
115
|
specs:
|
116
|
-
avm (0.
|
116
|
+
avm (0.34.0)
|
117
117
|
eac_cli (~> 0.27, >= 0.27.6)
|
118
118
|
eac_config (~> 0.10)
|
119
119
|
eac_docker (~> 0.3)
|
data/lib/eac_tools/version.rb
CHANGED
@@ -8,8 +8,9 @@ module Avm
|
|
8
8
|
class SourceGenerators < ::Avm::Registry::FromGems
|
9
9
|
# @return [Avm::Instances::Base, nil]
|
10
10
|
def class_detect(klass, detect_args)
|
11
|
-
|
12
|
-
|
11
|
+
detect_args = detect_args.dup
|
12
|
+
stereotype_name = detect_args.shift
|
13
|
+
klass.application_stereotype.name == stereotype_name ? klass.new(*detect_args) : nil
|
13
14
|
end
|
14
15
|
end
|
15
16
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'avm/source_generators/option_list'
|
3
4
|
require 'avm/with/application_stereotype'
|
4
5
|
require 'eac_ruby_utils/core_ext'
|
5
6
|
|
@@ -7,8 +8,22 @@ module Avm
|
|
7
8
|
module SourceGenerators
|
8
9
|
class Base
|
9
10
|
include ::Avm::With::ApplicationStereotype
|
10
|
-
|
11
|
+
|
12
|
+
class << self
|
13
|
+
# @return [Avm::SourceGenerators::OptionList]
|
14
|
+
def option_list
|
15
|
+
Avm::SourceGenerators::OptionList.new
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
common_constructor :target_path, :options, default: [{}] do
|
11
20
|
self.target_path = target_path.to_pathname
|
21
|
+
self.options = option_list.validate(options)
|
22
|
+
end
|
23
|
+
|
24
|
+
# @return [Avm::SourceGenerators::OptionList]
|
25
|
+
def option_list
|
26
|
+
self.class.option_list
|
12
27
|
end
|
13
28
|
|
14
29
|
def perform
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/source_generators/option'
|
4
|
+
require 'eac_ruby_utils/core_ext'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module SourceGenerators
|
8
|
+
class OptionList
|
9
|
+
enable_immutable
|
10
|
+
immutable_accessor :option, type: :array
|
11
|
+
|
12
|
+
alias immutable_option option
|
13
|
+
|
14
|
+
def option(*args)
|
15
|
+
immutable_option(::Avm::SourceGenerators::Option.new(*args))
|
16
|
+
end
|
17
|
+
|
18
|
+
# @return [Hash<Symbol, String>]
|
19
|
+
def validate(options_hash)
|
20
|
+
options_hash.transform_keys { |k| validate_option(k) }
|
21
|
+
end
|
22
|
+
|
23
|
+
def validate_option(option_name)
|
24
|
+
option_name = option_name.to_sym
|
25
|
+
|
26
|
+
return option_name if options.any? { |option| option.name == option_name }
|
27
|
+
|
28
|
+
raise "No option found with name \"#{option_name}\""
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/registry'
|
4
|
+
require 'eac_cli/core_ext'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module SourceGenerators
|
8
|
+
class Runner
|
9
|
+
OPTION_NAME_VALUE_SEPARATOR = ':'
|
10
|
+
|
11
|
+
runner_with :help do
|
12
|
+
arg_opt '-o', '--option', 'Option for generator.', repeat: true, optional: true
|
13
|
+
pos_arg :stereotype_name
|
14
|
+
pos_arg :target_path
|
15
|
+
end
|
16
|
+
|
17
|
+
def run
|
18
|
+
start_banner
|
19
|
+
generate
|
20
|
+
end
|
21
|
+
|
22
|
+
def generate
|
23
|
+
infom 'Generating...'
|
24
|
+
generator.perform
|
25
|
+
success "Source generated in \"#{generator.target_path}\""
|
26
|
+
end
|
27
|
+
|
28
|
+
def start_banner
|
29
|
+
infov 'Stereotype', stereotype_name
|
30
|
+
infov 'Target path', target_path
|
31
|
+
infov 'Generator', generator.class
|
32
|
+
end
|
33
|
+
|
34
|
+
def generator_uncached
|
35
|
+
::Avm::Registry.source_generators
|
36
|
+
.detect_optional(stereotype_name, target_path, options) ||
|
37
|
+
fatal_error("No generator found for stereotype \"#{stereotype_name}\"")
|
38
|
+
end
|
39
|
+
|
40
|
+
delegate :stereotype_name, to: :parsed
|
41
|
+
|
42
|
+
# @return [Hash<String, String>]
|
43
|
+
def options
|
44
|
+
parsed.option.map { |v| v.split(OPTION_NAME_VALUE_SEPARATOR) }.to_h
|
45
|
+
end
|
46
|
+
|
47
|
+
def target_path
|
48
|
+
parsed.target_path.to_pathname
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_cli/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module Sources
|
7
|
+
class Runner
|
8
|
+
runner_with :help, :subcommands do
|
9
|
+
desc 'Root command for sources.'
|
10
|
+
arg_opt '-C', '--path', 'Path to the source.', default: '.'
|
11
|
+
subcommands
|
12
|
+
end
|
13
|
+
|
14
|
+
def extra_available_subcommands
|
15
|
+
optional_source.if_present({}, &:extra_available_subcommands)
|
16
|
+
end
|
17
|
+
|
18
|
+
def source_banner
|
19
|
+
infov 'Source', source
|
20
|
+
end
|
21
|
+
|
22
|
+
# @return [Pathname]
|
23
|
+
def source_path
|
24
|
+
parsed.path.to_pathname
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def source_uncached
|
30
|
+
::Avm::Registry.sources.detect(source_path)
|
31
|
+
end
|
32
|
+
|
33
|
+
def optional_source_uncached
|
34
|
+
::Avm::Registry.sources.detect_optional(source_path)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
data/sub/avm/lib/avm/version.rb
CHANGED
@@ -10,9 +10,9 @@ Gem::Specification.new do |s|
|
|
10
10
|
s.authors = ['Put here the authors']
|
11
11
|
s.summary = 'Put here de description.'
|
12
12
|
|
13
|
-
s.files = Dir['{lib,locale}/**/*']
|
13
|
+
s.files = Dir['{lib,locale,template}/**/*']
|
14
14
|
|
15
|
-
s.add_dependency 'avm', '~> 0.
|
15
|
+
s.add_dependency 'avm', '~> 0.34'
|
16
16
|
s.add_dependency 'avm-eac_generic_base0', '~> 0.2'
|
17
17
|
s.add_dependency 'eac_ruby_utils', '~> 0.95', '>= 0.95.1'
|
18
18
|
|
@@ -1,22 +1,33 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'avm/eac_ruby_base1/sources/base'
|
4
|
+
require 'avm/source_generators/base'
|
4
5
|
require 'eac_templates/core_ext'
|
5
6
|
require 'eac_ruby_utils/core_ext'
|
6
7
|
|
7
8
|
module Avm
|
8
|
-
module
|
9
|
-
module
|
10
|
-
class
|
9
|
+
module EacRubyBase1
|
10
|
+
module SourceGenerators
|
11
|
+
class Base < ::Avm::SourceGenerators::Base
|
11
12
|
IDENT = ' '
|
12
13
|
JOBS = %w[root_directory gemspec root_lib version_lib static gemfile_lock].freeze
|
13
14
|
TEMPLATE_VARIABLES = %w[lib_path name root_module].freeze
|
15
|
+
OPTIONS = {
|
16
|
+
'eac-ruby-utils-version'.to_sym => 'Version for "eac_ruby_utils" gem.',
|
17
|
+
'eac-ruby-gem-support-version'.to_sym => 'Version for "eac_ruby_gem_support" gem.'
|
18
|
+
}.freeze
|
14
19
|
|
15
20
|
enable_speaker
|
16
21
|
enable_simple_cache
|
17
|
-
|
18
|
-
|
19
|
-
|
22
|
+
|
23
|
+
class << self
|
24
|
+
def option_list
|
25
|
+
OPTIONS.inject(super) { |a, e| a.option(*e) }
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def root_directory
|
30
|
+
target_path
|
20
31
|
end
|
21
32
|
|
22
33
|
def eac_ruby_gem_support_version
|
@@ -35,6 +46,15 @@ module Avm
|
|
35
46
|
name.split('-').join('/')
|
36
47
|
end
|
37
48
|
|
49
|
+
def perform
|
50
|
+
infov 'Root directory', root_directory
|
51
|
+
infov 'Gem name', name
|
52
|
+
JOBS.each do |job|
|
53
|
+
infom "Generating #{job.humanize}..."
|
54
|
+
send("generate_#{job}")
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
38
58
|
def root_module
|
39
59
|
lib_path.camelize
|
40
60
|
end
|
@@ -101,15 +121,6 @@ module Avm
|
|
101
121
|
template_apply('version', "lib/#{lib_path}/version.rb")
|
102
122
|
end
|
103
123
|
|
104
|
-
def run
|
105
|
-
infov 'Root directory', root_directory
|
106
|
-
infov 'Gem name', name
|
107
|
-
JOBS.each do |job|
|
108
|
-
infom "Generating #{job.humanize}..."
|
109
|
-
send("generate_#{job}")
|
110
|
-
end
|
111
|
-
end
|
112
|
-
|
113
124
|
def self_gem_uncached
|
114
125
|
::Avm::EacRubyBase1::Sources::Base.new(root_directory)
|
115
126
|
end
|
@@ -154,7 +165,7 @@ module Avm
|
|
154
165
|
end
|
155
166
|
|
156
167
|
def options_version
|
157
|
-
options["#{gem_name}_version".to_sym].if_present do |v|
|
168
|
+
options["#{gem_name}_version".dasherize.to_sym].if_present do |v|
|
158
169
|
::Gem::Version.new(v)
|
159
170
|
end
|
160
171
|
end
|
@@ -1,22 +1,24 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'avm/
|
3
|
+
require 'avm/eac_ruby_base1/source_generators/base'
|
4
|
+
require 'avm/source_generators/runner'
|
4
5
|
|
5
|
-
RSpec.describe ::Avm::
|
6
|
-
let(:targets_root) { ::Pathname.new('
|
6
|
+
RSpec.describe ::Avm::EacRubyBase1::SourceGenerators::Base do
|
7
|
+
let(:targets_root) { ::Pathname.new('base_spec_files').expand_path(__dir__) }
|
7
8
|
|
8
9
|
%w[mygem dashed-mygem].each do |gem_name|
|
9
10
|
context "when runner is executed for #{gem_name}" do
|
11
|
+
let(:stereotype) { 'EacRubyBase1' }
|
10
12
|
let(:target_dir) { targets_root.join(gem_name) }
|
11
13
|
let(:temp_dir) { ::EacRubyUtils::Fs::Temp.directory }
|
12
14
|
let(:gem_path) { temp_dir.join(gem_name) }
|
13
15
|
let(:argv) do
|
14
|
-
%w[
|
15
|
-
|
16
|
+
%w[--option eac-ruby-utils-version:0.35.0 --option eac-ruby-gem-support-version:0.2.0] +
|
17
|
+
[stereotype, gem_path.to_path]
|
16
18
|
end
|
17
19
|
|
18
20
|
before do
|
19
|
-
::Avm::
|
21
|
+
::Avm::SourceGenerators::Runner.run(argv: argv)
|
20
22
|
end
|
21
23
|
|
22
24
|
after do
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -15,7 +15,7 @@ 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.4'
|
18
|
-
s.add_dependency 'avm', '~> 0.
|
18
|
+
s.add_dependency 'avm', '~> 0.34'
|
19
19
|
s.add_dependency 'avm-eac_ruby_base1', '~> 0.8'
|
20
20
|
s.add_dependency 'avm-eac_ubuntu_base0', '~> 0.3'
|
21
21
|
s.add_dependency 'avm-files', '~> 0.1'
|
@@ -1,18 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'avm/sources/runner'
|
3
4
|
require 'avm/tools/app_src'
|
4
5
|
require 'eac_cli/core_ext'
|
5
6
|
|
6
7
|
module Avm
|
7
8
|
module Tools
|
8
9
|
class Runner
|
9
|
-
class AppSrc
|
10
|
+
class AppSrc < ::Avm::Sources::Runner
|
10
11
|
require_sub __FILE__
|
11
|
-
runner_with :help, :subcommands do
|
12
|
-
desc 'Utilities for local projects.'
|
13
|
-
arg_opt '-C', '--path', 'Path to local project instance.'
|
14
|
-
subcommands
|
15
|
-
end
|
16
12
|
|
17
13
|
def instance_banner
|
18
14
|
infov 'Instance', instance
|
@@ -20,19 +16,13 @@ module Avm
|
|
20
16
|
end
|
21
17
|
|
22
18
|
def subject
|
23
|
-
|
19
|
+
source
|
24
20
|
end
|
25
21
|
|
26
|
-
delegate :extra_available_subcommands, to: :subject
|
27
|
-
|
28
22
|
private
|
29
23
|
|
30
24
|
def instance_uncached
|
31
|
-
::Avm::Tools::AppSrc.new(
|
32
|
-
end
|
33
|
-
|
34
|
-
def instance_path_uncached
|
35
|
-
(parsed.path || '.').to_pathname.expand_path
|
25
|
+
::Avm::Tools::AppSrc.new(source_path)
|
36
26
|
end
|
37
27
|
end
|
38
28
|
end
|
@@ -1,44 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'avm/
|
4
|
-
require 'eac_cli/core_ext'
|
3
|
+
require 'avm/source_generators/runner'
|
5
4
|
|
6
5
|
module Avm
|
7
6
|
module Tools
|
8
7
|
class Runner
|
9
|
-
class SourceGenerate
|
10
|
-
runner_with :help do
|
11
|
-
pos_arg :stereotype_name
|
12
|
-
pos_arg :target_path
|
13
|
-
end
|
14
|
-
|
15
|
-
def run
|
16
|
-
start_banner
|
17
|
-
generate
|
18
|
-
end
|
19
|
-
|
20
|
-
def generate
|
21
|
-
infom 'Generating...'
|
22
|
-
generator.perform
|
23
|
-
success "Source generated in \"#{generator.target_path}\""
|
24
|
-
end
|
25
|
-
|
26
|
-
def start_banner
|
27
|
-
infov 'Stereotype', stereotype_name
|
28
|
-
infov 'Target path', target_path
|
29
|
-
infov 'Generator', generator.class
|
30
|
-
end
|
31
|
-
|
32
|
-
def generator_uncached
|
33
|
-
::Avm::Registry.source_generators.detect_optional(stereotype_name, target_path) ||
|
34
|
-
fatal_error("No generator found for stereotype \"#{stereotype_name}\"")
|
35
|
-
end
|
36
|
-
|
37
|
-
delegate :stereotype_name, to: :parsed
|
38
|
-
|
39
|
-
def target_path
|
40
|
-
parsed.target_path.to_pathname
|
41
|
-
end
|
8
|
+
class SourceGenerate < ::Avm::SourceGenerators::Runner
|
42
9
|
end
|
43
10
|
end
|
44
11
|
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.
|
4
|
+
version: 0.17.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-08-
|
11
|
+
date: 2022-08-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: avm-eac_asciidoctor_base0
|
@@ -112,14 +112,14 @@ dependencies:
|
|
112
112
|
requirements:
|
113
113
|
- - "~>"
|
114
114
|
- !ruby/object:Gem::Version
|
115
|
-
version: '0.
|
115
|
+
version: '0.13'
|
116
116
|
type: :runtime
|
117
117
|
prerelease: false
|
118
118
|
version_requirements: !ruby/object:Gem::Requirement
|
119
119
|
requirements:
|
120
120
|
- - "~>"
|
121
121
|
- !ruby/object:Gem::Version
|
122
|
-
version: '0.
|
122
|
+
version: '0.13'
|
123
123
|
- !ruby/object:Gem::Dependency
|
124
124
|
name: avm-eac_webapp_base0
|
125
125
|
requirement: !ruby/object:Gem::Requirement
|
@@ -160,20 +160,14 @@ dependencies:
|
|
160
160
|
requirements:
|
161
161
|
- - "~>"
|
162
162
|
- !ruby/object:Gem::Version
|
163
|
-
version: '0.
|
164
|
-
- - ">="
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: 0.129.1
|
163
|
+
version: '0.130'
|
167
164
|
type: :runtime
|
168
165
|
prerelease: false
|
169
166
|
version_requirements: !ruby/object:Gem::Requirement
|
170
167
|
requirements:
|
171
168
|
- - "~>"
|
172
169
|
- !ruby/object:Gem::Version
|
173
|
-
version: '0.
|
174
|
-
- - ">="
|
175
|
-
- !ruby/object:Gem::Version
|
176
|
-
version: 0.129.1
|
170
|
+
version: '0.130'
|
177
171
|
- !ruby/object:Gem::Dependency
|
178
172
|
name: eac_ruby_utils
|
179
173
|
requirement: !ruby/object:Gem::Requirement
|
@@ -383,6 +377,8 @@ files:
|
|
383
377
|
- sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec/add_or_replace_gem_line.rb
|
384
378
|
- sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec/dependency.rb
|
385
379
|
- sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/version_file.rb
|
380
|
+
- sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators.rb
|
381
|
+
- sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base.rb
|
386
382
|
- sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources.rb
|
387
383
|
- sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base.rb
|
388
384
|
- sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundle_command.rb
|
@@ -412,6 +408,19 @@ files:
|
|
412
408
|
- sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.target.yaml
|
413
409
|
- sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/version_file_spec.rb
|
414
410
|
- sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/version_file_spec_files/a_version_file.rb
|
411
|
+
- sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec.rb
|
412
|
+
- sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/Gemfile
|
413
|
+
- sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/dashed-mygem.gemspec
|
414
|
+
- sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem.rb
|
415
|
+
- sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem/version.rb
|
416
|
+
- sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/spec/rubocop_spec.rb
|
417
|
+
- sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/spec/spec_helper.rb
|
418
|
+
- sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/Gemfile
|
419
|
+
- sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/lib/mygem.rb
|
420
|
+
- sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/lib/mygem/version.rb
|
421
|
+
- sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/mygem.gemspec
|
422
|
+
- sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/spec/rubocop_spec.rb
|
423
|
+
- sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/spec/spec_helper.rb
|
415
424
|
- sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec.rb
|
416
425
|
- sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Gemfile
|
417
426
|
- sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Rakefile
|
@@ -422,6 +431,12 @@ files:
|
|
422
431
|
- sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base_spec.rb
|
423
432
|
- sub/avm-eac_ruby_base1/spec/rubocop_spec.rb
|
424
433
|
- sub/avm-eac_ruby_base1/spec/spec_helper.rb
|
434
|
+
- sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/gemspec.template
|
435
|
+
- sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/root_lib.template
|
436
|
+
- sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/Gemfile
|
437
|
+
- sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/spec/rubocop_spec.rb
|
438
|
+
- sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/spec/spec_helper.rb
|
439
|
+
- sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/version.template
|
425
440
|
- sub/avm-eac_webapp_base0/Gemfile
|
426
441
|
- sub/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec
|
427
442
|
- sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0.rb
|
@@ -543,11 +558,6 @@ files:
|
|
543
558
|
- sub/avm-tools/lib/avm/projects/stereotypes/ruby_gem.rb
|
544
559
|
- sub/avm-tools/lib/avm/projects/stereotypes/ruby_gem/local_project_mixin.rb
|
545
560
|
- sub/avm-tools/lib/avm/projects/stereotypes/ruby_gem/publish.rb
|
546
|
-
- sub/avm-tools/lib/avm/rails.rb
|
547
|
-
- sub/avm-tools/lib/avm/ruby.rb
|
548
|
-
- sub/avm-tools/lib/avm/ruby/bundler.rb
|
549
|
-
- sub/avm-tools/lib/avm/ruby/gems.rb
|
550
|
-
- sub/avm-tools/lib/avm/ruby/gems/generator.rb
|
551
561
|
- sub/avm-tools/lib/avm/stereotypes.rb
|
552
562
|
- sub/avm-tools/lib/avm/tools.rb
|
553
563
|
- sub/avm-tools/lib/avm/tools/app_src.rb
|
@@ -597,8 +607,6 @@ files:
|
|
597
607
|
- sub/avm-tools/lib/avm/tools/runner/launcher/projects.rb
|
598
608
|
- sub/avm-tools/lib/avm/tools/runner/launcher/publish.rb
|
599
609
|
- sub/avm-tools/lib/avm/tools/runner/ruby.rb
|
600
|
-
- sub/avm-tools/lib/avm/tools/runner/ruby/gems.rb
|
601
|
-
- sub/avm-tools/lib/avm/tools/runner/ruby/gems/generate.rb
|
602
610
|
- sub/avm-tools/lib/avm/tools/runner/ruby/rubocop.rb
|
603
611
|
- sub/avm-tools/lib/avm/tools/runner/self.rb
|
604
612
|
- sub/avm-tools/lib/avm/tools/runner/self/docker.rb
|
@@ -659,21 +667,6 @@ files:
|
|
659
667
|
- sub/avm-tools/spec/lib/avm/tools/runner/git/deploy_spec.rb
|
660
668
|
- sub/avm-tools/spec/lib/avm/tools/runner/git/deploy_spec_files/append1/stub3.txt.template
|
661
669
|
- sub/avm-tools/spec/lib/avm/tools/runner/git/deploy_spec_files/append2/stub4.txt
|
662
|
-
- sub/avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec.rb
|
663
|
-
- sub/avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files/dashed-mygem/Gemfile
|
664
|
-
- sub/avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files/dashed-mygem/Gemfile.lock
|
665
|
-
- sub/avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files/dashed-mygem/dashed-mygem.gemspec
|
666
|
-
- sub/avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files/dashed-mygem/lib/dashed/mygem.rb
|
667
|
-
- sub/avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files/dashed-mygem/lib/dashed/mygem/version.rb
|
668
|
-
- sub/avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files/dashed-mygem/spec/rubocop_spec.rb
|
669
|
-
- sub/avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files/dashed-mygem/spec/spec_helper.rb
|
670
|
-
- sub/avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files/mygem/Gemfile
|
671
|
-
- sub/avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files/mygem/Gemfile.lock
|
672
|
-
- sub/avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files/mygem/lib/mygem.rb
|
673
|
-
- sub/avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files/mygem/lib/mygem/version.rb
|
674
|
-
- sub/avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files/mygem/mygem.gemspec
|
675
|
-
- sub/avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files/mygem/spec/rubocop_spec.rb
|
676
|
-
- sub/avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files/mygem/spec/spec_helper.rb
|
677
670
|
- sub/avm-tools/spec/lib/avm/tools/runner/ruby/rubocop_spec.rb
|
678
671
|
- sub/avm-tools/spec/lib/avm/tools/runner/ruby/rubocop_spec_files/dir1/dir3/Gemfile
|
679
672
|
- sub/avm-tools/spec/lib/avm/tools/runner/ruby/rubocop_spec_files/dir1/dir3/Gemfile.lock
|
@@ -699,12 +692,6 @@ files:
|
|
699
692
|
- sub/avm-tools/template/avm/eac_writings_base0/commons/source_code/java.tex
|
700
693
|
- sub/avm-tools/template/avm/eac_writings_base0/commons/utils.tex
|
701
694
|
- sub/avm-tools/template/avm/eac_writings_base0/deploy/index.html.template
|
702
|
-
- sub/avm-tools/template/avm/ruby/gems/generator/gemspec.template
|
703
|
-
- sub/avm-tools/template/avm/ruby/gems/generator/root_lib.template
|
704
|
-
- sub/avm-tools/template/avm/ruby/gems/generator/static/Gemfile
|
705
|
-
- sub/avm-tools/template/avm/ruby/gems/generator/static/spec/rubocop_spec.rb
|
706
|
-
- sub/avm-tools/template/avm/ruby/gems/generator/static/spec/spec_helper.rb
|
707
|
-
- sub/avm-tools/template/avm/ruby/gems/generator/version.template
|
708
695
|
- sub/avm-tools/template/avm/self/docker_image/Dockerfile
|
709
696
|
- sub/avm-tools/template/avm/self/docker_image/entrypoint.sh
|
710
697
|
- sub/avm/Gemfile
|
@@ -787,6 +774,9 @@ files:
|
|
787
774
|
- sub/avm/lib/avm/self/instance/entry_keys.rb
|
788
775
|
- sub/avm/lib/avm/source_generators.rb
|
789
776
|
- sub/avm/lib/avm/source_generators/base.rb
|
777
|
+
- sub/avm/lib/avm/source_generators/option.rb
|
778
|
+
- sub/avm/lib/avm/source_generators/option_list.rb
|
779
|
+
- sub/avm/lib/avm/source_generators/runner.rb
|
790
780
|
- sub/avm/lib/avm/sources.rb
|
791
781
|
- sub/avm/lib/avm/sources/base.rb
|
792
782
|
- sub/avm/lib/avm/sources/base/configuration.rb
|
@@ -798,6 +788,7 @@ files:
|
|
798
788
|
- sub/avm/lib/avm/sources/base/testing.rb
|
799
789
|
- sub/avm/lib/avm/sources/configuration.rb
|
800
790
|
- sub/avm/lib/avm/sources/configuration/rubocop.rb
|
791
|
+
- sub/avm/lib/avm/sources/runner.rb
|
801
792
|
- sub/avm/lib/avm/sources/tests.rb
|
802
793
|
- sub/avm/lib/avm/sources/tests/builder.rb
|
803
794
|
- sub/avm/lib/avm/sources/tests/performer.rb
|
@@ -814,6 +805,7 @@ files:
|
|
814
805
|
- sub/avm/spec/lib/avm/instances/base_spec_configs_storage.yml
|
815
806
|
- sub/avm/spec/lib/avm/scms/base_spec.rb
|
816
807
|
- sub/avm/spec/lib/avm/sources/base_spec.rb
|
808
|
+
- sub/avm/spec/lib/avm/sources/runner_spec.rb
|
817
809
|
- sub/avm/spec/rubocop_spec.rb
|
818
810
|
- sub/avm/spec/spec_helper.rb
|
819
811
|
- sub/eac_cli/Gemfile
|
@@ -1,39 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'avm/ruby/gems/generator'
|
4
|
-
require 'eac_cli/core_ext'
|
5
|
-
|
6
|
-
module Avm
|
7
|
-
module Tools
|
8
|
-
class Runner
|
9
|
-
class Ruby
|
10
|
-
class Gems
|
11
|
-
class Generate
|
12
|
-
runner_with :help do
|
13
|
-
desc 'Create a gem.'
|
14
|
-
arg_opt '--eac-ruby-utils-version', 'Version for "eac_ruby_utils" gem.'
|
15
|
-
arg_opt '--eac-ruby-gem-support-version', 'Version for "eac_ruby_gem_support" gem.'
|
16
|
-
pos_arg :path
|
17
|
-
end
|
18
|
-
|
19
|
-
def run
|
20
|
-
success "Gem \"#{generator.name}\" created in \"#{generator.root_directory}\""
|
21
|
-
end
|
22
|
-
|
23
|
-
private
|
24
|
-
|
25
|
-
def generator_uncached
|
26
|
-
::Avm::Ruby::Gems::Generator.new(parsed.path, generator_options)
|
27
|
-
end
|
28
|
-
|
29
|
-
def generator_options
|
30
|
-
%w[eac_ruby_utils eac_ruby_gem_support].map do |gem_name|
|
31
|
-
["#{gem_name}_version".to_sym, parsed.fetch("#{gem_name.variableize}_version")]
|
32
|
-
end.to_h
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_cli/core_ext'
|
4
|
-
|
5
|
-
module Avm
|
6
|
-
module Tools
|
7
|
-
class Runner
|
8
|
-
class Ruby
|
9
|
-
class Gems
|
10
|
-
require_sub __FILE__
|
11
|
-
runner_with :help, :subcommands do
|
12
|
-
desc 'Rubygems utilities for AVM.'
|
13
|
-
subcommands
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
data/sub/avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files/dashed-mygem/Gemfile.lock
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
TRUNCATED
|
data/sub/avm-tools/spec/lib/avm/tools/runner/ruby/gems/generate_spec_files/mygem/Gemfile.lock
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
TRUNCATED
|