eac_tools 0.36.1 → 0.37.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +28 -27
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm/avm.gemspec +3 -1
  5. data/sub/avm/lib/avm/launcher/context.rb +6 -3
  6. data/sub/avm/lib/avm/launcher/paths/logical.rb +0 -1
  7. data/sub/avm/lib/avm/launcher/publish/base.rb +0 -2
  8. data/sub/avm/lib/avm/launcher/stereotype.rb +4 -4
  9. data/sub/avm/lib/avm/launcher_stereotypes.rb +9 -0
  10. data/sub/avm/lib/avm/registry/launcher_stereotypes.rb +11 -0
  11. data/sub/avm/lib/avm/registry.rb +2 -2
  12. data/sub/avm/lib/avm/rspec/setup/launcher.rb +19 -0
  13. data/sub/avm/lib/avm/rspec/setup.rb +4 -0
  14. data/sub/avm/lib/avm/rspec/source_generator.rb +16 -0
  15. data/sub/avm/lib/avm/version.rb +1 -1
  16. data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +2 -2
  17. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher/gem/build.rb +1 -0
  18. data/sub/{avm-tools/lib/avm/projects/stereotypes/ruby_gem → avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base}/local_project_mixin.rb +3 -3
  19. data/sub/{avm-tools/lib/avm/projects/stereotypes/ruby_gem → avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base}/publish.rb +4 -4
  20. data/sub/{avm-tools/lib/avm/projects/stereotypes/ruby_gem.rb → avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base.rb} +5 -5
  21. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes.rb +11 -0
  22. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec/setup.rb +16 -0
  23. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec/source_generator.rb +22 -0
  24. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec.rb +11 -0
  25. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +1 -1
  26. data/sub/{avm-tools/spec/lib/avm/launcher/ruby → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher}/gem/build_spec.rb +7 -4
  27. data/sub/{avm-tools/spec/lib/avm/launcher/ruby → avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher}/gem/specification_spec.rb +13 -4
  28. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish_spec.rb +24 -0
  29. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher_stereotypes/base_spec.rb +23 -0
  30. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base_spec.rb +9 -0
  31. data/sub/avm-eac_ruby_base1/spec/spec_helper.rb +4 -0
  32. data/sub/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec +2 -2
  33. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/build.rb +1 -1
  34. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/{git_info.rb → scm.rb} +10 -5
  35. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/version.rb +2 -2
  36. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy.rb +3 -2
  37. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +1 -1
  38. data/sub/avm-git/avm-git.gemspec +4 -3
  39. data/sub/avm-git/lib/avm/git/launcher/base/underlying.rb +8 -10
  40. data/sub/avm-git/lib/avm/git/launcher/error.rb +3 -1
  41. data/sub/avm-git/lib/avm/git/launcher/warp_base.rb +2 -2
  42. data/sub/{avm-tools/lib/avm/projects/stereotypes → avm-git/lib/avm/git/launcher_stereotypes}/git/local_project_mixin.rb +2 -2
  43. data/sub/{avm-tools/lib/avm/projects/stereotypes → avm-git/lib/avm/git/launcher_stereotypes}/git/publish.rb +2 -2
  44. data/sub/{avm-tools/lib/avm/projects/stereotypes → avm-git/lib/avm/git/launcher_stereotypes}/git/warp.rb +3 -3
  45. data/sub/{avm-tools/lib/avm/projects/stereotypes → avm-git/lib/avm/git/launcher_stereotypes}/git.rb +2 -2
  46. data/sub/{avm-tools/lib/avm/projects/stereotypes → avm-git/lib/avm/git/launcher_stereotypes}/git_subrepo/publish.rb +2 -2
  47. data/sub/{avm-tools/lib/avm/projects/stereotypes → avm-git/lib/avm/git/launcher_stereotypes}/git_subrepo/warp.rb +2 -2
  48. data/sub/{avm-tools/lib/avm/projects/stereotypes → avm-git/lib/avm/git/launcher_stereotypes}/git_subrepo.rb +2 -2
  49. data/sub/{avm-tools/lib/avm/projects/stereotypes → avm-git/lib/avm/git/launcher_stereotypes}/git_subtree/publish.rb +2 -2
  50. data/sub/{avm-tools/lib/avm/projects/stereotypes → avm-git/lib/avm/git/launcher_stereotypes}/git_subtree/warp.rb +2 -2
  51. data/sub/{avm-tools/lib/avm/projects/stereotypes → avm-git/lib/avm/git/launcher_stereotypes}/git_subtree.rb +6 -6
  52. data/sub/avm-git/lib/avm/git/launcher_stereotypes/provider.rb +22 -0
  53. data/sub/avm-git/lib/avm/git/launcher_stereotypes.rb +11 -0
  54. data/sub/avm-git/lib/avm/git/version.rb +1 -1
  55. data/sub/{avm-tools/spec/lib/avm/launcher/git → avm-git/spec/lib/avm/git/launcher}/base_spec.rb +5 -5
  56. data/sub/avm-tools/avm-tools.gemspec +4 -4
  57. data/sub/avm-tools/lib/avm/projects/stereotypes.rb +4 -0
  58. data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes/list.rb +42 -0
  59. data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes.rb +16 -0
  60. data/sub/avm-tools/lib/avm/tools/version.rb +1 -1
  61. data/sub/avm-tools/spec/lib/avm/launcher/context_spec.rb +3 -3
  62. data/sub/avm-tools/spec/lib/avm/projects/stereotypes/git_subrepo/publish_spec.rb +3 -3
  63. data/sub/avm-tools/spec/lib/avm/projects/stereotypes/git_subrepo/warp_spec.rb +3 -3
  64. data/sub/avm-tools/spec/lib/avm/tools/runner/launcher_stereotypes/list_spec.rb +17 -0
  65. data/sub/eac_git/eac_git.gemspec +1 -1
  66. data/sub/eac_git/lib/eac_git/local/remote.rb +12 -1
  67. data/sub/eac_git/lib/eac_git/remote.rb +10 -5
  68. data/sub/eac_git/lib/eac_git/{remote → remote_like}/ls_result.rb +1 -1
  69. data/sub/eac_git/lib/eac_git/remote_like.rb +32 -0
  70. data/sub/eac_git/lib/eac_git/version.rb +1 -1
  71. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/command/exec_error.rb +10 -0
  72. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/command/execute_result.rb +47 -0
  73. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/command.rb +3 -40
  74. data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/setup/setup_manager.rb +17 -0
  75. data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/setup.rb +8 -2
  76. data/sub/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  77. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/rspec/setup/setup_manager_spec.rb +17 -0
  78. metadata +56 -38
  79. data/sub/avm-tools/spec/lib/avm/projects/stereotypes/ruby_gem/publish_spec.rb +0 -19
  80. data/sub/avm-tools/spec/lib/avm/projects/stereotypes/ruby_gem_spec.rb +0 -22
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cbfe0ab59e6f9c5c8c7bbfa72dac3511b3c666ec50a219da0cb72b68bd6fd57e
4
- data.tar.gz: 44c539a327ce1f33448e91091198bc4e932571e7fffc8780110f9fa21b2d6a2a
3
+ metadata.gz: 3a06d6cf3c9faa8f37538fc898007ccf3501d0fbff41a883ba7b36a9d8f9a366
4
+ data.tar.gz: 6bf1bd1dce7b5cedce59963194408964ed49ea4cf85a44609df482e29bddc9d0
5
5
  SHA512:
