eac_tools 0.36.1 → 0.37.1

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.
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