eac_tools 0.40.0 → 0.42.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +29 -29
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm/avm.gemspec +4 -4
  5. data/sub/avm/lib/avm/applications/base.rb +24 -3
  6. data/sub/avm/lib/avm/entries/entry.rb +5 -0
  7. data/sub/avm/lib/avm/instances/base.rb +5 -12
  8. data/sub/avm/lib/avm/instances/ids.rb +30 -0
  9. data/sub/avm/lib/avm/rspec/setup.rb +8 -0
  10. data/sub/avm/lib/avm/sources/base/instance.rb +2 -14
  11. data/sub/avm/lib/avm/version.rb +1 -1
  12. data/sub/avm/spec/spec_helper.rb +1 -1
  13. data/sub/avm-eac_asciidoctor_base0/avm-eac_asciidoctor_base0.gemspec +3 -2
  14. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/base.rb +18 -0
  15. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/header_macro_value.rb +59 -0
  16. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb +50 -0
  17. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document.rb +84 -0
  18. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/{sources → instances}/build.rb +15 -16
  19. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/deploy.rb +4 -4
  20. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/source_generators/base.rb +0 -3
  21. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base.rb +7 -1
  22. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb +7 -5
  23. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/version.rb +1 -1
  24. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec.rb +32 -0
  25. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec_files/pre_processed_root_body.adoc +15 -0
  26. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec.rb +44 -0
  27. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/doc1.html +1 -0
  28. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/doc2/doc2_1.html +1 -0
  29. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/doc2.html +1 -0
  30. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/index.html +1 -0
  31. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/{index.adoc → content/body.adoc} +1 -0
  32. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/sources/base_spec.rb +14 -0
  33. data/sub/avm-eac_asciidoctor_base0/spec/spec_helper.rb +1 -0
  34. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/{index.adoc → content/body.adoc} +1 -0
  35. data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +2 -2
  36. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/dependencies.rb +27 -0
  37. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/gemfile_lock.rb +27 -0
  38. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/options.rb +30 -0
  39. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/version_builder.rb +52 -0
  40. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base.rb +1 -66
  41. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +1 -1
  42. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec.rb +2 -1
  43. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/scm.rb +3 -1
  44. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +1 -1
  45. data/sub/avm-git/avm-git.gemspec +1 -1
  46. data/sub/avm-git/lib/avm/git/version.rb +1 -1
  47. data/sub/avm-git/lib/avm/git.rb +0 -2
  48. data/sub/eac_cli/eac_cli.gemspec +2 -2
  49. data/sub/eac_cli/lib/eac_cli/config/entry.rb +4 -0
  50. data/sub/eac_cli/lib/eac_cli/version.rb +1 -1
  51. data/sub/eac_config/eac_config.gemspec +2 -2
  52. data/sub/eac_config/lib/eac_config/entry/not_found_error.rb +13 -0
  53. data/sub/eac_config/lib/eac_config/entry.rb +7 -0
  54. data/sub/eac_config/lib/eac_config/version.rb +1 -1
  55. data/sub/eac_fs/lib/eac_fs/comparator/build.rb +57 -0
  56. data/sub/eac_fs/lib/eac_fs/comparator.rb +1 -37
  57. data/sub/eac_fs/lib/eac_fs/version.rb +1 -1
  58. data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/setup.rb +9 -0
  59. data/sub/eac_ruby_utils/lib/eac_ruby_utils/settings_provider/setting_value.rb +15 -6
  60. data/sub/eac_ruby_utils/lib/eac_ruby_utils/settings_provider.rb +5 -1
  61. data/sub/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  62. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/settings_provider_spec.rb +9 -2
  63. metadata +32 -28
  64. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/build/file.rb +0 -30
@@ -2,17 +2,17 @@
2
2
 
3
3
  require 'avm/eac_webapp_base0/instances/deploy'
4
4
  require 'avm/eac_asciidoctor_base0/sources/base'
5
- require 'avm/eac_asciidoctor_base0/sources/build'
5
+ require 'avm/eac_asciidoctor_base0/instances/build'
6
6
 
7
7
  module Avm
8
8
  module EacAsciidoctorBase0