6
- metadata.gz: cdd20d0375d461660c5c92b11ac386b6c920fabec8abadeae17e08cc18f441a300c7f2d5cc1852f9c16fd9495b62ac25b83d34f789676a4fd89dc5f835a26e80
7
- data.tar.gz: b07bd715ddbc48a80c8d1529d5972690f726d35a31ddfa2a42f50385fab31c294f814fe49dbf6dc5199ea51a88152f7dd8de09ad0b113ce908fffb268c8b1d73
6
+ metadata.gz: 55243dbe562ad019575f0014096a024aeb844723597fe4b00dc415c1f234a1424fca4d80498c7c679d9ace63fc0ead2c205b4a224ebf8bbca1f95d9fb96fd92d
7
+ data.tar.gz: 5b47516144519424c1d3345460f6d36b5fd9d011015a1daa7342b9656d9512e53d0954c59a4545f71395f0a0fcedb74bc352edc7ba6406bf33806fe7c46726e7
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eac_tools (0.36.1)
5
- avm (~> 0.48)
4
+ eac_tools (0.37.1)
5
+ avm (~> 0.50)
6
6
  avm-eac_asciidoctor_base0 (~> 0.7, >= 0.7.1)
7
7
  avm-eac_generic_base0 (~> 0.5)
8
8
  avm-eac_latex_base0 (~> 0.2, >= 0.2.1)
