rggen-core 0.23.1 → 0.24.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: d508be683e4b6306f85c0fa2c793e98ba33dc2710dab29c07ae0fb720c0b1e20
4
- data.tar.gz: a19ac7cea3493c7128672f343dee9833199d9e2c3769fdf0cd4679c3cc464c6d
3
+ metadata.gz: 040113a3bef96502aae386b3aa7dafcca07af29d8881b41bfc6e17b3e0769885
4
+ data.tar.gz: 4392f0ae0bc1cd8d7422606eea73f11dffe293e29cc39250c5fd3479581dc349
5
5
  SHA512:
6
- metadata.gz: f173621ce29ca6664d0201b4af80d9851151ab71dbd01f3027793d48402533ee9b8941d7149e5df0039370b4701975c9e926af2b36c94d8253bb6921ef3710b9
7
- data.tar.gz: 0a7bdf33b0708f3e493b79f932fb4daf1400ea68fef957d040ef6ff5b6e1881b783b06d78d7d43a857034bc98addb3c10bb0238b01e0d7d93921c49a7ec3901b
6
+ metadata.gz: c77e46129bc726cb7afee6b21b3b31e2a692ee3fa2d99aade8eb6f6a3d1082e4f3fab1c83ff4f20afead532c521dfea6f23c8c6762a0b54ed9ab9cfbf013b484
7
+ data.tar.gz: c20b96a0be7b1f15cae6cc8b1512d05b83d8f06cb3407b34fe1731221065de3467522bdabfd74b2b5336fcc96b245a9eff191629ff58c61635b8ca77af511be1
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2017-2020 Taichi Ishitani
3
+ Copyright (c) 2017-2021 Taichi Ishitani
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -13,6 +13,7 @@ RgGen::Core is a core library of RgGen tool and provides features listed below:
13
13
  * Basic loaders for configuration file and register map documents
14
14
  * Ruby with APIs for description
15
15
  * YAML
16
+ * TOML
16
17
  * JSON
17
18
  * Structure and APIs for defining output file writers
18
19
  * Building RgGen tool up by linking defined above features
@@ -43,7 +44,7 @@ Feedbacks, bug reports, questions and etc. are wellcome! You can post them by us
43
44
 
44
45
  ## Copyright & License
45
46
 