9
9
  module Instances
10
10
  class Deploy < ::Avm::EacWebappBase0::Instances::Deploy
11
11
  def build_content
12
- ::Avm::EacAsciidoctorBase0::Sources::Build.new(
12
+ ::Avm::EacAsciidoctorBase0::Instances::Build.new(
13
13
  project,
14
- ::Avm::EacAsciidoctorBase0::Sources::Build::OPTION_TARGET_DIRECTORY => build_dir
15
- ).run
14
+ ::Avm::EacAsciidoctorBase0::Instances::Build::OPTION_TARGET_DIRECTORY => build_dir
15
+ ).perform
16
16
  end
17
17
 
18
18
  private
@@ -8,9 +8,6 @@ module Avm
8
8
  module EacAsciidoctorBase0
9
9
  module SourceGenerators
10
10
  class Base < ::Avm::SourceGenerators::Base
11
- IDENT = ' '
12
- JOBS = %w[main_document].freeze
13
- TEMPLATE_VARIABLES = %w[lib_path name root_module].freeze
14
11
  OPTIONS = {}.freeze
15
12
 
16
13
  enable_speaker
@@ -8,7 +8,13 @@ module Avm
8
8
  module EacAsciidoctorBase0
9
9
  module Sources
10
10
  class Base < ::Avm::EacWebappBase0::Sources::Base
11
- MAIN_FILE_SUBPATH = ::Pathname.new('index.adoc')
11
+ CONTENT_DIRECTORY_SUBPATH = ::Pathname.new('content')
12
+ CONTENT_DOCUMENT_BASENAME = ::Pathname.new('body.adoc')
13
+ MAIN_FILE_SUBPATH = CONTENT_DIRECTORY_SUBPATH.join(CONTENT_DOCUMENT_BASENAME)
14
+
15
+ def content_directory
16
+ path.join(CONTENT_DIRECTORY_SUBPATH)
17
+ end
12
18
 
13
19
  def valid?
14
20
  path.join(MAIN_FILE_SUBPATH).file?
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/eac_asciidoctor_base0/sources/build'
3
+ require 'avm/eac_asciidoctor_base0/instances/build'
4
4
  require 'eac_cli/core_ext'
5
5
  require 'os'
6
6
 
@@ -17,15 +17,17 @@ module Avm
17
17
 
18
18
  def run
19
19
  start_banner
20
- build.run
20
+ build.perform
21
21
  open
22
22
  end
23
23
 
24
24
  private
25
25
 
26
26
  def build_uncached
27
- ::Avm::EacAsciidoctorBase0::Sources::Build.new(runner_context.call(:source),
28
- target_directory: parsed.target_dir)
27
+ ::Avm::EacAsciidoctorBase0::Instances::Build.new(
28
+ runner_context.call(:source).instance,
29
+ target_directory: parsed.target_dir
30
+ )
29
31
  end
30
32
 
31
33
  def default_target_directory
@@ -40,7 +42,7 @@ module Avm
40
42
  end
41
43
 
42
44
  def open_path
43
- build.source_files.first.target_path
45
+ build.root_document.body_target_path
44
46
  end
45
47
 
46
48
  def start_banner
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacAsciidoctorBase0
5
- VERSION = '0.8.0'
5
+ VERSION = '0.10.0'
6
6
  end
7
7
  end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_asciidoctor_base0/sources/base'