@@ -11,11 +11,11 @@ PATH
11
11
  avm-eac_rails_base1 (~> 0.7)
12
12
  avm-eac_redmine_base0 (~> 0.16)
13
13
  avm-eac_redmine_plugin_base0 (~> 0.3)
14
- avm-eac_ruby_base1 (~> 0.23)
15
- avm-eac_webapp_base0 (~> 0.9, >= 0.9.2)
14
+ avm-eac_ruby_base1 (~> 0.25)
15
+ avm-eac_webapp_base0 (~> 0.10)
16
16
  avm-eac_wordpress_base0 (~> 0.2, >= 0.2.1)
17
- avm-tools (~> 0.141)
18
- eac_ruby_utils (~> 0.104)
17
+ avm-tools (~> 0.142, >= 0.142.1)
18
+ eac_ruby_utils (~> 0.105)
19
19
 
20
20
  PATH
21
21
  remote: sub/avm-eac_asciidoctor_base0
@@ -87,20 +87,20 @@ PATH
87
87
  PATH
88
88
  remote: sub/avm-eac_ruby_base1
89
89
  specs:
90
- avm-eac_ruby_base1 (0.23.0)
91
- avm (~> 0.48)
90
+ avm-eac_ruby_base1 (0.25.0)
91
+ avm (~> 0.50)
92
92
  avm-eac_generic_base0 (~> 0.5)
93
- eac_ruby_utils (~> 0.104)
93
+ eac_ruby_utils (~> 0.105)
94
94
 
95
95
  PATH
96
96
  remote: sub/avm-eac_webapp_base0
97
97
  specs:
98
- avm-eac_webapp_base0 (0.9.2)
99
- avm (~> 0.46)
98
+ avm-eac_webapp_base0 (0.10.0)
99
+ avm (~> 0.50)
100
100
  avm-eac_generic_base0 (~> 0.5)
101
101
  avm-eac_postgresql_base0 (~> 0.2)
102
102
  avm-eac_ubuntu_base0 (~> 0.3)
103
- eac_ruby_utils (~> 0.104)
103
+ eac_ruby_utils (~> 0.105)
104
104
 
105
105
  PATH
106
106
  remote: sub/avm-eac_wordpress_base0
@@ -123,25 +123,26 @@ PATH
123
123
  PATH
124
124
  remote: sub/avm-git
125
125
  specs:
126
- avm-git (0.6.0)
127
- avm (~> 0.48)
126
+ avm-git (0.8.0)
127
+ avm (~> 0.50)
128
128
  avm-files (~> 0.4, >= 0.4.1)
129
- eac_git (~> 0.12, >= 0.12.3)
130
- eac_ruby_utils (~> 0.104)
129
+ eac_git (~> 0.13)
130
+ eac_ruby_utils (~> 0.105)
131
+ git (~> 1.12)
131
132
 
132
133
  PATH
133
134
  remote: sub/avm-tools
134
135
  specs:
135
- avm-tools (0.141.0)
136
+ avm-tools (0.142.1)
136
137
  aranha-parsers (~> 0.14, >= 0.14.3)
137
- avm (~> 0.48)
138
- avm-eac_ruby_base1 (~> 0.23)
138
+ avm (~> 0.50)
139
+ avm-eac_ruby_base1 (~> 0.25)
139
140
  avm-eac_ubuntu_base0 (~> 0.3)
140
141
  avm-files (~> 0.4, >= 0.4.1)
141
- avm-git (~> 0.6)
142
+ avm-git (~> 0.8)
142
143
  clipboard (~> 1.3, >= 1.3.6)