46
- Copyright © 2017-2020 Taichi Ishitani. RgGen::Core is licensed under the [MIT License](https://opensource.org/licenses/MIT), see [LICENSE](LICENSE) for futher details.
47
+ Copyright © 2017-2021 Taichi Ishitani. RgGen::Core is licensed under the [MIT License](https://opensource.org/licenses/MIT), see [LICENSE](LICENSE) for futher details.
47
48
 
48
49
  ## Code of Conduct
49
50
 
@@ -8,6 +8,7 @@ require 'json'
8
8
  require 'optparse'
9
9
  require 'pathname'
10
10
  require 'singleton'
11
+ require 'tomlrb'
11
12
  require 'yaml'
12
13
 
13
14
  require_relative 'core/version'
@@ -41,6 +42,7 @@ require_relative 'core/input_base/input_data'
41
42
  require_relative 'core/input_base/input_value_extractor'
42
43
  require_relative 'core/input_base/loader'
43
44
  require_relative 'core/input_base/json_loader'
45
+ require_relative 'core/input_base/toml_loader'
44
46
  require_relative 'core/input_base/yaml_loader'
45
47
  require_relative 'core/input_base/component'
46
48
  require_relative 'core/input_base/component_factory'
@@ -60,6 +62,7 @@ require_relative 'core/configuration/loader'
60
62
  require_relative 'core/configuration/ruby_loader'
61
63
  require_relative 'core/configuration/hash_loader'
62
64
  require_relative 'core/configuration/json_loader'
65
+ require_relative 'core/configuration/toml_loader'
63
66
  require_relative 'core/configuration/yaml_loader'
64
67
  require_relative 'core/configuration'
65
68
 
@@ -73,6 +76,7 @@ require_relative 'core/register_map/loader'
73
76
  require_relative 'core/register_map/ruby_loader'
74
77
  require_relative 'core/register_map/hash_loader'
75
78
  require_relative 'core/register_map/json_loader'
79
+ require_relative 'core/register_map/toml_loader'
76
80
  require_relative 'core/register_map/yaml_loader'
77
81
  require_relative 'core/register_map'
78
82
 
@@ -95,10 +99,12 @@ require_relative 'core/builder/simple_feature_entry'
95
99
  require_relative 'core/builder/list_feature_entry'
96
100
  require_relative 'core/builder/feature_registry'
97
101
  require_relative 'core/builder/layer'
102
+ require_relative 'core/builder/plugin_spec'
98
103
  require_relative 'core/builder/plugin_manager'
99
104
  require_relative 'core/builder/builder'
100
105
  require_relative 'core/builder'
101
106
 
107
+ require_relative 'core/plugin'
102
108
  require_relative 'core/printers'
103
109
  require_relative 'core/options'
104
110
  require_relative 'core/dsl'
@@ -15,11 +15,11 @@ module RgGen
15
15
  attr_reader :plugin_manager
16
16
 
17
17
  def input_component_registry(name, &body)
18
- component_registry(:input, name, body)
18
+ component_registry(:input, name, &body)
19
19
  end
20
20
 
21
21
  def output_component_registry(name, &body)
22
- component_registry(:output, name, body)
22
+ component_registry(:output, name, &body)
23
23
  end
24
24
 
25
25
  [
@@ -32,6 +32,10 @@ module RgGen
32
32
  end
33
33
  end
34
34
 
35
+ def register_map_layers
36
+ REGISTER_MAP_LAYERS
37
+ end
38
+
35
39
  def add_feature_registry(name, target_layer, registry)
36
40
  target_layers =
37
41
  if target_layer
@@ -92,7 +96,7 @@ module RgGen
92
96
 
93
97
  def_delegator :plugin_manager, :load_plugin
94
98
  def_delegator :plugin_manager, :load_plugins
95
- def_delegator :plugin_manager, :setup
99
+ def_delegator :plugin_manager, :register_plugin
96
100
 
97
101
  private
98
102
 
@@ -105,26 +109,30 @@ module RgGen
105
109
  end
106
110
  end
107
111
 
112
+ REGISTER_MAP_LAYERS = [
113
+ :root, :register_block, :register_file, :register, :bit_field
114
+ ].freeze
115
+
116
+ ALL_LAYERS = [
117
+ :global, *REGISTER_MAP_LAYERS
118
+ ].freeze
119
+
108
120
  def initialize_layers
109
121
  @layers = Hash.new do |_, layer_name|
110
122
  raise BuilderError.new("unknown layer: #{layer_name}")
111
123
  end
112
- [
113
- :global, :root, :register_block, :register_file, :register, :bit_field
114
- ].each do |layer|
115
- @layers[layer] = Layer.new(layer)
116
- end
124
+ ALL_LAYERS.each { |layer| @layers[layer] = Layer.new(layer) }
117
125
  end
118
126
 
119
127
  COMPONENT_REGISTRIES = {
120
128
  input: InputComponentRegistry, output: OutputComponentRegistry
121
129
  }.freeze
122
130
 
123
- def component_registry(type, name, body)
131
+ def component_registry(type, name, &body)
124
132
  registries = @component_registries[type]
125
133
  klass = COMPONENT_REGISTRIES[type]
126
134
  registries.key?(name) || (registries[name] = klass.new(name, self))
127
- Docile.dsl_eval(registries[name], &body)
135
+ block_given? && Docile.dsl_eval(registries[name], &body) || registries[name]
128
136
  end
129
137
  end
130
138
  end
@@ -11,22 +11,22 @@ module RgGen
11
11
  end
12
12
 
13
13
  def register_component(layers = nil, &block)
14
- if layers
15
- Array(layers).each do |layer|
16
- @entries << create_new_entry(layer, block)
17
- end
18
- else
19
- @entries << create_new_entry(nil, block)
14
+ Array(layers || @builder.register_map_layers).each do |layer|
15
+ @entries << create_new_entry(layer, &block)
20
16
  end
21
17
  end
22
18
 
19
+ def register_global_component(&block)
20
+ @entries << create_new_entry(nil, &block)
21
+ end
22
+
23
23
  def build_factory
24
24
  build_factories.first.tap(&:root_factory)
25
25
  end
26
26
 
27
27
  private
28
28
 
29
- def create_new_entry(layer, block)
29
+ def create_new_entry(layer, &block)
30
30
  entry = ComponentEntry.new(@component_name, layer)
31
31
  Docile.dsl_eval(entry, layer, &block)
32
32
  add_feature_registry(layer, entry.feature_registry)
@@ -35,8 +35,7 @@ module RgGen
35
35
 
36
36
  def add_feature_registry(layer, feature_registry)
37
37
  feature_registry &&
38
- @builder
39
- .add_feature_registry(@component_name, layer, feature_registry)
38
+ @builder.add_feature_registry(@component_name, layer, feature_registry)
40
39
  end
41
40
 
42
41
  def build_factories
@@ -3,46 +3,22 @@
3
3
  module RgGen
4
4
  module Core
5
5
  module Builder
6
- class Plugin
7
- DEFAULT_PLUGIN_VERSION = '0.0.0'
8
-
6
+ class PluginRegistry
9
7
  def initialize(plugin_module, &block)
10
8
  @plugin_module = plugin_module
11
9
  @block = block
12
- plugin_name # check if plugin name is given
13
10
  end
14
11
 
15
12
  def default_setup(builder)
16
- @plugin_module.respond_to?(:default_setup) &&
17
- @plugin_module.default_setup(builder)
13
+ @plugin_module.plugin_spec.activate(builder)
18
14
  end
19
15
 
20
16
  def optional_setup(builder)
21
17
  @block && @plugin_module.instance_exec(builder, &@block)
22
18
  end
23
19
 
24
- def plugin_name
25
- if @plugin_module.const_defined?(:PLUGIN_NAME)
26
- @plugin_module.const_get(:PLUGIN_NAME)
27
- elsif @plugin_module.respond_to?(:plugin_name)
28
- @plugin_module.plugin_name
29
- else
30
- raise Core::PluginError.new('no plugin name is given')
31
- end
32
- end
33
-
34
- def version
35
- if @plugin_module.const_defined?(:VERSION)
36
- @plugin_module.const_get(:VERSION)
37
- elsif @plugin_module.respond_to?(:version)
38
- @plugin_module.version
39
- else
40
- DEFAULT_PLUGIN_VERSION
41
- end
42
- end
43
-
44
20
  def version_info
45
- "#{plugin_name} #{version}"
21
+ @plugin_module.plugin_spec.version_info
46
22
  end
47
23
  end
48
24
 
@@ -65,13 +41,14 @@ module RgGen
65
41
 
66
42
  def load_plugins(plugins, no_default_plugins, activation = true)
67
43
  RgGen.builder(@builder)
68
- merge_plugins(plugins, no_default_plugins)
69
- .each { |plugin| load_plugin(*plugin) }
44
+ merge_plugins(plugins, no_default_plugins).each(&method(:load_plugin))
70
45
  activation && activate_plugins
71
46
  end
72
47
 
73
- def setup(plugin_module, &block)
74
- @plugins << Plugin.new(plugin_module, &block)
48
+ def register_plugin(plugin_module, &block)
49
+ plugin?(plugin_module) ||
50
+ (raise Core::PluginError.new('no plugin spec is given'))
51
+ @plugins << PluginRegistry.new(plugin_module, &block)
75
52
  end
76
53
 
77
54
  def activate_plugins(**options)
@@ -95,18 +72,19 @@ module RgGen
95
72
  def get_setup_path(name)
96
73
  base, sub_directory = name.split('/', 2)
97
74
  base = base.sub(/^rggen[-_]/, '').tr('-', '_')
98
- File.join(*[
99
- 'rggen', base, sub_directory || '', 'setup'
100
- ].reject(&:empty?))
75
+ File.join(*['rggen', base, sub_directory, 'setup'].compact)
101
76
  end
102
77
 
103
78
  def read_setup_file(setup_path, setup_path_or_name)
104
79
  require setup_path
105
80
  rescue ::LoadError
106
- raise Core::PluginError.new([
107
- "cannot load such plugin: #{setup_path_or_name}",
108
- setup_path_or_name != setup_path && " (#{setup_path})" || ''
109
- ].join)
81
+ message =
82
+ if setup_path_or_name == setup_path
83
+ "cannot load such plugin: #{setup_path_or_name}"
84
+ else
85
+ "cannot load such plugin: #{setup_path_or_name} (#{setup_path})"
86
+ end
87
+ raise Core::PluginError.new(message)
110
88
  end
111
89
 
112
90
  def merge_plugins(plugins, no_default_plugins)
@@ -134,6 +112,10 @@ module RgGen
134
112
  ENV['RGGEN_PLUGINS']
135
113
  &.split(':')&.map(&:strip)&.reject(&:empty?)
136
114
  end
115
+
116
+ def plugin?(plugin_module)
117
+ plugin_module.respond_to?(:plugin_spec) && plugin_module.plugin_spec
118
+ end
137
119
  end
138
120
  end
139
121
  end
@@ -0,0 +1,83 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RgGen
4
+ module Core
5
+ module Builder
6
+ class PluginSpec
7
+ def initialize(name, plugin_module)
8
+ @name = name
9
+ @plugin_module = plugin_module
10
+ @component_registrations = []
11
+ @loader_registrations = []
12
+ @files = []
13
+ end
14
+
15
+ def version(value = nil)
16
+ @version = value if value
17
+ version_value
18
+ end
19
+
20
+ def version_info
21
+ "#{@name} #{version}"
22
+ end
23
+
24
+ def register_component(component, layers = nil, &body)
25
+ @component_registrations << [component, layers, body]
26
+ end
27
+
28
+ def register_loader(component, loader_type, loader)
29
+ @loader_registrations << [component, loader_type, loader]
30
+ end
31
+
32
+ def register_loaders(component, loader_type, loaders)
33
+ Array(loaders)
34
+ .each { |loader| register_loader(component, loader_type, loader) }
35
+ end
36
+
37
+ def register_files(files)
38
+ root = File.dirname(caller_locations(1, 1).first.path)
39
+ files.each { |file| @files << File.join(root, file) }
40
+ end
41
+
42
+ alias_method :files, :register_files
43
+
44
+ def activate(builder)
45
+ activate_components(builder)
46
+ activate_loaders(builder)
47
+ load_files
48
+ end
49
+
50
+ private
51
+
52
+ DEFAULT_VERSION = '0.0.0'
53
+
54
+ def version_value
55
+ @version || const_version || DEFAULT_VERSION
56
+ end
57
+
58
+ def const_version
59
+ @plugin_module.const_defined?(:VERSION) &&
60
+ @plugin_module.const_get(:VERSION)
61
+ end
62
+
63
+ def activate_components(builder)
64
+ @component_registrations.each do |component, layers, body|
65
+ builder
66
+ .output_component_registry(component)
67
+ .register_component(layers, &body)
68
+ end
69
+ end
70
+
71
+ def activate_loaders(builder)
72
+ @loader_registrations.each do |component, loader_type, loader|
73
+ builder.register_loader(component, loader_type, loader)
74
+ end
75
+ end
76
+
77
+ def load_files
78
+ @files.each(&method(:require))
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
@@ -5,14 +5,15 @@ module RgGen
5
5
  module Configuration
6
6
  def self.setup(builder)
7
7
  builder.input_component_registry(:configuration) do
8
- register_component do
8
+ register_global_component do
9
9
  component Component, ComponentFactory
10
10
  feature Feature, FeatureFactory
11
11
  end
12
12
 
13
13
  register_loader :ruby, RubyLoader
14
- register_loader :yaml, YAMLLoader
15
14
  register_loader :json, JSONLoader
15
+ register_loader :toml, TOMLLoader
16
+ register_loader :yaml, YAMLLoader
16
17
  end
17
18
  end
18
19
  end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RgGen
4
+ module Core
5
+ module Configuration
6
+ class TOMLLoader < Loader
7
+ include HashLoader
8
+ include InputBase::TOMLLoader
9
+
10
+ support_types [:toml]
11
+
12
+ def read_file(file)
13
+ load_toml(file)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -20,7 +20,7 @@ module RgGen
20
20
  :disable_all,
21
21
  :disable,
22
22
  :delete,
23
- :setup,
23
+ :register_plugin,
24
24
  :load_plugin
25
25
  ].each do |method_name|
26
26
  def_delegator :'RgGen.builder', method_name
@@ -2,7 +2,6 @@
2
2
 
3
3
  require 'facets/array/merge'
4
4
  require 'facets/file/ext'
5
- require 'facets/hash/at'
6
5
  require 'facets/pathname/to_path'
7
6
  require 'facets/module/attr_setter'
8
7
  require 'facets/module/lastname'
@@ -149,8 +149,8 @@ module RgGen
149
149
  end
150
150
 
151
151
  def do_verify(scope)
152
- Array(self.class.verifiers&.at(scope))
153
- .each { |verifier| verifier.verify(self) }
152
+ self.class.verifiers&.[](scope)
153
+ &.each { |verifier| verifier.verify(self) }
154
154
  (@verified ||= {})[scope] = true
155
155
  end
156
156
 
@@ -51,9 +51,9 @@ module RgGen
51
51
  end
52
52
 
53
53
  def load_file(file)
54
- build_by_block(
55
- instance_eval("-> { #{File.binread(file)} }", file, 1)
56
- )
54
+ build_by_block(instance_eval(<<~BODY, file, 1))
55
+ -> { #{File.binread(file)} } # -> { File.binread(file) }
56
+ BODY
57
57
  end
58
58
 
59
59
  private
@@ -79,7 +79,11 @@ module RgGen
79
79
 
80
80
  def position_from_caller
81
81
  locations = caller_locations(3, 2)
82
- locations[0].path.include?('docile') ? locations[1] : locations[0]
82
+ include_docile_path?(locations[0]) && locations[1] || locations[0]
83
+ end
84
+
85
+ def include_docile_path?(caller_location)
86
+ caller_location.path.include?('docile')
83
87
  end
84
88
 
85
89
  def create_child_data(layer, &block)
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RgGen
4
+ module Core
5
+ module InputBase
6
+ module TOMLLoader
7
+ private
8
+
9
+ def load_toml(file)
10
+ toml = File.binread(file)
11
+ Tomlrb.parse(toml, symbolize_keys: true)
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -25,16 +25,20 @@ module RgGen
25
25
  end
26
26
 
27
27
  def symbolize_keys(result)
28
- if result.is_a? Hash
29
- result.each_with_object({}) do |(key, value), hash|
30
- hash[key.to_sym] = symbolize_keys(value)
31
- end
32
- elsif result.is_a? Array
33
- result.map(&method(:symbolize_keys))
34
- else
35
- result
28
+ case result
29
+ when Hash then symbolize_hash(result)
30
+ when Array then symbolize_array(result)
31
+ else result
36
32
  end
37
33
  end
34
+
35
+ def symbolize_hash(result)
36
+ result.map { |key, value| [key.to_sym, symbolize_keys(value)] }.to_h
37
+ end
38
+
39
+ def symbolize_array(result)
40
+ result.map(&method(:symbolize_keys))
41
+ end
38
42
  end
39
43
 
40
44
  def load_yaml(file)
@@ -31,7 +31,7 @@ module RgGen
31
31
  if block.arity.zero?
32
32
  code << context.instance_exec(&block)
33
33
  else
34
- context .instance_exec(code, &block)
34
+ context.instance_exec(code, &block)
35
35
  end
36
36
  end
37
37
 
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RgGen
4
+ module Core
5
+ module Plugin
6
+ attr_reader :plugin_spec
7
+
8
+ private
9
+
10
+ def setup_plugin(name)
11
+ @plugin_spec = Builder::PluginSpec.new(name, self)
12
+ block_given? && yield(@plugin_spec)
13
+ end
14
+ end
15
+ end
16
+ end
@@ -5,16 +5,15 @@ module RgGen
5
5
  module RegisterMap
6
6
  def self.setup(builder)
7
7
  builder.input_component_registry(:register_map) do
8
- register_component [
9
- :root, :register_block, :register_file, :register, :bit_field
10
- ] do |layer|
8
+ register_component do
11
9
  component Component, ComponentFactory
12
- feature Feature, FeatureFactory if layer != :root
10
+ feature Feature, FeatureFactory
13
11
  end
14
12
 
15
13
  register_loader :ruby, RubyLoader
16
- register_loader :yaml, YAMLLoader
17
14
  register_loader :json, JSONLoader
15
+ register_loader :toml, TOMLLoader
16
+ register_loader :yaml, YAMLLoader
18
17
  end
19
18
  end
20
19
  end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RgGen
4
+ module Core
5
+ module RegisterMap
6
+ class TOMLLoader < Loader
7
+ include HashLoader
8
+ include InputBase::TOMLLoader
9
+
10
+ support_types [:toml]
11
+
12
+ def read_file(file)
13
+ load_toml(file)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -26,6 +26,7 @@ module RgGen
26
26
  end
27
27
 
28
28
  def inherited(subclass)
29
+ super
29
30
  export_instance_variable(:@attributes, subclass, &:dup)
30
31
  end
31
32
  end
@@ -2,9 +2,7 @@
2
2
 
3
3
  module RgGen
4
4
  module Core
5
- MAJOR = 0
6
- MINOR = 23
7
- PATCH = 1
8
- VERSION = "#{MAJOR}.#{MINOR}.#{PATCH}"
5
+ VERSION = '0.24.0'
6
+ MAJOR, MINOR, PATCH = VERSION.split('.').map(&:to_i)
9
7
  end
10
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rggen-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.23.1
4
+ version: 0.24.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Taichi Ishitani
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-10-24 00:00:00.000000000 Z
11
+ date: 2021-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: docile
@@ -17,6 +17,9 @@ dependencies:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.1.5
20
+ - - "!="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.3.3
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -24,6 +27,9 @@ dependencies:
24
27
  - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: 1.1.5
30
+ - - "!="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.3.3
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: erubi
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +58,20 @@ dependencies:
52
58
  - - ">="
53
59
  - !ruby/object:Gem::Version
54
60
  version: '3.0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: tomlrb
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '2.0'
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '2.0'
55
75
  - !ruby/object:Gem::Dependency
56
76
  name: bundler
57
77
  requirement: !ruby/object:Gem::Requirement
@@ -99,6 +119,7 @@ files:
99
119
  - lib/rggen/core/builder/loader_registry.rb
100
120
  - lib/rggen/core/builder/output_component_registry.rb
101
121
  - lib/rggen/core/builder/plugin_manager.rb
122
+ - lib/rggen/core/builder/plugin_spec.rb
102
123
  - lib/rggen/core/builder/simple_feature_entry.rb
103
124
  - lib/rggen/core/cli.rb
104
125
  - lib/rggen/core/configuration.rb
@@ -112,6 +133,7 @@ files:
112
133
  - lib/rggen/core/configuration/json_loader.rb
113
134
  - lib/rggen/core/configuration/loader.rb
114
135
  - lib/rggen/core/configuration/ruby_loader.rb
136
+ - lib/rggen/core/configuration/toml_loader.rb
115
137
  - lib/rggen/core/configuration/yaml_loader.rb
116
138
  - lib/rggen/core/core_extensions/object.rb
117
139
  - lib/rggen/core/dsl.rb
@@ -129,6 +151,7 @@ files:
129
151
  - lib/rggen/core/input_base/json_loader.rb
130
152
  - lib/rggen/core/input_base/loader.rb
131
153
  - lib/rggen/core/input_base/property.rb
154
+ - lib/rggen/core/input_base/toml_loader.rb
132
155
  - lib/rggen/core/input_base/verifier.rb
133
156
  - lib/rggen/core/input_base/yaml_loader.rb
134
157
  - lib/rggen/core/options.rb
@@ -141,6 +164,7 @@ files:
141
164
  - lib/rggen/core/output_base/file_writer.rb
142
165
  - lib/rggen/core/output_base/raise_error.rb
143
166
  - lib/rggen/core/output_base/template_engine.rb
167
+ - lib/rggen/core/plugin.rb
144
168
  - lib/rggen/core/printers.rb
145
169
  - lib/rggen/core/register_map.rb
146
170
  - lib/rggen/core/register_map/component.rb
@@ -153,6 +177,7 @@ files:
153
177
  - lib/rggen/core/register_map/json_loader.rb
154
178
  - lib/rggen/core/register_map/loader.rb
155
179
  - lib/rggen/core/register_map/ruby_loader.rb
180
+ - lib/rggen/core/register_map/toml_loader.rb
156
181
  - lib/rggen/core/register_map/yaml_loader.rb
157
182
  - lib/rggen/core/utility/attribute_setter.rb
158
183
  - lib/rggen/core/utility/code_utility.rb
@@ -186,8 +211,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
186
211
  - !ruby/object:Gem::Version
187
212
  version: '0'
188
213
  requirements: []
189
- rubygems_version: 3.1.2
214
+ rubygems_version: 3.2.3
190
215
  signing_key:
191
216
  specification_version: 4
192
- summary: rggen-core-0.23.1
217
+ summary: rggen-core-0.24.0
193
218
  test_files: []