4
+ require 'avm/eac_asciidoctor_base0/instances/build'
5
+
6
+ ::RSpec.describe ::Avm::EacAsciidoctorBase0::Instances::Build::Document do
7
+ let(:application) { ::Avm::Applications::Base.new('myapp') }
8
+ let(:application_instance) do
9
+ ::Avm::EacAsciidoctorBase0::Instances::Base
10
+ .new(application, 'stub')
11
+ end
12
+ let(:build) { ::Avm::EacAsciidoctorBase0::Instances::Build.new(application_instance) }
13
+ let(:fixtures_dir) { __dir__.to_pathname.join('document_spec_files') }
14
+ let(:instance) { build.root_document }
15
+ let(:source) { avm_source('EacAsciidoctorBase0', target_basename: application.id) }
16
+ let(:target_file) { fixtures_dir.join('pre_processed_root_body.adoc') }
17
+
18
+ before do
19
+ application.entry('stereotype').write('EacAsciidoctorBase0')
20
+ ::EacConfig::Node.context.current.entry("#{application.id}_dev.install.path")
21
+ .value = source.path.to_path
22
+ application_instance.entry('install.path').write(source.path.to_path)
23
+ application_instance.entry('install.name').write('The Author')
24
+ application_instance.entry('install.name_initials').write('T.A.')
25
+ application_instance.entry('install.email').write('theauthor@example.net')
26
+ application_instance.entry('web.url').write('https://www.example.net')
27
+ end
28
+
29
+ it do
30
+ expect(instance.pre_processed_body_source_content).to eq(target_file.read)
31
+ end
32
+ end
@@ -0,0 +1,15 @@
1
+ = EacAsciidoctorBase0 Generated Source =
2
+ The Author <theauthor@example.net>
3
+ :Author Initials: T.A.
4
+ :toc: left
5
+ :icons:
6
+ :numbered:
7
+ :website: https://www.example.net
8
+
9
+ == First Section
10
+
11
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean sapien.
12
+
13
+ == Second Section
14
+
15
+ Nam faucibus quis dui at laoreet. Pellentesque ut sapien est.
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_asciidoctor_base0/sources/base'
4
+ require 'avm/eac_asciidoctor_base0/instances/build'
5
+ require 'eac_fs/comparator'
6
+
7
+ ::RSpec.describe ::Avm::EacAsciidoctorBase0::Instances::Build do # rubocop:disable Metrics/BlockLength
8
+ let(:application) { ::Avm::Applications::Base.new('myapp') }
9
+ let(:application_instance) do
10
+ ::Avm::EacAsciidoctorBase0::Instances::Base
11
+ .new(application, 'stub')
12
+ end
13
+ let(:fixtures_dir) { __dir__.to_pathname.join('build_spec_files') }
14
+ let(:fs_comparator) { ::EacFs::Comparator.new.truncate_file('*.html') }
15
+ let(:instance) { described_class.new(application_instance) }
16
+ let(:source) { avm_source('EacAsciidoctorBase0', target_basename: application.id) }
17
+ let(:target_dir) { fixtures_dir }
18
+ let(:main_document) do
19
+ source.path.join(::Avm::EacAsciidoctorBase0::Sources::Base::MAIN_FILE_SUBPATH)
20
+ end
21
+
22
+ before do
23
+ application.entry('stereotype').write('EacAsciidoctorBase0')
24
+ ::EacConfig::Node.context.current.entry("#{application.id}_dev.install.path")
25
+ .value = source.path.to_path
26
+ application_instance.entry('install.name').write('The Author')
27
+ application_instance.entry('install.name_initials').write('T.A.')
28
+ application_instance.entry('install.email').write('theauthor@example.net')
29
+ application_instance.entry('web.url').write('https://www.example.net')
30
+ %w[doc1 doc2 doc2/doc2_1].each do |subpath|
31
+ target_dir = source.content_directory.join(subpath)
32
+ target_dir.mkpath
33
+ ::FileUtils.cp(
34
+ main_document,
35
+ target_dir.join(::Avm::EacAsciidoctorBase0::Sources::Base::CONTENT_DOCUMENT_BASENAME)
36
+ )
37
+ end
38
+ instance.perform
39
+ end
40
+
41
+ it do
42
+ expect(fs_comparator.build(instance.target_directory)).to eq(fs_comparator.build(target_dir))
43
+ end
44
+ end
@@ -1,7 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'avm/eac_asciidoctor_base0/instances/base'
3
4
  require 'avm/eac_asciidoctor_base0/sources/base'
4
5
 
5
6
  ::RSpec.describe ::Avm::EacAsciidoctorBase0::Sources::Base do
6
7
  include_examples 'in_avm_registry', 'sources'