143
144
  curb (~> 0.9, >= 0.9.11)
144
- eac_git (~> 0.12, >= 0.12.3)
145
+ eac_git (~> 0.13)
145
146
  eac_ruby_base0 (~> 0.17)
146
147
  eac_templates (~> 0.3, >= 0.3.2)
147
148
  git (~> 1.12)
@@ -150,12 +151,12 @@ PATH
150
151
  PATH
151
152
  remote: sub/avm
152
153
  specs:
153
- avm (0.48.0)
154
+ avm (0.50.0)
154
155
  eac_cli (~> 0.28)
155
156
  eac_config (~> 0.11, >= 0.11.1)
156
157
  eac_docker (~> 0.5)
157
158
  eac_git (~> 0.12, >= 0.12.3)
158
- eac_ruby_utils (~> 0.104)
159
+ eac_ruby_utils (~> 0.105)
159
160
  eac_templates (~> 0.3, >= 0.3.2)
160
161
  filesize (~> 0.2)
161
162
  htmlbeautifier (~> 1.4, >= 1.4.2)
@@ -194,8 +195,8 @@ PATH
194
195
  PATH
195
196
  remote: sub/eac_git
196
197
  specs:
197
- eac_git (0.12.3)
198
- eac_ruby_utils (~> 0.103)
198
+ eac_git (0.13.0)
199
+ eac_ruby_utils (~> 0.105)
199
200
  parseconfig (~> 1.1, >= 1.1.2)
200
201
 
201
202
  PATH
@@ -210,7 +211,7 @@ PATH
210
211
  PATH
211
212
  remote: sub/eac_ruby_utils
212
213
  specs:
213
- eac_ruby_utils (0.104.0)
214
+ eac_ruby_utils (0.105.0)
214
215
  activesupport (>= 4, < 7)
215
216
  addressable (~> 2.8, >= 2.8.1)
216
217
  bundler
@@ -237,7 +238,7 @@ GEM
237
238
  faraday_middleware (~> 1.2)
238
239
  nokogiri (~> 1.13, >= 1.13.8)
239
240
  ofx-parser (~> 1.1)
240
- asciidoctor (2.0.17)
241
+ asciidoctor (2.0.18)
241
242
  ast (2.4.2)
242
243
  avm-eac_postgresql_base0 (0.2.0)
243
244
  avm (~> 0.12, >= 0.12.1)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacTools
4
- VERSION = '0.36.1'
4
+ VERSION = '0.37.1'
5
5
  end
data/sub/avm/avm.gemspec CHANGED
@@ -16,12 +16,14 @@ Gem::Specification.new do |s|
16
16
  s.add_dependency 'eac_config', '~> 0.11', '>= 0.11.1'
17
17
  s.add_dependency 'eac_docker', '~> 0.5'
18
18
  s.add_dependency 'eac_git', '~> 0.12', '>= 0.12.3'
19
- s.add_dependency 'eac_ruby_utils', '~> 0.104'
19
+ s.add_dependency 'eac_ruby_utils', '~> 0.105'
20
20
  s.add_dependency 'eac_templates', '~> 0.3', '>= 0.3.2'
21
21
  s.add_dependency 'filesize', '~> 0.2'
22
22
  s.add_dependency 'htmlbeautifier', '~> 1.4', '>= 1.4.2'
23
23
  s.add_dependency 'minitar', '~> 0.9'
24
24
 
25
25
  s.add_development_dependency 'aranha-parsers', '~> 0.14', '~> 0.14.1'
26
+ s.add_development_dependency 'avm-eac_ruby_base1', '~> 0.24'
27
+ s.add_development_dependency 'avm-git', '~> 0.7'
26
28
  s.add_development_dependency 'eac_ruby_gem_support', '~> 0.5.1'
27
29
  end
@@ -8,7 +8,6 @@ require 'avm/launcher/context/instance_discovery'
8
8
  require 'avm/launcher/context/settings'
9
9
  require 'avm/launcher/paths/logical'
10
10
  require 'avm/launcher/project'
11
- require 'avm/tools/self'
12
11
 
