avm-tools 0.117.3 → 0.120.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avm/tools/app_src.rb +1 -5
  3. data/lib/avm/tools/runner/app_src/info.rb +0 -8
  4. data/lib/avm/tools/runner/app_src/subs.rb +71 -0
  5. data/lib/avm/tools/runner/app_src.rb +2 -0
  6. data/lib/avm/tools/version.rb +1 -1
  7. data/sub/avm/lib/avm/registry/base.rb +6 -2
  8. data/sub/avm/lib/avm/registry/with_path.rb +23 -0
  9. data/sub/avm/lib/avm/registry.rb +11 -1
  10. data/sub/avm/lib/avm/scms/base.rb +2 -7
  11. data/sub/avm/lib/avm/scms/null.rb +14 -0
  12. data/sub/avm/lib/avm/sources/base/configuration.rb +24 -7
  13. data/sub/avm/lib/avm/sources/base/locale.rb +26 -0
  14. data/sub/avm/lib/avm/sources/base/subs.rb +55 -0
  15. data/sub/avm/lib/avm/sources/base/subs_paths.rb +32 -0
  16. data/sub/avm/lib/avm/sources/base/testing.rb +6 -0
  17. data/sub/avm/lib/avm/sources/base.rb +11 -7
  18. data/sub/avm/lib/avm/version.rb +1 -1
  19. data/sub/avm-eac_rails_base0/avm-eac_rails_base0.gemspec +1 -1
  20. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/sources/base.rb +27 -0
  21. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/version.rb +1 -1
  22. data/sub/avm-eac_rails_base1/avm-eac_rails_base1.gemspec +1 -0
  23. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/sources/base.rb +27 -0
  24. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/version.rb +1 -1
  25. data/sub/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +1 -1
  26. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base.rb +27 -0
  27. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/version.rb +1 -1
  28. data/sub/avm-eac_redmine_plugin_base0/Gemfile +5 -0
  29. data/sub/avm-eac_redmine_plugin_base0/avm-eac_redmine_plugin_base0.gemspec +19 -0
  30. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb +30 -0
  31. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/version.rb +7 -0
  32. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0.rb +9 -0
  33. data/sub/avm-eac_redmine_plugin_base0/spec/rubocop_spec.rb +3 -0
  34. data/sub/avm-eac_redmine_plugin_base0/spec/spec_helper.rb +4 -0
  35. data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +2 -1
  36. data/{lib/avm/ruby → sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/bundler/incompatible_parser/depends_on.rb +3 -3
  37. data/{lib/avm/ruby → sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/bundler/incompatible_parser/gem_conflict.rb +11 -6
  38. data/{lib/avm/ruby → sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/bundler/incompatible_parser/in_gemfile.rb +3 -3
  39. data/{lib/avm/ruby → sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/bundler/incompatible_parser/line_buffer.rb +3 -3
  40. data/{lib/avm/ruby → sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/bundler/incompatible_parser/line_factory.rb +4 -4
  41. data/{lib/avm/ruby → sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/bundler/incompatible_parser/line_parser_base.rb +1 -1
  42. data/{lib/avm/ruby → sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/bundler/incompatible_parser/version_requirement.rb +4 -4
  43. data/{lib/avm/ruby → sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/bundler/incompatible_parser.rb +2 -2
  44. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundle_command.rb +39 -0
  45. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundler.rb +39 -0
  46. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base.rb +7 -2
  47. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/incompatible.rb +76 -0
  48. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler.rb +19 -0
  49. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners.rb +13 -0
  50. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +1 -1
  51. data/sub/avm-eac_ruby_base1/locale/{en.yaml → en.yml} +0 -0
  52. data/sub/avm-eac_ruby_base1/locale/{pt-BR.yaml → pt-BR.yml} +0 -0
  53. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec.rb +7 -0
  54. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.source.out +192 -0
  55. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.target.yaml +300 -0
  56. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.source.out +245 -0
  57. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.target.yaml +355 -0
  58. metadata +56 -19
  59. data/lib/avm/tools/runner/app_src/ruby/bundler/incompatible.rb +0 -82
  60. data/sub/avm/lib/avm/sources/configuration/locale.rb +0 -18
  61. data/sub/avm/lib/avm/sources/configuration/tests.rb +0 -29
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4fec1bb05188ea00085f3ca44ed3945e58675f2dddb1593fd857312ce98caa45
4
- data.tar.gz: 695a666752439b000d12d60da7ee84c1b34aba488a650409eedeb2708702a8f1
3
+ metadata.gz: 03fc9a92381ea8132ea31e0f26c18ffca15f64f50ad147e171f8c107449cc6ab
4
+ data.tar.gz: 0b03b5e4b7ab4d014207080d4e07cb4ce8a61945f7c0773147b7226d567bb644
5
5
  SHA512:
6
- metadata.gz: fb85f443966aa7612f54b69f367a0b72df3d9ba4016cb6b4b4ea8e1f927d34c6d3716bcbdfd1f2638faba539b50d7042043d202469ffb604e35f41ea6b8e5906
7
- data.tar.gz: d3629c61d983caee50edfc740da31ff96d031e9632f170ce25be6f73687295baa5c6fe410ffb32260c212290c0716fb0534a1229884be2849bfa3206bc84dac5
6
+ metadata.gz: d02d876cb32ffeba8c56d3ef3d44ee66f55a49fa30a3958555bbfe90539df15ccef6a70ddd039a4c68b72384bed37dfa3e9a102fc4b9d9a74fafc42b4d8d36e3
7
+ data.tar.gz: b7860a33604d1751eb3451dd8a3646e591a93c4d4380994c175242925c1f8a64b6dd860132c3ff9f8ea9876331a88ad397ac0fbc64c37facd0cdff76cbfa4aab
@@ -17,6 +17,7 @@ module Avm
17
17
  source_stereotypes_mixins
18
18
  end
19
19
 
20
+ delegate :configuration, to: :avm_instance
20
21
  delegate :to_s, to: :path
21
22
 
22
23
  def locale
@@ -39,11 +40,6 @@ module Avm
39
40
  ::Avm::Registry.sources.detect(path)
40
41
  end
41
42
 
42
- # @return [Avm::Sources::Configuration]
43
- def configuration_uncached
44
- ::Avm::Sources::Configuration.find_in_path(path)
45
- end
46
-
47
43
  def stereotypes_jobs(job, job_args)
48
44
  job_class_method = "#{job}_class"
49
45
  r = []
@@ -14,7 +14,6 @@ module Avm
14
14
  def run
15
15
  show_instance
16
16
  show_source
17
- show_subs
18
17
  end
19
18
 
20
19
  private
@@ -29,13 +28,6 @@ module Avm
29
28
  infov 'SCM', runner_context.call(:subject).scm
30
29
  end
31
30
 
32
- def show_subs
33
- infov 'Sub applications', instance.avm_instance.subs.count
34
- instance.avm_instance.subs.each do |subapp|
35
- infov ' * ', "#{subapp.relative_path} [#{subapp.class}]"
36
- end
37
- end
38
-
39
31
  def instance
40
32
  runner_context.call(:instance)
41
33
  end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/tools/core_ext'
4
+
5
+ module Avm
6
+ module Tools
7
+ class Runner
8
+ class AppSrc
9
+ class Subs
10
+ PADDING = ' '
11
+
12
+ runner_with :help, :output do
13
+ desc 'Output source\'s subs.'
14
+ bool_opt '-i', '--info'
15
+ bool_opt '-R', '--recursive'
16
+ bool_opt '-t', '--tree'
17
+ end
18
+
19
+ def run
20
+ start_banner
21
+ run_output
22
+ end
23
+
24
+ def start_banner
25
+ infov 'Include PATH', runner_context.call(:subject).subs_include_path
26
+ infov 'Exclude PATH', runner_context.call(:subject).subs_exclude_path
27
+ infov 'Count', runner_context.call(:subject).subs.count
28
+ end
29
+
30
+ def output_content
31
+ b = []
32
+ runner_context.call(:subject).subs.each do |sub|
33
+ b += sub_output_content_lines(sub, 0)
34
+ end
35
+ b.map { |line| "#{line}\n" }.join
36
+ end
37
+
38
+ def sub_info_label(sub)
39
+ return '' unless parsed.info?
40
+
41
+ ' [' + {
42
+ 'CLASS' => sub.class.name
43
+ }.map { |k, v| "#{k}: #{v}" }.join(', ') + ']'
44
+ end
45
+
46
+ def sub_label(sub, level)
47
+ sub_self_label(sub, level) + sub_info_label(sub)
48
+ end
49
+
50
+ def sub_self_label(sub, level)
51
+ if parsed.tree?
52
+ (PADDING * level) + sub.relative_path.to_s
53
+ else
54
+ sub.path.relative_path_from(runner_context.call(:subject).path).to_s
55
+ end
56
+ end
57
+
58
+ def sub_output_content_lines(sub, level)
59
+ [sub_label(sub, level)] + sub_subs_output_content_lines(sub, level)
60
+ end
61
+
62
+ def sub_subs_output_content_lines(sub, level)
63
+ return [] unless parsed.recursive?
64
+
65
+ sub.subs.flat_map { |sub_sub| sub_output_content_lines(sub_sub, level + 1) }
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
@@ -23,6 +23,8 @@ module Avm
23
23
  instance.avm_instance
24
24
  end
25
25
 
26
+ delegate :extra_available_subcommands, to: :subject
27
+
26
28
  private
27
29
 
28
30
  def instance_uncached
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module Tools
5
- VERSION = '0.117.3'
5
+ VERSION = '0.120.0'
6
6
  end
7
7
  end
@@ -11,8 +11,7 @@ module Avm
11
11
 
12
12
  def detect(*registered_initialize_args)
13
13
  detect_optional(*registered_initialize_args) ||
14
- raise("No registered module valid for #{registered_initialize_args}" \
15
- " (Module suffix: #{module_suffix}, Available: #{registered_modules.join(', ')})")
14
+ raise_not_found(*registered_initialize_args)
16
15
  end
17
16
 
18
17
  def detect_optional(*registered_initialize_args)
@@ -38,6 +37,11 @@ module Avm
38
37
 
39
38
  private
40
39
 
40
+ def raise_not_found(*args)
41
+ raise("No registered module valid for #{args}" \
42
+ " (Module suffix: #{module_suffix}, Available: #{registered_modules.join(', ')})")
43
+ end
44
+
41
45
  def registered_modules_uncached
42
46
  registered_gems.flat_map { |registry| modules_from_registry(registry) }
43
47
  .select { |v| valid_registered_module?(v) }.uniq
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/registry/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Registry
8
+ class WithPath < ::Avm::Registry::Base
9
+ def detect_by_path(path)
10
+ detect_by_path_optional(path) || raise_not_found(path)
11
+ end
12
+
13
+ def detect_by_path_optional(path)
14
+ current_path = path.to_pathname.expand_path
15
+ until current_path.root?
16
+ detect_optional(current_path).if_present { |v| return v }
17
+ current_path = current_path.parent
18
+ end
19
+ nil
20
+ end
21
+ end
22
+ end
23
+ end
@@ -9,6 +9,8 @@ module Avm
9
9
  enable_listable
10
10
  lists.add_symbol :category, :instance_stereotypes, :runners, :scms, :sources
11
11
 
12
+ WITH_PATH = [CATEGORY_SCMS, CATEGORY_SOURCES].freeze
13
+
12
14
  class << self
13
15
  enable_simple_cache
14
16
 
@@ -21,7 +23,15 @@ module Avm
21
23
 
22
24
  ::Avm::Registry.lists.category.each_value do |category|
23
25
  define_method "#{category}_uncached" do
24
- ::Avm::Registry::Base.new(category.to_s.camelize)
26
+ registry_class(category).new(category.to_s.camelize)
27
+ end
28
+ end
29
+
30
+ def registry_class(category)
31
+ if WITH_PATH.include?(category)
32
+ ::Avm::Registry::WithPath
33
+ else
34
+ ::Avm::Registry::Base
25
35
  end
26
36
  end
27
37
  end
@@ -33,13 +33,8 @@ module Avm
33
33
  private
34
34
 
35
35
  # @return [Avm::Scms::Base]
36
- def parent_scm
37
- parent_path = path.parent
38
- until parent_path.root?
39
- ::Avm::Registry.scms.detect_optional(parent_path).if_present { |v| return v }
40
- parent_path = parent_path.parent
41
- end
42
- nil
36
+ def parent_scm_uncached
37
+ ::Avm::Registry.scms.detect_by_path_optional(path.parent)
43
38
  end
44
39
  end
45
40
  end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/scms/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Scms
8
+ class Null < ::Avm::Scms::Base
9
+ def update
10
+ # Do nothing
11
+ end
12
+ end
13
+ end
14
+ end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'eac_config/yaml_file_node'
3
4
  require 'eac_ruby_utils/core_ext'
4
5
  require 'eac_ruby_utils/yaml'
5
6
  require 'shellwords'
@@ -8,23 +9,39 @@ module Avm
8
9
  module Sources
9
10
  class Base
10
11
  module Configuration
12
+ CONFIGURATION_FILENAMES = %w[.avm.yml .avm.yaml].freeze
13
+
11
14
  # @return [Array<String>, nil]
12
15
  def read_configuration_as_shell_words(key)
13
- configuration[key].if_present do |v|
16
+ configuration.entry(key).value.if_present do |v|
14
17
  v.is_a?(::Enumerable) ? v.map(&:to_s) : ::Shellwords.split(v.to_s)
15
18
  end
16
19
  end
17
20
 
21
+ # Utility to read a configuration as a [EacRubyUtils::Envs::Command].
22
+ # @return [EacRubyUtils::Envs::Command]
23
+ def read_configuration_as_env_command(key)
24
+ read_configuration_as_shell_words(key).if_present do |v|
25
+ env.command(v).chdir(path)
26
+ end
27
+ end
28
+
18
29
  private
19
30
 
20
- # @return [Hash]
31
+ # @return [EacConfig::YamlFileNode]
21
32
  def configuration_uncached
22
- ::Avm::Sources::Configuration::FILENAMES.each do |filename|
23
- file_path = path.join(filename)
24
- return ::EacRubyUtils::Yaml.load_file(file_path).with_indifferent_access if
25
- file_path.exist?
33
+ CONFIGURATION_FILENAMES.each do |filename|
34
+ configuration_with_filename(filename, true)
26
35
  end
27
- {}
36
+ configuration_with_filename(CONFIGURATION_FILENAMES.first, false)
37
+ end
38
+
39
+ # @return [EacConfig::YamlFileNode, nil]
40
+ def configuration_with_filename(filename, needs_exist)
41
+ file_path = path.join(filename)
42
+ return ::EacConfig::YamlFileNode.new(file_path) if !needs_exist || file_path.exist?
43
+
44
+ nil
28
45
  end
29
46
 
30
47
  # @return [Avm::Sources::Configuration]
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+ require 'i18n'
5
+
6
+ module Avm
7
+ module Sources
8
+ class Base
9
+ module Locale
10
+ LOCALE_KEY = 'locale'
11
+
12
+ def locale
13
+ configured_locale || default_locale
14
+ end
15
+
16
+ def configured_locale
17
+ configuration.entry(LOCALE_KEY).value
18
+ end
19
+
20
+ def default_locale
21
+ ::I18n.default_locale
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/sources/base/subs_paths'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Sources
8
+ class Base
9
+ module Subs
10
+ CONFIGURATION_SUBS_EXCLUDE_PATHS_KEY = 'subs.exclude_path'
11
+ CONFIGURATION_SUBS_INCLUDE_PATHS_KEY = 'subs.include_path'
12
+ SUBS_EXCLUDE_PATHS_DEFAULT = [].freeze
13
+ SUBS_INCLUDE_PATHS_DEFAULT = ['sub/*'].freeze
14
+
15
+ # @return [Enumerable<Avm::Sources::Base>]
16
+ def subs
17
+ subs_paths_to_search
18
+ .map { |sub_path| ::Avm::Registry.sources.detect_optional(sub_path, parent: self) }
19
+ .reject(&:blank?)
20
+ .sort_by { |sub| [sub.path] }
21
+ end
22
+
23
+ def subs_paths_to_search
24
+ subs_include_paths.flat_map do |subs_include_path|
25
+ ::Pathname.glob(path.join(subs_include_path)).reject do |sub_path|
26
+ subs_exclude_paths.any? do |subs_exclude_path|
27
+ sub_path.fnmatch?(path.join(subs_exclude_path).to_path)
28
+ end
29
+ end
30
+ end
31
+ end
32
+
33
+ %i[include exclude].each do |type|
34
+ %i[path paths configured_paths default_paths].each do |method_suffix|
35
+ obj_method_name = "subs_#{type}_path_obj"
36
+
37
+ define_method "subs_#{type}_#{method_suffix}" do
38
+ send(obj_method_name).send(method_suffix)
39
+ end
40
+
41
+ define_method "#{obj_method_name}_uncached" do
42
+ ::Avm::Sources::Base::SubsPaths.new(
43
+ self,
44
+ self.class.const_get("CONFIGURATION_SUBS_#{type}_PATHS_KEY".upcase),
45
+ self.class.const_get("SUBS_#{type}_PATHS_DEFAULT".upcase)
46
+ )
47
+ end
48
+
49
+ private "#{obj_method_name}_uncached" # rubocop:disable Style/AccessModifierDeclarations
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Sources
7
+ class Base
8
+ class SubsPaths
9
+ SUBS_PATH_SEPARATOR = ':'
10
+
11
+ common_constructor :source, :configuration_key, :default_paths
12
+
13
+ # @return [String]
14
+ def path
15
+ paths.join(SUBS_PATH_SEPARATOR)
16
+ end
17
+
18
+ # @return [Array<String>]
19
+ def paths
20
+ configured_paths || default_paths
21
+ end
22
+
23
+ # @return [Array<String>]
24
+ def configured_paths
25
+ source.configuration.entry(configuration_key).value.if_present do |v|
26
+ v.split(SUBS_PATH_SEPARATOR)
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -6,6 +6,12 @@ module Avm
6
6
  module Sources
7
7
  class Base
8
8
  module Testing
9
+ TEST_COMMAND_KEY = 'test.command'
10
+
11
+ def configured_test_command
12
+ read_configuration_as_env_command(TEST_COMMAND_KEY)
13
+ end
14
+
9
15
  # @return [Avm::Sources::Tester]
10
16
  def tester
11
17
  tester_class.new(self)
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/registry'
4
+ require 'avm/scms/null'
4
5
  require 'eac_git'
5
6
  require 'eac_ruby_utils/core_ext'
6
7
 
@@ -20,7 +21,15 @@ module Avm
20
21
 
21
22
  abstract_methods :update, :valid?
22
23
 
23
- delegate :locale, to: :old_configuration
24
+ # @return [EacRubyUtils::Envs::LocalEnv]
25
+ def env
26
+ ::EacRubyUtils::Envs::LocalEnv.new
27
+ end
28
+
29
+ # @return [Hash<String, Class>]
30
+ def extra_available_subcommands
31
+ {}
32
+ end
24
33
 
25
34
  # @return [Pathname]
26
35
  def relative_path
@@ -33,16 +42,11 @@ module Avm
33
42
  "#{self.class}[#{path}]"
34
43
  end
35
44
 
36
- # @return [Enumerable<Avm::Sources::Base>]
37
- def subs
38
- scm.subs.map { |subrepo| ::Avm::Registry.sources.detect(subrepo.path, parent: self) }
39
- end
40
-
41
45
  private
42
46
 
43
47
  # @return [Avm::Scms::Base]
44
48
  def scm_uncached
45
- ::Avm::Registry.scms.detect(path)
49
+ ::Avm::Registry.scms.detect_optional(path) || ::Avm::Scms::Null.new(path)
46
50
  end
47
51
  end
48
52
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Avm
4
- VERSION = '0.19.0'
4
+ VERSION = '0.22.0'
5
5
  end
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib,template}/**/*']
14
14
 
15
- s.add_dependency 'avm-eac_rails_base1', '~> 0.2'
15
+ s.add_dependency 'avm-eac_rails_base1', '~> 0.3'
16
16
  s.add_dependency 'eac_ruby_utils', '~> 0.80', '>= 0.80.2'
17
17
 
18
18
  s.add_development_dependency 'eac_ruby_gem_support', '~> 0.4'
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_rails_base1/sources/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module EacRailsBase0
8
+ module Sources
9
+ class Base < ::Avm::EacRailsBase1::Sources::Base
10
+ CONFIG_RU_SUBPATH = 'config.ru'
11
+ SUBS_INCLUDE_PATHS_DEFAULT = ['sub/*/*'].freeze
12
+
13
+ def config_ru_path
14
+ path.join(CONFIG_RU_SUBPATH)
15
+ end
16
+
17
+ def subs_include_paths_default
18
+ SUBS_PATHS_DEFAULT
19
+ end
20
+
21
+ def valid?
22
+ super && config_ru_path.exist?
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRailsBase0
5
- VERSION = '0.3.0'
5
+ VERSION = '0.4.1'
6
6
  end
7
7
  end
@@ -12,6 +12,7 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib}/**/*']
14
14
 
15
+ s.add_dependency 'avm-eac_ruby_base1', '~> 0.6'
15
16
  s.add_dependency 'avm-eac_webapp_base0', '~> 0.3'
16
17
  s.add_dependency 'eac_ruby_gems_utils', '~> 0.9', '>= 0.9.9'
17
18
  s.add_dependency 'eac_ruby_utils', '~> 0.68'
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_ruby_base1/sources/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module EacRailsBase1
8
+ module Sources
9
+ class Base < ::Avm::EacRubyBase1::Sources::Base
10
+ CONFIG_RU_SUBPATH = 'config.ru'
11
+ SUBS_PATHS_DEFAULT = ['sub/*/*'].freeze
12
+
13
+ def config_ru_path
14
+ path.join(CONFIG_RU_SUBPATH)
15
+ end
16
+
17
+ def subs_paths_default
18
+ SUBS_PATHS_DEFAULT
19
+ end
20
+
21
+ def valid?
22
+ super && config_ru_path.exist?
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRailsBase1
5
- VERSION = '0.2.1'
5
+ VERSION = '0.3.0'
6
6
  end
7
7
  end
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib,template}/**/*']
14
14
 
15
- s.add_dependency 'avm-eac_rails_base1', '~> 0.2'
15
+ s.add_dependency 'avm-eac_rails_base1', '~> 0.3'
16
16
  s.add_dependency 'avm-eac_ubuntu_base0', '~> 0.2'
17
17
  s.add_dependency 'curb', '~> 0.9.10'
18
18
  s.add_dependency 'eac_fs', '~> 0.4'
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_rails_base1/sources/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module EacRedmineBase0
8
+ module Sources
9
+ class Base < ::Avm::EacRailsBase1::Sources::Base
10
+ REDMINE_LIB_SUBPATH = 'lib/redmine.rb'
11
+ SUBS_INCLUDE_PATHS_DEFAULT = ['plugins/*'].freeze
12
+
13
+ def redmine_lib_path
14
+ path.join(REDMINE_LIB_SUBPATH)
15
+ end
16
+
17
+ def subs_include_paths_default
18
+ SUBS_INCLUDE_PATHS_DEFAULT
19
+ end
20
+
21
+ def valid?
22
+ super && redmine_lib_path.exist?
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRedmineBase0
5
- VERSION = '0.5.2'
5
+ VERSION = '0.6.1'
6
6
  end
7
7
  end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ gemspec
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
4
+
5
+ require 'avm/eac_redmine_plugin_base0/version'
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = 'avm-eac_redmine_plugin_base0'
9
+ s.version = Avm::EacRedminePluginBase0::VERSION
10
+ s.authors = ['Eduardo H. Bogoni']
11
+ s.summary = 'E.A.C.\'s AVM base for Redmine plugins.'
12
+
13
+ s.files = Dir['{lib}/**/*']
14
+
15
+ s.add_dependency 'avm-eac_ruby_base1', '~> 0.7'
16
+ s.add_dependency 'eac_ruby_utils', '~> 0.95', '>= 0.95.1'
17
+
18
+ s.add_development_dependency 'eac_ruby_gem_support', '~> 0.5', '>= 0.5.1'
19
+ end