8
+
9
+ describe '#instance' do
10
+ let(:application) { ::Avm::Applications::Base.new('myapp') }
11
+ let(:source) { avm_source('EacAsciidoctorBase0', target_basename: application.id) }
12
+
13
+ before do
14
+ application.local_source_path_entry.value = source.path
15
+ end
16
+
17
+ it do
18
+ expect(source.instance).to be_a(::Avm::EacAsciidoctorBase0::Instances::Base)
19
+ end
20
+ end
7
21
  end
@@ -2,3 +2,4 @@
2
2
 
3
3
  require 'eac_ruby_utils/rspec/default_setup'
4
4
  ::EacRubyUtils::Rspec.default_setup_create(::File.expand_path('..', __dir__))
5
+ .stub_avm_contexts
@@ -1,4 +1,5 @@
1
1
  = EacAsciidoctorBase0 Generated Source =
2
+ //#header
2
3
 
3
4
  == First Section
4
5
 
@@ -12,9 +12,9 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib,locale,template}/**/*']
14
14
 
15
- s.add_dependency 'avm', '~> 0.54'
15
+ s.add_dependency 'avm', '~> 0.55'
16
16
  s.add_dependency 'avm-eac_generic_base0', '~> 0.8'
17
- s.add_dependency 'eac_ruby_utils', '~> 0.106', '>= 0.106.1'
17
+ s.add_dependency 'eac_ruby_utils', '~> 0.107'
18
18
 
19
19
  s.add_development_dependency 'aranha-parsers', '~> 0.14', '>= 0.14.1'
20
20
  s.add_development_dependency 'eac_ruby_gem_support', '~> 0.5.1'
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_ruby_base1/source_generators/base/version_builder'
4
+ require 'avm/source_generators/base'
5
+ require 'eac_ruby_utils/core_ext'
6
+
7
+ module Avm
8
+ module EacRubyBase1
9
+ module SourceGenerators
10
+ class Base < ::Avm::SourceGenerators::Base
11
+ module Dependencies
12
+ def eac_ruby_gem_support_version
13
+ dependency_version('eac_ruby_gem_support')
14
+ end
15
+
16
+ def eac_ruby_utils_version
17
+ dependency_version('eac_ruby_utils')
18
+ end
19
+
20
+ def dependency_version(gem_name)
21
+ ::Avm::EacRubyBase1::SourceGenerators::Base::VersionBuilder.new(gem_name, options).to_s
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_ruby_base1/source_generators/base/options'
4
+ require 'avm/source_generators/base'
5
+ require 'eac_ruby_utils/core_ext'
6
+
7
+ module Avm
8
+ module EacRubyBase1
9
+ module SourceGenerators
10
+ class Base < ::Avm::SourceGenerators::Base
11
+ module GemfileLock
12
+ def generate_gemfile_lock
13
+ return unless generate_gemfile_lock?
14
+
15
+ self_gem.bundle('install').chdir_root.execute!
16
+ end
17
+
18
+ # @return [Boolean]
19
+ def generate_gemfile_lock?
20
+ options[::Avm::EacRubyBase1::SourceGenerators::Base::Options::GEMFILE_LOCK_OPTION]
21
+ .to_bool
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/source_generators/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module EacRubyBase1
8
+ module SourceGenerators
9
+ class Base < ::Avm::SourceGenerators::Base
10
+ module Options
11
+ common_concern
12
+
13
+ GEMFILE_LOCK_OPTION = 'gemfile-lock'.to_sym
14
+
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
+ GEMFILE_LOCK_OPTION => 'Run "bundle install" at the end'
19
+ }.freeze
20
+
21
+ module ClassMethods
22
+ def option_list
23
+ OPTIONS.inject(super) { |a, e| a.option(*e) }
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/source_generators/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module EacRubyBase1
8
+ module SourceGenerators
9
+ class Base < ::Avm::SourceGenerators::Base
10
+ class VersionBuilder
11
+ enable_simple_cache
12
+ common_constructor :gem_name, :options
13
+
14
+ def to_s
15
+ r = "'~> #{two_segments}'"
16
+ r += ", '>= #{three_segments}'" if segments.count >= 3 && segments[2].positive?
17
+ r
18
+ end
19
+
20
+ # @return [Gem::Version]
21
+ def version
22
+ (options_version || default_version)
23
+ end
24
+
25
+ def two_segments
26
+ segments.first(2).join('.')
27
+ end
28
+
29
+ def three_segments
30
+ segments.first(3).join('.')
31
+ end
32
+
33
+ private
34
+
35
+ def segments_uncached
36
+ version.release.to_s.split('.').map(&:to_i)
37
+ end
38
+
39
+ def default_version
40
+ ::Gem.loaded_specs[gem_name].version
41
+ end
42
+
43
+ def options_version
44
+ options["#{gem_name}_version".dasherize.to_sym].if_present do |v|
45
+ ::Gem::Version.new(v)
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -12,32 +12,15 @@ module Avm
12
12
  IDENT = ' '