13
12
  module Avm
14
13
  module Launcher
@@ -43,6 +42,10 @@ module Avm
43
42
  @recache = false
44
43
  end
45
44
 
45
+ def fs_object_id
46
+ root.real.variableize
47
+ end
48
+
46
49
  def instance(name)
47
50
  instances.find { |i| i.name == name }
48
51
  end
@@ -66,7 +69,7 @@ module Avm
66
69
  end
67
70
 
68
71
  def default_cache_root
69
- ::Avm::Tools::Self.application.cache_dir.join('launcher')
72
+ fs_cache.path
70
73
  end
71
74
 
72
75
  def default_option(key)
@@ -78,7 +81,7 @@ module Avm
78
81
  end
79
82
 
80
83
  def default_settings_file
81
- ::Avm::Tools::Self.application.config_dir.join('launcher.yaml')
84
+ ::File.join(::EacFs::Contexts.config.current.path, 'launcher.yaml')
82
85
  end
83
86
 
84
87
  def projects_uncached
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/projects/stereotypes'
4
3
  require 'avm/launcher/paths/real'
5
4
  require 'avm/launcher/stereotype'
6
5
 
@@ -35,8 +35,6 @@ module Avm
35
35
  internal_check
36
36
  rescue ::Avm::Launcher::Errors::Base => e
37
37
  ::Avm::Launcher::Publish::CheckResult.blocked("Error: #{e}")
38
- rescue ::Avm::Launcher::Git::Error => e
39
- ::Avm::Launcher::Publish::CheckResult.blocked("Git error: #{e}")
40
38
  end
41
39
  end
42
40
  end
@@ -7,11 +7,7 @@ module Avm
7
7
  module Launcher
8
8
  module Stereotype
9
9
  class << self
10
- attr_reader :stereotypes
11
-
12
10
  def included(base)
13
- @stereotypes ||= []
14
- @stereotypes << base
15
11
  base.extend(ClassMethods)
16
12
  end
17
13
 
@@ -22,6 +18,10 @@ module Avm
22
18
  def nogit_stereotypes
23
19
  stereotypes - git_stereotypes
24
20
  end
21
+
22
+ def stereotypes
23
+ ::Avm::Registry.launcher_stereotypes.available
24
+ end
25
25
  end
26
26
 
27
27
  module ClassMethods
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module LauncherStereotypes
7
+ require_sub __FILE__
8
+ end
9
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/registry/with_path'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Registry
8
+ class LauncherStereotypes < ::Avm::Registry::WithPath
9
+ end
10
+ end
11
+ end
@@ -7,8 +7,8 @@ module Avm
7
7
  module Registry
8
8
  require_sub __FILE__
9
9
  enable_listable
10
- lists.add_symbol :category, :application_stereotypes, :instances, :runners, :scms,
11
- :source_generators, :sources
10
+ lists.add_symbol :category, :application_stereotypes, :instances, :launcher_stereotypes,
11
+ :runners, :scms, :source_generators, :sources
12
12
 
13
13
  class << self
14
14
  enable_simple_cache
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+ require 'tmpdir'
5
+
6
+ module Avm
7
+ module Rspec
8
+ module Setup
9
+ module Launcher
10
+ def temp_launcher_context(settings_file = nil)
11
+ settings_file ||= temp_file
12
+ ::Avm::Launcher::Context.current = ::Avm::Launcher::Context.new(
13
+ projects_root: ::Dir.mktmpdir, settings_file: settings_file, cache_root: ::Dir.mktmpdir
14
+ )
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,14 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'avm/rspec/source_generator'
3
4
  require 'eac_ruby_utils/core_ext'
4
5
 
5
6
  module Avm
6
7
  module Rspec
7
8
  module Setup
9
+ require_sub __FILE__
8
10
  EXAMPLES = %w[entries_values in_avm_registry not_in_avm_registry].freeze
9
11
 
10
12
  def self.extended(obj)
11
13
  obj.setup_examples
14
+ obj.rspec_config.include(::Avm::Rspec::Setup::Launcher)
15
+ obj.rspec_config.include(::Avm::Rspec::SourceGenerator)
12
16
  end
