avm-tools 0.117.3 → 0.120.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 +4 -4
- data/lib/avm/tools/app_src.rb +1 -5
- data/lib/avm/tools/runner/app_src/info.rb +0 -8
- data/lib/avm/tools/runner/app_src/subs.rb +71 -0
- data/lib/avm/tools/runner/app_src.rb +2 -0
- data/lib/avm/tools/version.rb +1 -1
- data/sub/avm/lib/avm/registry/base.rb +6 -2
- data/sub/avm/lib/avm/registry/with_path.rb +23 -0
- data/sub/avm/lib/avm/registry.rb +11 -1
- data/sub/avm/lib/avm/scms/base.rb +2 -7
- data/sub/avm/lib/avm/scms/null.rb +14 -0
- data/sub/avm/lib/avm/sources/base/configuration.rb +24 -7
- data/sub/avm/lib/avm/sources/base/locale.rb +26 -0
- data/sub/avm/lib/avm/sources/base/subs.rb +55 -0
- data/sub/avm/lib/avm/sources/base/subs_paths.rb +32 -0
- data/sub/avm/lib/avm/sources/base/testing.rb +6 -0
- data/sub/avm/lib/avm/sources/base.rb +11 -7
- data/sub/avm/lib/avm/version.rb +1 -1
- data/sub/avm-eac_rails_base0/avm-eac_rails_base0.gemspec +1 -1
- data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/sources/base.rb +27 -0
- data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/version.rb +1 -1
- data/sub/avm-eac_rails_base1/avm-eac_rails_base1.gemspec +1 -0
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/sources/base.rb +27 -0
- data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/version.rb +1 -1
- data/sub/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +1 -1
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base.rb +27 -0
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/version.rb +1 -1
- data/sub/avm-eac_redmine_plugin_base0/Gemfile +5 -0
- data/sub/avm-eac_redmine_plugin_base0/avm-eac_redmine_plugin_base0.gemspec +19 -0
- data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb +30 -0
- data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/version.rb +7 -0
- data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0.rb +9 -0
- data/sub/avm-eac_redmine_plugin_base0/spec/rubocop_spec.rb +3 -0
- data/sub/avm-eac_redmine_plugin_base0/spec/spec_helper.rb +4 -0
- data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +2 -1
- data/{lib/avm/ruby → sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/bundler/incompatible_parser/depends_on.rb +3 -3
- data/{lib/avm/ruby → sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/bundler/incompatible_parser/gem_conflict.rb +11 -6
- data/{lib/avm/ruby → sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/bundler/incompatible_parser/in_gemfile.rb +3 -3
- data/{lib/avm/ruby → sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/bundler/incompatible_parser/line_buffer.rb +3 -3
- data/{lib/avm/ruby → sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/bundler/incompatible_parser/line_factory.rb +4 -4
- data/{lib/avm/ruby → sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/bundler/incompatible_parser/line_parser_base.rb +1 -1
- data/{lib/avm/ruby → sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/bundler/incompatible_parser/version_requirement.rb +4 -4
- data/{lib/avm/ruby → sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1}/bundler/incompatible_parser.rb +2 -2
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundle_command.rb +39 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundler.rb +39 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base.rb +7 -2
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/incompatible.rb +76 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler.rb +19 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners.rb +13 -0
- data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +1 -1
- data/sub/avm-eac_ruby_base1/locale/{en.yaml → en.yml} +0 -0
- data/sub/avm-eac_ruby_base1/locale/{pt-BR.yaml → pt-BR.yml} +0 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec.rb +7 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.source.out +192 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.target.yaml +300 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.source.out +245 -0
- data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.target.yaml +355 -0
- metadata +56 -19
- data/lib/avm/tools/runner/app_src/ruby/bundler/incompatible.rb +0 -82
- data/sub/avm/lib/avm/sources/configuration/locale.rb +0 -18
- 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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 03fc9a92381ea8132ea31e0f26c18ffca15f64f50ad147e171f8c107449cc6ab
|
|
4
|
+
data.tar.gz: 0b03b5e4b7ab4d014207080d4e07cb4ce8a61945f7c0773147b7226d567bb644
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d02d876cb32ffeba8c56d3ef3d44ee66f55a49fa30a3958555bbfe90539df15ccef6a70ddd039a4c68b72384bed37dfa3e9a102fc4b9d9a74fafc42b4d8d36e3
|
|
7
|
+
data.tar.gz: b7860a33604d1751eb3451dd8a3646e591a93c4d4380994c175242925c1f8a64b6dd860132c3ff9f8ea9876331a88ad397ac0fbc64c37facd0cdff76cbfa4aab
|
data/lib/avm/tools/app_src.rb
CHANGED
|
@@ -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
|
data/lib/avm/tools/version.rb
CHANGED
|
@@ -11,8 +11,7 @@ module Avm
|
|
|
11
11
|
|
|
12
12
|
def detect(*registered_initialize_args)
|
|
13
13
|
detect_optional(*registered_initialize_args) ||
|
|
14
|
-
|
|
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
|
data/sub/avm/lib/avm/registry.rb
CHANGED
|
@@ -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
|
-
|
|
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
|
|
37
|
-
|
|
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
|
|
@@ -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
|
|
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 [
|
|
31
|
+
# @return [EacConfig::YamlFileNode]
|
|
21
32
|
def configuration_uncached
|
|
22
|
-
|
|
23
|
-
|
|
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
|
-
|
|
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.
|
|
49
|
+
::Avm::Registry.scms.detect_optional(path) || ::Avm::Scms::Null.new(path)
|
|
46
50
|
end
|
|
47
51
|
end
|
|
48
52
|
end
|
data/sub/avm/lib/avm/version.rb
CHANGED
|
@@ -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.
|
|
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
|
|
@@ -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
|
|
@@ -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.
|
|
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
|
|
@@ -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
|