13
13
  JOBS = %w[root_directory gemspec root_lib version_lib static gemfile_lock].freeze
14
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
19
15
 
20
16
  enable_speaker
21
17
  enable_simple_cache
22
-
23
- class << self
24
- def option_list
25
- OPTIONS.inject(super) { |a, e| a.option(*e) }
26
- end
27
- end
18
+ require_sub __FILE__, include_modules: true
28
19
 
29
20
  def root_directory
30
21
  target_path
31
22
  end
32
23
 
33
- def eac_ruby_gem_support_version
34
- dependency_version('eac_ruby_gem_support')
35
- end
36
-
37
- def eac_ruby_utils_version
38
- dependency_version('eac_ruby_utils')
39
- end
40
-
41
24
  def name
42
25
  root_directory.basename.to_s
43
26
  end
@@ -93,18 +76,10 @@ module Avm
93
76
  end
94
77
  end
95
78
 
96
- def dependency_version(gem_name)
97
- VersionBuilder.new(gem_name, options).to_s
98
- end
99
-
100
79
  def generate_gemspec
101
80
  template_apply('gemspec', "#{name}.gemspec")
102
81
  end
103
82
 
104
- def generate_gemfile_lock
105
- self_gem.bundle('install').chdir_root.execute!
106
- end
107
-
108
83
  def generate_root_directory
109
84
  root_directory.mkpath
110
85
  end
@@ -130,46 +105,6 @@ module Avm
130
105
  target.dirname.mkpath
131
106
  template.child("#{from}.template").apply_to_file(self, target.to_path)
132
107
  end
133
-
134
- class VersionBuilder
135
- enable_simple_cache
136
- common_constructor :gem_name, :options
137
-
138
- def to_s
139
- r = "'~> #{two_segments}'"
140
- r += ", '>= #{three_segments}'" if segments.count >= 3 && segments[2].positive?
141
- r
142
- end
143
-
144
- # @return [Gem::Version]
145
- def version
146
- (options_version || default_version)
147
- end
148
-
149
- def two_segments
150
- segments.first(2).join('.')
151
- end
152
-
153
- def three_segments
154
- segments.first(3).join('.')
155
- end
156
-
157
- private
158
-
159
- def segments_uncached
160
- version.release.to_s.split('.').map(&:to_i)
161
- end
162
-
163
- def default_version
164
- ::Gem.loaded_specs[gem_name].version
165
- end
166
-
167
- def options_version
168
- options["#{gem_name}_version".dasherize.to_sym].if_present do |v|
169
- ::Gem::Version.new(v)
170
- end
171
- end
172
- end
173
108
  end
174
109
  end
175
110
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRubyBase1
5
- VERSION = '0.26.2'
5
+ VERSION = '0.27.0'
6
6
  end
7
7
  end
@@ -7,7 +7,8 @@ RSpec.describe ::Avm::EacRubyBase1::SourceGenerators::Base do
7
7
  include_examples 'avm_source_generated', __FILE__, 'EacRubyBase1',
8
8
  {
9
9
  'eac-ruby-utils-version' => '0.35.0',
10
- 'eac-ruby-gem-support-version' => '0.2.0'
10
+ 'eac-ruby-gem-support-version' => '0.2.0',
11
+ 'gemfile-lock' => true
11
12
  }
12
13
 
13
14
  alias_method :fs_comparator_super, :fs_comparator
@@ -5,6 +5,8 @@ module Avm
5
5
  module Instances
6
6
  class Deploy
7
7
  module Scm