13
17
 
14
18
  def setup_examples
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Rspec
7
+ module SourceGenerator
8
+ # @return [Avm::Sources::Base]
9
+ def avm_source(stereotype_name, options = {})
10
+ target_path ||= options.delete(:target_path) || temp_dir.join('generated_app')
11
+ ::Avm::Registry.source_generators.detect(stereotype_name, target_path, options).perform
12
+ ::Avm::Registry.sources.detect(target_path)
13
+ end
14
+ end
15
+ end
16
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Avm
4
- VERSION = '0.48.0'
4
+ VERSION = '0.50.0'
5
5
  end
@@ -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.48'
15
+ s.add_dependency 'avm', '~> 0.50'
16
16
  s.add_dependency 'avm-eac_generic_base0', '~> 0.5'
17
- s.add_dependency 'eac_ruby_utils', '~> 0.104'
17
+ s.add_dependency 'eac_ruby_utils', '~> 0.105'
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'
@@ -3,6 +3,7 @@
3
3
  require 'tmpdir'
4
4
  require 'eac_cli/speaker'
5
5
  require 'eac_ruby_utils/envs'
6
+ require 'avm/launcher/paths/real'
6
7
  require 'avm/eac_ruby_base1/launcher/gem/specification'
7
8
 
8
9
  module Avm
@@ -5,9 +5,9 @@ require 'avm/version_number'
5
5
  require 'eac_ruby_utils/core_ext'
6
6
 
7
7
  module Avm
8
- module Projects
9
- module Stereotypes
10
- class RubyGem
8
+ module EacRubyBase1
9
+ module LauncherStereotypes
10
+ class Base
11
11
  module LocalProjectMixin
12
12
  # @return [Avm::EacRubyBase1::Sources::Base]
13
13
  def ruby_gem
@@ -10,9 +10,9 @@ require 'avm/launcher/publish/check_result'
10
10
  require 'avm/eac_ruby_base1/launcher/gem'
11
11
 
12
12
  module Avm
13
- module Projects
14
- module Stereotypes
15
- class RubyGem
13
+ module EacRubyBase1
14
+ module LauncherStereotypes
15
+ class Base
16
16
  class Publish < ::Avm::Launcher::Publish::Base
17
17
  include ::EacRubyUtils::SimpleCache
18
18
  enable_speaker
@@ -67,7 +67,7 @@ module Avm
67
67
  end
68
68
 
69
69
  def gem_spec_uncached
70
- ::Avm::Projects::Stereotypes::RubyGem.load_gemspec(gemspec)
70
+ ::Avm::EacRubyBase1::LauncherStereotypes::Base.load_gemspec(gemspec)
71
71
  end
72
72
 
73
73
  def gem_build_uncached
@@ -1,15 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/eac_ruby_base1/launcher/gem/specification'
4
3
  require 'avm/launcher/stereotype'
4
+ require 'avm/eac_ruby_base1/launcher/gem/specification'
5
5
  require 'eac_ruby_utils/core_ext'
6
6
 
7
7
  module Avm
8
- module Projects
9
- module Stereotypes
10
- class RubyGem
8
+ module EacRubyBase1
9
+ module LauncherStereotypes
10
+ class Base
11
11
  require_sub __FILE__
12
- include Avm::Launcher::Stereotype
12
+ include ::Avm::Launcher::Stereotype
13
13
 
14
14
  class << self
15
15
  def match?(path)
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacRubyBase1
7
+ module LauncherStereotypes
8
+ require_sub __FILE__
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_ruby_base1/rspec/source_generator'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module EacRubyBase1
8
+ module Rspec
9
+ module Setup
10
+ def self.extended(obj)
11
+ obj.rspec_config.include(::Avm::EacRubyBase1::Rspec::SourceGenerator)
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacRubyBase1
7
+ module Rspec
8
+ module SourceGenerator
9
+ APPLICATION_STEREOTYPE = 'EacRubyBase1'
10
+ DEFAULT_EAC_RUBY_GEM_SUPPORT_VERSION = '0.5.1'
11
+ DEFAULT_EAC_RUBY_UTILS_VERSION = '0.104.0'
12
+
13
+ # @return [Avm::EacRubyBase1::Sources::Base]
14
+ def avm_eac_ruby_base1_source(options = {})
15
+ options['eac-ruby-utils-version'] ||= DEFAULT_EAC_RUBY_UTILS_VERSION
16
+ options['eac-ruby-gem-support-version'] ||= DEFAULT_EAC_RUBY_GEM_SUPPORT_VERSION
17
+ avm_source(APPLICATION_STEREOTYPE, options)
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacRubyBase1
7
+ module Rspec
8
+ require_sub __FILE__
9
+ end
10
+ end
11
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRubyBase1
5
- VERSION = '0.23.0'
5
+ VERSION = '0.25.0'
6
6
  end