8
+ DEFAULT_REMOTE_NAME = 'origin'
9
+
8
10
  def commit_reference_uncached
9
11
  git_fetch
10
12
  r = git.rev_parse(git_reference_found)
@@ -35,7 +37,7 @@ module Avm
35
37
  end
36
38
 
37
39
  def git_remote_name
38
- ::Avm::Git::DEFAULT_REMOTE_NAME
40
+ DEFAULT_REMOTE_NAME
39
41
  end
40
42
 
41
43
  def git_repository_path
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacWebappBase0
5
- VERSION = '0.12.1'
5
+ VERSION = '0.12.2'
6
6
  end
7
7
  end
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib}/**/*']
14
14
 
15
- s.add_dependency 'avm', '~> 0.53'
15
+ s.add_dependency 'avm', '~> 0.54'
16
16
  s.add_dependency 'avm-files', '~> 0.6'
17
17
  s.add_dependency 'eac_git', '~> 0.13'
18
18
  s.add_dependency 'eac_ruby_utils', '~> 0.106', '>= 0.106.1'
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module Git
5
- VERSION = '0.9.0'
5
+ VERSION = '0.10.0'
6
6
  end
7
7
  end
@@ -5,7 +5,5 @@ require 'eac_ruby_utils/core_ext'
5
5
  module Avm
6
6
  module Git
7
7
  require_sub __FILE__
8
-
9
- DEFAULT_REMOTE_NAME = 'origin'
10
8
  end
11
9
  end
@@ -13,8 +13,8 @@ Gem::Specification.new do |s|
13
13
  s.files = Dir['{lib}/**/*', 'Gemfile']
14
14
 
15
15
  s.add_dependency 'colorize', '~> 0.8', '>= 0.8.1'
16
- s.add_dependency 'eac_config', '~> 0.11', '>= 0.11.1'
17
- s.add_dependency 'eac_ruby_utils', '~> 0.103'
16
+ s.add_dependency 'eac_config', '~> 0.12'
17
+ s.add_dependency 'eac_ruby_utils', '~> 0.107'
18
18
 
19
19
  s.add_development_dependency 'eac_ruby_gem_support', '~> 0.5.1'
20
20
  end
@@ -18,6 +18,10 @@ module EacCli
18
18
  end
19
19
 
20
20
  def value
21
+ value!
22
+ end
23
+
24
+ def value!
21
25
  return sub_value_to_return if sub_entry.found?
22
26
  return nil unless options.required?
23
27
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacCli
4
- VERSION = '0.28.0'
4
+ VERSION = '0.29.0'
5
5
  end
@@ -12,8 +12,8 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib}/**/*']
14
14
 
15
- s.add_dependency 'addressable', '~> 2.8'
16
- s.add_dependency 'eac_ruby_utils', '~> 0.102'
15
+ s.add_dependency 'addressable', '~> 2.8', '>= 2.8.1'
16
+ s.add_dependency 'eac_ruby_utils', '~> 0.107'
17
17
 
18
18
  s.add_development_dependency 'eac_ruby_gem_support', '~> 0.5.1'
19
19
  end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module EacConfig
6
+ class Entry
7
+ class NotFoundError < ::RuntimeError
8
+ def initialize(entry)
9
+ super("Entry #{entry} not found")
10
+ end
11
+ end
12
+ end
13
+ end
@@ -5,6 +5,7 @@ require 'eac_ruby_utils/core_ext'
5
5
 
6
6
  module EacConfig
7
7
  class Entry
8
+ require_sub __FILE__
8
9
  enable_simple_cache
9
10
  common_constructor :root_node, :path do
10
11
  self.path = ::EacConfig::EntryPath.assert(path)
@@ -30,6 +31,12 @@ module EacConfig
30
31
  node_entry.if_present(&:value)
31
32
  end
32
33
 
34
+ def value!
35
+ return value if found?
36
+
37
+ raise ::EacConfig::Entry::NotFoundError, self
38
+ end
39
+
33
40
  def value=(a_value)
34
41
  write_node.self_entry(path).value = a_value
35
42
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacConfig
4
- VERSION = '0.11.1'
4
+ VERSION = '0.12.0'
5
5
  end