7
7
  end
@@ -5,9 +5,12 @@ require 'avm/eac_ruby_base1/launcher/gem/build'
5
5
 
6
6
  RSpec.describe ::Avm::EacRubyBase1::Launcher::Gem::Build do
7
7
  describe '#output_file' do
8
- let(:gem_dir) { ::File.join(DUMMY_DIR, 'ruby_gem_stub') }
8
+ let(:gem_dir) do
9
+ avm_eac_ruby_base1_source(target_path: temp_dir.join('ruby_gem_stub'))
10
+ .path.to_path
11
+ end
9
12
 
10
- it 'builds .gem file' do
13
+ it 'builds .gem file' do # rubocop:disable RSpec/ExampleLength
11
14
  expect(::File.directory?(gem_dir)).to eq true
12
15
  build = described_class.new(gem_dir)
13
16
 
@@ -32,12 +35,12 @@ RSpec.describe ::Avm::EacRubyBase1::Launcher::Gem::Build do
32
35
  expect(build.builded?).to eq false
33
36
  end
34
37
 
35
- def assert_open(build)
38
+ def assert_open(build) # rubocop:disable Metrics/AbcSize
36
39
  expect(build.output_file.present?).to eq true
37
40
  expect(build.builded?).to eq true
38
41
  expect(::File.exist?(build.output_file)).to eq true
39
42
  expect(::File.size(build.output_file)).to be_positive
40
- expect(::File.basename(build.output_file)).to eq('ruby_gem_stub-1.0.0.pre.stub.gem')
43
+ expect(::File.basename(build.output_file)).to eq('ruby_gem_stub-0.0.0.gem')
41
44
  end
42
45
  end
43
46
  end
@@ -1,18 +1,27 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'avm/eac_ruby_base1/launcher/gem/specification'
4
+
3
5
  RSpec.describe ::Avm::EacRubyBase1::Launcher::Gem::Specification do
4
- let(:gemspec_file) { ::File.join(DUMMY_DIR, 'ruby_gem_stub', 'ruby_gem_stub.gemspec') }
6
+ let(:source_version) { '1.0.0.pre.stub' }
7
+ let(:source) do
8
+ r = avm_eac_ruby_base1_source(target_path: temp_dir.join('ruby_gem_stub'))
9
+ r.version = source_version
10
+ r
11
+ end
12
+ let(:gemspec_file) { source.gemspec_path.to_path }
13
+ let(:version_file) { source.version_file.path.to_path }
5
14
  let(:instance) { described_class.new(gemspec_file) }
6
15
 
7
16
  describe '#parse_version_file' do
8
- it 'parses valid version file' do
9
- file = ::File.join(DUMMY_DIR, 'ruby_gem_stub', 'lib', 'ruby_gem_stub', 'version.rb')
17
+ it 'parses valid version file' do # rubocop:disable RSpec/MultipleExpectations
18
+ file = version_file
10
19
  expect(::File.exist?(file)).to eq true
11
20
  version = described_class.parse_version_file(file)
12
21
  expect(version).to eq('1.0.0.pre.stub')
13
22
  end
14
23
 
15
- it 'does not parse invalid version file' do
24
+ it 'does not parse invalid version file' do # rubocop:disable RSpec/MultipleExpectations
16
25
  file = __FILE__
17
26
  expect(::File.exist?(file)).to eq true
18
27
  version = described_class.parse_version_file(file)
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/launcher/context'
4
+ require 'avm/launcher/instances/base'
5
+ require 'avm/eac_ruby_base1/launcher_stereotypes/base/publish'
6
+
7
+ RSpec.describe ::Avm::EacRubyBase1::LauncherStereotypes::Base::Publish do
8
+ let(:context) do
9
+ r = temp_launcher_context
10
+ avm_eac_ruby_base1_source(target_path: r.root.real.to_pathname.join('ruby_gem_stub'))
11
+ r
12
+ end
13
+
14
+ describe '#publish' do
15
+ let(:instance) { context.instance('/ruby_gem_stub') }
16
+
17
+ it 'dries run publish for Ruby Gems' do
18
+ allow_any_instance_of(described_class).to receive(:gem_versions_uncached).and_return([]) # rubocop:disable RSpec/AnyInstance
19
+ expect(instance).to be_a ::Avm::Launcher::Instances::Base
20
+ context.publish_options = { confirm: false, new: true, stereotype: 'RubyGem' }
21
+ described_class.new(instance).run
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_ruby_base1/launcher_stereotypes/base'
4
+
5
+ RSpec.describe ::Avm::EacRubyBase1::LauncherStereotypes::Base do
6
+ describe '#load_gemspec' do
7
+ let(:dummy_dir) { avm_eac_ruby_base1_source(target_path: temp_dir.join(gemname)).path }
8
+ let(:gemname) { 'avm-eac_ruby_base1' }
9
+ let(:self_gemspec) { ::File.join(app_root_path, "#{gemname}.gemspec") }
10
+ let(:stub_gemspec) { ::File.join(dummy_dir, "#{gemname}.gemspec") }
11
+ let(:stub_expected_version) { '0.0.0' }
12
+
13
+ it 'does not return same version for different gemspecs with same name' do # rubocop:disable RSpec/ExampleLength, RSpec/MultipleExpectations
14
+ stub_spec = described_class.load_gemspec(stub_gemspec)
15
+ expect(stub_spec.version).to eq(stub_expected_version)
16
+ expect(stub_spec.name).to eq(gemname)
17
+
18
+ self_spec = described_class.load_gemspec(self_gemspec)
19
+ expect(self_spec.version).not_to eq(stub_expected_version)
20
+ expect(self_spec.name).to eq(gemname)
21
+ end
22
+ end
23
+ end
@@ -1,7 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/eac_ruby_base1/sources/base'
4
+ require 'avm/version_number'
4
5
 
5
6
  ::RSpec.describe ::Avm::EacRubyBase1::Sources::Base do
7
+ let(:instance) { avm_eac_ruby_base1_source }
8
+
6
9
  include_examples 'in_avm_registry', 'sources'
10
+
11
+ it { expect(instance).to be_a(described_class) }
12
+
13
+ it do
14
+ expect(instance.version).to eq(::Avm::VersionNumber.new('0.0.0'))
15
+ end
7
16
  end
@@ -2,3 +2,7 @@
2
2
 
3
3
  require 'eac_ruby_utils/rspec/default_setup'
4
4
  ::EacRubyUtils::Rspec.default_setup_create(::File.expand_path('..', __dir__))
5
+
6
+ require 'eac_ruby_utils/speaker'
7
+ require 'eac_ruby_utils/rspec/stub_speaker'
8
+ ::EacRubyUtils::Speaker.context.push(::EacRubyUtils::Rspec::StubSpeaker.new)
@@ -12,11 +12,11 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib,template}/**/*']
14
14
 
15
- s.add_dependency 'avm', '~> 0.46'
15
+ s.add_dependency 'avm', '~> 0.50'
16
16
  s.add_dependency 'avm-eac_generic_base0', '~> 0.5'
17
17
  s.add_dependency 'avm-eac_postgresql_base0', '~> 0.2'
18
18
  s.add_dependency 'avm-eac_ubuntu_base0', '~> 0.3'
19
- s.add_dependency 'eac_ruby_utils', '~> 0.104'
19
+ s.add_dependency 'eac_ruby_utils', '~> 0.105'
20
20
 
21
21
  s.add_development_dependency 'eac_ruby_gem_support', '~> 0.2'
22
22
  end