eac_tools 0.44.0 → 0.45.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +19 -19
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm/avm.gemspec +2 -2
  5. data/sub/avm/lib/avm/applications/base/publishing.rb +43 -0
  6. data/sub/avm/lib/avm/launcher/context/instance_manager.rb +1 -0
  7. data/sub/avm/lib/avm/launcher/context.rb +4 -1
  8. data/sub/avm/lib/avm/launcher/instances/base/publishing.rb +53 -0
  9. data/sub/avm/lib/avm/launcher/instances/base.rb +9 -27
  10. data/sub/avm/lib/avm/launcher/instances/settings.rb +0 -29
  11. data/sub/avm/lib/avm/registry/applications.rb +31 -0
  12. data/sub/avm/lib/avm/registry.rb +1 -1
  13. data/sub/avm/lib/avm/rspec/setup.rb +1 -0
  14. data/sub/avm/lib/avm/version.rb +1 -1
  15. data/sub/{avm-tools → avm}/spec/lib/avm/launcher/instances/base_spec.rb +20 -2
  16. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/avm-tools_stub/avm-tools.gemspec +28 -0
  17. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/avm-tools_stub/lib/avm/tools/version.rb +7 -0
  18. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/avm-tools_stub/lib/avm/tools.rb +6 -0
  19. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/ruby_gem_stub/lib/ruby_gem_stub/version.rb +5 -0
  20. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/ruby_gem_stub/lib/ruby_gem_stub.rb +3 -0
  21. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/ruby_gem_stub/ruby_gem_stub.gemspec +15 -0
  22. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/settings.yaml +5 -0
  23. data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +2 -2
  24. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base.rb +7 -0
  25. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +1 -1
  26. data/sub/avm-tools/avm-tools.gemspec +3 -3
  27. data/sub/avm-tools/lib/avm/tools/runner/launcher/publish.rb +1 -1
  28. data/sub/avm-tools/lib/avm/tools/version.rb +1 -1
  29. data/sub/eac_fs/eac_fs.gemspec +1 -1
  30. data/sub/eac_fs/lib/eac_fs/core_ext.rb +4 -0
  31. data/sub/eac_fs/lib/eac_fs/rspec/setup.rb +25 -0
  32. data/sub/eac_fs/lib/eac_fs/rspec.rb +9 -0
  33. data/sub/eac_fs/lib/eac_fs/version.rb +1 -1
  34. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/lists.rb +0 -8
  35. data/sub/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  36. metadata +32 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b4c29f133ac7e8ea838302984ba5d8c0a947e16cc615764dae97e2b9100bd40b
4
- data.tar.gz: 49926d91a7fe7fc5b3135b6910b7a8bb211a9d21bab5072a9e2a87b2f759e60c
3
+ metadata.gz: 964b726ccd6fbbfe8a4ef55261f839acde321207e1234066f18d889a90faa7e9
4
+ data.tar.gz: aa665607427b10b5ce0f87b8c1880259ebc45744b752f440abd7e5c8f2d61da8
5
5
  SHA512:
6
- metadata.gz: d55a8b88951fc5b287d5f0897157129199b4d4229936e1ea31da011f66ae45a26d9a3966ae71afc595babe9da9312e5837a23c4c645702e4184bd6633d1effb3
7
- data.tar.gz: b578bec6760cc52df6c9736ef4d4428f0af4460e056d3939553090b680ee7a8059ec608221867176dacacc33014c2f04434405154e4049ca9aad7125c327152b
6
+ metadata.gz: 729da0dbe20389bf2503beab62c9d72ac4dfbd3c8adfd6eebfc92cff9cc9e4d33d15079b23cf71a37c34e6e9f027d7a9b385653ff5cdbb8d1d1be5defcfe6d23
7
+ data.tar.gz: da1901c9536653a7c30bfe8e110a485fc19fc68046455d09f1bdb7c3ce367faa085901a81ede3a85dd319b9416d426f8362da0dc956980d33658032003935d19
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eac_tools (0.44.0)
5
- avm (~> 0.55)
4
+ eac_tools (0.45.0)
5
+ avm (~> 0.56)
6
6
  avm-eac_asciidoctor_base0 (~> 0.12)
7
7
  avm-eac_generic_base0 (~> 0.8)
8
8
  avm-eac_latex_base0 (~> 0.3)
@@ -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.27)
14
+ avm-eac_ruby_base1 (~> 0.27, >= 0.27.1)
15
15
  avm-eac_webapp_base0 (~> 0.12, >= 0.12.2)
16
16
  avm-eac_wordpress_base0 (~> 0.2, >= 0.2.1)
17
- avm-tools (~> 0.142, >= 0.142.4)
18
- eac_ruby_utils (~> 0.107)
17
+ avm-tools (~> 0.142, >= 0.142.5)
18
+ eac_ruby_utils (~> 0.107, >= 0.107.1)
19
19
 
20
20
  PATH
21
21
  remote: sub/aranha-parsers
@@ -108,10 +108,10 @@ PATH
108
108
  PATH
109
109
  remote: sub/avm-eac_ruby_base1
110
110
  specs:
111
- avm-eac_ruby_base1 (0.27.0)
112
- avm (~> 0.55)
111
+ avm-eac_ruby_base1 (0.27.1)
112
+ avm (~> 0.56)
113
113
  avm-eac_generic_base0 (~> 0.8)
114
- eac_ruby_utils (~> 0.107)
114
+ eac_ruby_utils (~> 0.107, >= 0.107.1)
115
115
 
116
116
  PATH
117
117
  remote: sub/avm-eac_webapp_base0
@@ -155,13 +155,13 @@ PATH
155
155
  PATH
156
156
  remote: sub/avm-tools
157
157
  specs:
158
- avm-tools (0.142.4)
158
+ avm-tools (0.142.5)
159
159
  aranha-parsers (~> 0.14, >= 0.14.4)
160
- avm (~> 0.53)
161
- avm-eac_ruby_base1 (~> 0.26, >= 0.26.1)
160
+ avm (~> 0.56)
161
+ avm-eac_ruby_base1 (~> 0.27, >= 0.27.1)
162
162
  avm-eac_ubuntu_base0 (~> 0.3)
163
163
  avm-files (~> 0.6)
164
- avm-git (~> 0.9)
164
+ avm-git (~> 0.10)
165
165
  clipboard (~> 1.3, >= 1.3.6)
166
166
  curb (~> 0.9, >= 0.9.11)
167
167
  eac_git (~> 0.13)
@@ -173,14 +173,14 @@ PATH
173
173
  PATH
174
174
  remote: sub/avm
175
175
  specs:
176
- avm (0.55.0)
176
+ avm (0.56.0)
177
177
  aranha-parsers (~> 0.14, >= 0.14.4)
178
178
  eac_cli (~> 0.29)
179
179
  eac_config (~> 0.12)
180
180
  eac_docker (~> 0.5)
181
- eac_fs (~> 0.14)
181
+ eac_fs (~> 0.15)
182
182
  eac_git (~> 0.13)
183
- eac_ruby_utils (~> 0.107)
183
+ eac_ruby_utils (~> 0.107, >= 0.107.1)
184
184
  eac_templates (~> 0.3, >= 0.3.2)
185
185
  filesize (~> 0.2)
186
186
  htmlbeautifier (~> 1.4, >= 1.4.2)
@@ -211,9 +211,9 @@ PATH
211
211
  PATH
212
212
  remote: sub/eac_fs
213
213
  specs:
214
- eac_fs (0.14.0)
214
+ eac_fs (0.15.0)
215
215
  content-type (~> 0.0, >= 0.0.2)
216
- eac_ruby_utils (~> 0.106, >= 0.106.1)
216
+ eac_ruby_utils (~> 0.107, >= 0.107.1)
217
217
  ruby-filemagic (~> 0.7, >= 0.7.3)
218
218
 
219
219
  PATH
@@ -235,7 +235,7 @@ PATH
235
235
  PATH
236
236
  remote: sub/eac_ruby_utils
237
237
  specs:
238
- eac_ruby_utils (0.107.0)
238
+ eac_ruby_utils (0.107.1)
239
239
  activesupport (>= 4, < 7)
240
240
  addressable (~> 2.8, >= 2.8.1)
241
241
  bundler
@@ -370,7 +370,7 @@ GEM
370
370
  tzinfo (2.0.5)
371
371
  concurrent-ruby (~> 1.0)
372
372
  unicode-display_width (1.6.1)
373
- zeitwerk (2.6.4)
373
+ zeitwerk (2.6.6)
374
374
  zlib (2.1.1)
375
375
 
376
376
  PLATFORMS
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacTools
4
- VERSION = '0.44.0'
4
+ VERSION = '0.45.0'
5
5
  end
data/sub/avm/avm.gemspec CHANGED
@@ -16,9 +16,9 @@ Gem::Specification.new do |s|
16
16
  s.add_dependency 'eac_cli', '~> 0.29'
17
17
  s.add_dependency 'eac_config', '~> 0.12'
18
18
  s.add_dependency 'eac_docker', '~> 0.5'
19
- s.add_dependency 'eac_fs', '~> 0.14'
19
+ s.add_dependency 'eac_fs', '~> 0.15'
20
20
  s.add_dependency 'eac_git', '~> 0.13'
21
- s.add_dependency 'eac_ruby_utils', '~> 0.107'
21
+ s.add_dependency 'eac_ruby_utils', '~> 0.107', '>= 0.107.1'
22
22
  s.add_dependency 'eac_templates', '~> 0.3', '>= 0.3.2'
23
23
  s.add_dependency 'filesize', '~> 0.2'
24
24
  s.add_dependency 'htmlbeautifier', '~> 1.4', '>= 1.4.2'
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/registry'
4
+ require 'eac_ruby_utils/blank_not_blank'
5
+ require 'eac_ruby_utils/core_ext'
6
+
7
+ module Avm
8
+ module Applications
9
+ class Base
10
+ module Publishing
11
+ PUBLISHABLE_KEY = 'publishable'
12
+
13
+ def publishable?
14
+ publishable_value ? true : false
15
+ end
16
+
17
+ def stereotype_publishable?(stereotype)
18
+ return publishable? unless publishable_value.is_a?(::Hash)
19
+
20
+ parse_publishable_value(publishable_value[stereotype.stereotype_name], true)
21
+ end
22
+
23
+ private
24
+
25
+ def publishable_value
26
+ parse_publishable_value(entry(PUBLISHABLE_KEY).optional_value, false)
27
+ end
28
+
29
+ def parse_publishable_value(value, hash_to_true) # rubocop:disable Metrics/CyclomaticComplexity
30
+ return value.with_indifferent_access if parse_publishable_value_hash?(value, hash_to_true)
31
+ return true if value.nil? || value == true
32
+ return false if value == false || value.is_a?(::EacRubyUtils::BlankNotBlank)
33
+
34
+ value ? true : false
35
+ end
36
+
37
+ def parse_publishable_value_hash?(value, hash_to_true)
38
+ !hash_to_true && value.is_a?(::Hash)
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -54,6 +54,7 @@ module Avm
54
54
  end
55
55
 
56
56
  def write_cache_file(data)
57
+ cache_file_path.to_pathname.parent.mkpath
57
58
  ::File.write(cache_file_path, data.to_yaml)
58
59
  end
59
60
 
@@ -2,6 +2,8 @@
2
2
 
3
3
  require 'active_support/core_ext/hash/indifferent_access'
4
4
  require 'avm/launcher/context/instance_manager'
5
+ require 'eac_fs/contexts'
6
+ require 'eac_fs/core_ext'
5
7
  require 'eac_ruby_utils/simple_cache'
6
8
  require 'eac_cli/speaker'
7
9
  require 'avm/launcher/context/instance_discovery'
@@ -76,8 +78,9 @@ module Avm
76
78
  send("default_#{key}".underscore)
77
79
  end
78
80
 
81
+ # @return [String]
79
82
  def default_projects_root
80
- '.'
83
+ '.'.to_pathname.expand_path.to_path
81
84
  end
82
85
 
83
86
  def default_settings_file
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Launcher
5
+ module Instances
6
+ module Base
7
+ module Publishing
8
+ def publish?(stereotype)
9
+ publish_by_stereotype?(stereotype) && publish_by_application?(stereotype) &&
10
+ publish_by_context?(stereotype)
11
+ end
12
+
13
+ # @return [Boolean]
14
+ def publish_by_application?(stereotype)
15
+ application.stereotype_publishable?(stereotype)
16
+ end
17
+
18
+ # @return [Boolean]
19
+ def publish_by_context?(stereotype)
20
+ filter = ::Avm::Launcher::Context.current.publish_options[:stereotype]
21
+ filter.blank? ? true : filter == stereotype.name.demodulize
22
+ end
23
+
24
+ # @return [Boolean]
25
+ def publish_by_stereotype?(stereotype)
26
+ stereotype.publish_class.present?
27
+ end
28
+
29
+ # @return [Boolean]
30
+ delegate :publishable?, to: :application
31
+
32
+ def publish_check
33
+ stereotypes.each do |s|
34
+ next unless publish?(s)
35
+
36
+ puts "#{name.to_s.cyan}|#{s.label}|" \
37
+ "#{s.publish_class.new(self).check}"
38
+ end
39
+ end
40
+
41
+ def publish_run
42
+ stereotypes.each do |s|
43
+ next unless publish?(s)
44
+
45
+ infov(name, "publishing #{s.label}")
46
+ s.publish_class.new(self).run
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'base/cache'
4
3
  require 'avm/launcher/errors/non_project'
4
+ require 'avm/registry'
5
5
  require 'eac_ruby_utils/speaker/sender'
6
6
 
7
7
  module Avm
@@ -13,6 +13,7 @@ module Avm
13
13
  object.extend ::EacRubyUtils::SimpleCache
14
14
  object.extend ::EacRubyUtils::Speaker::Sender
15
15
  object.extend ::Avm::Launcher::Instances::Base::Cache
16
+ object.extend ::Avm::Launcher::Instances::Base::Publishing
16
17
  super
17
18
  end
18
19
 
@@ -27,8 +28,15 @@ module Avm
27
28
  end
28
29
  end
29
30
 
31
+ require_sub __FILE__
32
+
30
33
  attr_accessor :parent
31
34
 
35
+ # @return [Avm::Applications::Base]
36
+ def application
37
+ @application ||= ::Avm::Registry.applications.detect(project_name)
38
+ end
39
+
32
40
  def name
33
41
  logical
34
42
  end
@@ -47,24 +55,6 @@ module Avm
47
55
  stereotypes.any?
48
56
  end
49
57
 
50
- def publish_run
51
- stereotypes.each do |s|
52
- next unless publish?(s)
53
-
54
- infov(name, "publishing #{s.label}")
55
- s.publish_class.new(self).run
56
- end
57
- end
58
-
59
- def publish_check
60
- stereotypes.each do |s|
61
- next unless publish?(s)
62
-
63
- puts "#{name.to_s.cyan}|#{s.label}|" \
64
- "#{s.publish_class.new(self).check}"
65
- end
66
- end
67
-
68
58
  def project_name
69
59
  ::File.basename(logical)
70
60
  end
@@ -79,14 +69,6 @@ module Avm
79
69
 
80
70
  private
81
71
 
82
- def publish?(stereotype)
83
- return false unless stereotype.publish_class
84
- return false unless options.stereotype_publishable?(stereotype)
85
-
86
- filter = ::Avm::Launcher::Context.current.publish_options[:stereotype]
87
- filter.blank? ? true : filter == stereotype.name.demodulize
88
- end
89
-
90
72
  def options_uncached
91
73
  ::Avm::Launcher::Context.current.settings.instance_settings(self)
92
74
  end
@@ -8,7 +8,6 @@ module Avm
8
8
  class Settings
9
9
  DEFAULT_CURRENT_REVISION = 'origin/master'
10
10
  DEFAULT_PUBLISH_REMOTE = 'publish'
11
- PUBLISHABLE_KEY = :publishable
12
11
 
13
12
  common_constructor :data do
14
13
  self.data = (data.is_a?(Hash) ? data : {}).with_indifferent_access
@@ -21,34 +20,6 @@ module Avm
21
20
  def git_publish_remote
22
21
  data[__method__] || DEFAULT_PUBLISH_REMOTE
23
22
  end
24
-
25
- def publishable?
26
- publishable_value ? true : false
27
- end
28
-
29
- def stereotype_publishable?(stereotype)
30
- return publishable? unless publishable_value.is_a?(::Hash)
31
-
32
- parse_publishable_value(publishable_value[stereotype.stereotype_name], true)
33
- end
34
-
35
- private
36
-
37
- def publishable_value
38
- parse_publishable_value(data[PUBLISHABLE_KEY], false)
39
- end
40
-
41
- def parse_publishable_value(value, hash_to_true)
42
- return value.with_indifferent_access if parse_publishable_value_hash?(value, hash_to_true)
43
- return true if value.nil? || value == true
44
- return false if value == false
45
-
46
- value ? true : false
47
- end
48
-
49
- def parse_publishable_value_hash?(value, hash_to_true)
50
- !hash_to_true && value.is_a?(::Hash)
51
- end
52
23
  end
53
24
  end
54
25
  end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/applications/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Registry
8
+ class Applications
9
+ def initialize(*args); end
10
+
11
+ # @return [Array<Avm::Applications::Base>]
12
+ def available
13
+ detected.values
14
+ end
15
+
16
+ # @return [Avm::Applications::Base]
17
+ def detect(id)
18
+ id = id.to_s
19
+ detected[id] = ::Avm::Applications::Base.new(id) unless detected.key?(id)
20
+ detected[id]
21
+ end
22
+
23
+ private
24
+
25
+ # @return [Hash<String, Avm::Applications::Base>]
26
+ def detected
27
+ @detected ||= {}
28
+ end
29
+ end
30
+ end
31
+ end
@@ -7,7 +7,7 @@ module Avm
7
7
  module Registry
8
8
  require_sub __FILE__
9
9
  enable_listable
10
- lists.add_symbol :category, :application_stereotypes, :file_formats, :instances,
10
+ lists.add_symbol :category, :applications, :application_stereotypes, :file_formats, :instances,
11
11
  :launcher_stereotypes, :runners, :scms, :source_generators, :sources
12
12
 
13
13
  class << self
@@ -25,6 +25,7 @@ module Avm
25
25
  # @return [self]
26
26
  def stub_avm_contexts
27
27
  stub_eac_config_node
28
+ stub_eac_fs_contexts
28
29
  stub_eac_speaker
29
30
 
30
31
  self
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Avm
4
- VERSION = '0.55.0'
4
+ VERSION = '0.56.0'
5
5
  end
@@ -4,6 +4,20 @@ require 'avm/launcher/context'
4
4
  require 'avm/launcher/instances/base'
5
5
 
6
6
  RSpec.describe ::Avm::Launcher::Instances::Base do
7
+ let(:fixtures_dir) { __dir__.to_pathname.join('base_spec_files') }
8
+ let(:launcher_context) do
9
+ ::Avm::Launcher::Context.current = ::Avm::Launcher::Context.new(
10
+ projects_root: fixtures_dir.join('projects').to_path,
11
+ settings_file: fixtures_dir.join('settings.yaml').to_path,
12
+ cache_root: ::Dir.mktmpdir
13
+ )
14
+ end
15
+
16
+ before do
17
+ allow(::ProgressBar).to receive(:create).and_return(double.as_null_object)
18
+ ::Avm::Launcher::Context.current = launcher_context
19
+ end
20
+
7
21
  describe '#options' do
8
22
  context 'when instance is "avm-tools_stub"' do
9
23
  let(:instance) { ::Avm::Launcher::Context.current.instance('/avm-tools_stub') }
@@ -11,15 +25,19 @@ RSpec.describe ::Avm::Launcher::Instances::Base do
11
25
  it { expect(instance).to be_a(described_class) }
12
26
  it { expect(instance.options.git_current_revision).to eq('origin/master') }
13
27
  it { expect(instance.options.git_publish_remote).to eq('publish') }
14
- it { expect(instance.options.publishable?).to eq(true) }
28
+ it { expect(instance.publishable?).to eq(true) }
15
29
  end
16
30
 
17
31
  context 'when instance is "ruby_gem_stub"' do
18
32
  let(:instance) { ::Avm::Launcher::Context.current.instance('/ruby_gem_stub') }
19
33
 
34
+ before do
35
+ instance.application.entry('publishable').write(false)
36
+ end
37
+
20
38
  it { expect(instance.options.git_current_revision).to eq('git_current_revision_setted') }
21
39
  it { expect(instance.options.git_publish_remote).to eq('git_publish_remote_setted') }
22
- it { expect(instance.options.publishable?).to eq(false) }
40
+ it { expect(instance.publishable?).to eq(false) }
23
41
  end
24
42
  end
25
43
  end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
4
+
5
+ # Maintain your gem's version:
6
+ require 'avm/tools/version'
7
+
8
+ # Describe your gem and declare its dependencies:
9
+ Gem::Specification.new do |s|
10
+ s.name = 'avm/tools'
11
+ s.version = ::Avm::Tools::VERSION
12
+ s.authors = ['Esquilo Azul Company']
13
+ s.summary = 'Utilities to deploy applications and libraries.'
14
+ s.license = 'MIT'
15
+
16
+ s.files = Dir['{exe,lib}/**/*', 'Gemfile', 'MIT-LICENSE', 'README.rdoc']
17
+ s.bindir = 'exe'
18
+ s.executables = s.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
+
20
+ s.add_dependency 'activesupport', '~> 4.2', '>= 4.2.10'
21
+ s.add_dependency 'colorize', '~> 0.8.1'
22
+ s.add_dependency 'curb', '~> 0.9.4'
23
+ s.add_dependency 'eac_rails_utils', '~> 0.1', '>= 0.1.14'
24
+ s.add_dependency 'eac_ruby_utils', '~> 0.1'
25
+ s.add_dependency 'git', '~> 1.3.0'
26
+ s.add_development_dependency 'rspec', '~> 3.7'
27
+ s.add_development_dependency 'rubocop', '~> 0.48.1'
28
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ VERSION = '1.0.0.pre.stub'
6
+ end
7
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Tools
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RubyGemStub
4
+ VERSION = '1.0.0.pre.stub'
5
+ end
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RubyGemStub; end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
4
+
5
+ # Maintain your gem's version:
6
+ require 'ruby_gem_stub/version'
7
+
8
+ # Describe your gem and declare its dependencies:
9
+ Gem::Specification.new do |s|
10
+ s.name = 'ruby_gem_stub'
11
+ s.version = ::RubyGemStub::VERSION
12
+ s.authors = ['Esquilo Azul Company']
13
+ s.summary = 'Ruby gem stub for tests.'
14
+ s.files = Dir['{lib}/**/*']
15
+ end
@@ -0,0 +1,5 @@
1
+ ---
2
+ Instances:
3
+ /ruby_gem_stub:
4
+ git_current_revision: git_current_revision_setted
5
+ git_publish_remote: git_publish_remote_setted
@@ -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.55'
15
+ s.add_dependency 'avm', '~> 0.56'
16
16
  s.add_dependency 'avm-eac_generic_base0', '~> 0.8'
17
- s.add_dependency 'eac_ruby_utils', '~> 0.107'
17
+ s.add_dependency 'eac_ruby_utils', '~> 0.107', '>= 0.107.1'
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'
@@ -11,6 +11,8 @@ module Avm
11
11
  require_sub __FILE__
12
12
  include ::Avm::Launcher::Stereotype
13
13
 
14
+ STEREOTYPE_NAME = 'EacRubyBase1'
15
+
14
16
  class << self
15
17
  def match?(path)
16
18
  Dir.glob(File.join(path.real, '*.gemspec')).any?
@@ -23,6 +25,11 @@ module Avm
23
25
  def load_gemspec(gemspec_file)
24
26
  ::Avm::EacRubyBase1::Launcher::Gem::Specification.new(gemspec_file)
25
27
  end
28
+
29
+ # @return [String]
30
+ def stereotype_name
31
+ STEREOTYPE_NAME
32
+ end
26
33
  end
27
34
  end
28
35
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRubyBase1
5
- VERSION = '0.27.0'
5
+ VERSION = '0.27.1'
6
6
  end
7
7
  end
@@ -15,11 +15,11 @@ Gem::Specification.new do |s|
15
15
  s.executables = s.files.grep(%r{^exe/}) { |f| File.basename(f) }
16
16
 
17
17
  s.add_dependency 'aranha-parsers', '~> 0.14', '>= 0.14.4'
18
- s.add_dependency 'avm', '~> 0.53'
19
- s.add_dependency 'avm-eac_ruby_base1', '~> 0.26', '>= 0.26.1'
18
+ s.add_dependency 'avm', '~> 0.56'
19
+ s.add_dependency 'avm-eac_ruby_base1', '~> 0.27', '>= 0.27.1'
20
20
  s.add_dependency 'avm-eac_ubuntu_base0', '~> 0.3'
21
21
  s.add_dependency 'avm-files', '~> 0.6'
22
- s.add_dependency 'avm-git', '~> 0.9'
22
+ s.add_dependency 'avm-git', '~> 0.10'
23
23
  s.add_dependency 'clipboard', '~> 1.3', '>= 1.3.6'
24
24
  s.add_dependency 'curb', '~> 0.9', '>= 0.9.11'
25
25
  s.add_dependency 'eac_git', '~> 0.13'
@@ -19,7 +19,7 @@ module Avm
19
19
  def run
20
20
  build_publish_options
21
21
  instances.each do |i|
22
- next unless i.options.publishable?
22
+ next unless i.publishable?
23
23
 
24
24
  i.send(instance_method)
25
25
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module Tools
5
- VERSION = '0.142.4'
5
+ VERSION = '0.142.5'
6
6
  end
7
7
  end
@@ -13,7 +13,7 @@ Gem::Specification.new do |s|
13
13
  s.files = Dir['{lib}/**/*']
14
14
 
15
15
  s.add_dependency 'content-type', '~> 0.0', '>= 0.0.2'
16
- s.add_dependency 'eac_ruby_utils', '~> 0.106', '>= 0.106.1'
16
+ s.add_dependency 'eac_ruby_utils', '~> 0.107', '>= 0.107.1'
17
17
  s.add_dependency 'ruby-filemagic', '~> 0.7', '>= 0.7.3'
18
18
 
19
19
  s.add_development_dependency 'eac_ruby_gem_support', '~> 0.5.1'
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_fs/patches'
4
+ require 'eac_ruby_utils/core_ext'
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+ require 'eac_fs/contexts'
5
+ require 'eac_fs/storage_tree'
6
+ require 'eac_ruby_utils/fs/temp'
7
+
8
+ module EacFs
9
+ module Rspec
10
+ module Setup
11
+ require_sub __FILE__
12
+
13
+ # @return [self]
14
+ def stub_eac_fs_contexts
15
+ ::EacFs::Contexts::TYPES.each do |type|
16
+ ::EacFs::Contexts.send(type).push(
17
+ ::EacFs::StorageTree.new(::EacRubyUtils::Fs::Temp.directory)
18
+ )
19
+ end
20
+
21
+ self
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module EacFs
6
+ module Rspec
7
+ require_sub __FILE__
8
+ end
9
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacFs
4
- VERSION = '0.14.0'
4
+ VERSION = '0.15.0'
5
5
  end
@@ -37,17 +37,9 @@ module EacRubyUtils
37
37
  private
38
38
 
39
39
  def add(list_class, item, labels)
40
- check_acts_as_listable_new_item(item)
41
40
  acts_as_listable_items[item] = list_class.new(self, item, labels)
42
41
  end
43
42
 
44
- def check_acts_as_listable_new_item(item)
45
- return unless acts_as_listable_items.key?(item)
46
-
47
- raise "Item já adicionado anteriormente: #{item} em #{self} " \
48
- "(#{acts_as_listable_items.keys})"
49
- end
50
-
51
43
  def find_list_by_method(method)
52
44
  acts_as_listable_items.each do |item, list|
53
45
  return list if method.to_sym == item.to_sym
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacRubyUtils
4
- VERSION = '0.107.0'
4
+ VERSION = '0.107.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eac_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.44.0
4
+ version: 0.45.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Put here the authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-02 00:00:00.000000000 Z
11
+ date: 2022-11-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: avm
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.55'
19
+ version: '0.56'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.55'
26
+ version: '0.56'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: avm-eac_asciidoctor_base0
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -149,6 +149,9 @@ dependencies:
149
149
  - - "~>"
150
150
  - !ruby/object:Gem::Version
151
151
  version: '0.27'
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ version: 0.27.1
152
155
  type: :runtime
153
156
  prerelease: false
154
157
  version_requirements: !ruby/object:Gem::Requirement
@@ -156,6 +159,9 @@ dependencies:
156
159
  - - "~>"
157
160
  - !ruby/object:Gem::Version
158
161
  version: '0.27'
162
+ - - ">="
163
+ - !ruby/object:Gem::Version
164
+ version: 0.27.1
159
165
  - !ruby/object:Gem::Dependency
160
166
  name: avm-eac_webapp_base0
161
167
  requirement: !ruby/object:Gem::Requirement
@@ -205,7 +211,7 @@ dependencies:
205
211
  version: '0.142'
206
212
  - - ">="
207
213
  - !ruby/object:Gem::Version
208
- version: 0.142.4
214
+ version: 0.142.5
209
215
  type: :runtime
210
216
  prerelease: false
211
217
  version_requirements: !ruby/object:Gem::Requirement
@@ -215,7 +221,7 @@ dependencies:
215
221
  version: '0.142'
216
222
  - - ">="
217
223
  - !ruby/object:Gem::Version
218
- version: 0.142.4
224
+ version: 0.142.5
219
225
  - !ruby/object:Gem::Dependency
220
226
  name: eac_ruby_utils
221
227
  requirement: !ruby/object:Gem::Requirement
@@ -223,6 +229,9 @@ dependencies:
223
229
  - - "~>"
224
230
  - !ruby/object:Gem::Version
225
231
  version: '0.107'
232
+ - - ">="
233
+ - !ruby/object:Gem::Version
234
+ version: 0.107.1
226
235
  type: :runtime
227
236
  prerelease: false
228
237
  version_requirements: !ruby/object:Gem::Requirement
@@ -230,6 +239,9 @@ dependencies:
230
239
  - - "~>"
231
240
  - !ruby/object:Gem::Version
232
241
  version: '0.107'
242
+ - - ">="
243
+ - !ruby/object:Gem::Version
244
+ version: 0.107.1
233
245
  - !ruby/object:Gem::Dependency
234
246
  name: eac_ruby_gem_support
235
247
  requirement: !ruby/object:Gem::Requirement
@@ -926,7 +938,6 @@ files:
926
938
  - sub/avm-tools/spec/dummy/ruby_gem_stub/ruby_gem_stub.gemspec
927
939
  - sub/avm-tools/spec/lib/avm/launcher/context_spec.rb
928
940
  - sub/avm-tools/spec/lib/avm/launcher/context_spec.yml
929
- - sub/avm-tools/spec/lib/avm/launcher/instances/base_spec.rb
930
941
  - sub/avm-tools/spec/lib/avm/projects/stereotypes/git_subrepo/publish_spec.rb
931
942
  - sub/avm-tools/spec/lib/avm/projects/stereotypes/git_subrepo/publish_spec_settings.yml
932
943
  - sub/avm-tools/spec/lib/avm/projects/stereotypes/git_subrepo/warp_spec.rb
@@ -957,6 +968,7 @@ files:
957
968
  - sub/avm/lib/avm/application_stereotypes/base.rb
958
969
  - sub/avm/lib/avm/applications.rb
959
970
  - sub/avm/lib/avm/applications/base.rb
971
+ - sub/avm/lib/avm/applications/base/publishing.rb
960
972
  - sub/avm/lib/avm/applications/base/stereotype.rb
961
973
  - sub/avm/lib/avm/data/instance.rb
962
974
  - sub/avm/lib/avm/data/instance/files_unit.rb
@@ -1029,6 +1041,7 @@ files:
1029
1041
  - sub/avm/lib/avm/launcher/instances.rb
1030
1042
  - sub/avm/lib/avm/launcher/instances/base.rb
1031
1043
  - sub/avm/lib/avm/launcher/instances/base/cache.rb
1044
+ - sub/avm/lib/avm/launcher/instances/base/publishing.rb
1032
1045
  - sub/avm/lib/avm/launcher/instances/error.rb
1033
1046
  - sub/avm/lib/avm/launcher/instances/runner_helper.rb
1034
1047
  - sub/avm/lib/avm/launcher/instances/settings.rb
@@ -1046,6 +1059,7 @@ files:
1046
1059
  - sub/avm/lib/avm/registry/application_stereotypes.rb
1047
1060
  - sub/avm/lib/avm/registry/application_stereotypes/build_available.rb
1048
1061
  - sub/avm/lib/avm/registry/application_stereotypes/stereotype_builder.rb
1062
+ - sub/avm/lib/avm/registry/applications.rb
1049
1063
  - sub/avm/lib/avm/registry/file_formats.rb
1050
1064
  - sub/avm/lib/avm/registry/from_gems.rb
1051
1065
  - sub/avm/lib/avm/registry/instances.rb
@@ -1106,6 +1120,14 @@ files:
1106
1120
  - sub/avm/spec/lib/avm/applications/base_spec_fixture.yml
1107
1121
  - sub/avm/spec/lib/avm/instances/base_spec.rb
1108
1122
  - sub/avm/spec/lib/avm/instances/base_spec_files/config.yml
1123
+ - sub/avm/spec/lib/avm/launcher/instances/base_spec.rb
1124
+ - sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/avm-tools_stub/avm-tools.gemspec
1125
+ - sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/avm-tools_stub/lib/avm/tools.rb
1126
+ - sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/avm-tools_stub/lib/avm/tools/version.rb
1127
+ - sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/ruby_gem_stub/lib/ruby_gem_stub.rb
1128
+ - sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/ruby_gem_stub/lib/ruby_gem_stub/version.rb
1129
+ - sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/ruby_gem_stub/ruby_gem_stub.gemspec
1130
+ - sub/avm/spec/lib/avm/launcher/instances/base_spec_files/settings.yaml
1109
1131
  - sub/avm/spec/lib/avm/scms/base_spec.rb
1110
1132
  - sub/avm/spec/lib/avm/sources/base_spec.rb
1111
1133
  - sub/avm/spec/lib/avm/sources/runner_spec.rb
@@ -1245,6 +1267,7 @@ files:
1245
1267
  - sub/eac_fs/lib/eac_fs/comparator/build.rb
1246
1268
  - sub/eac_fs/lib/eac_fs/comparator/rename_file.rb
1247
1269
  - sub/eac_fs/lib/eac_fs/contexts.rb
1270
+ - sub/eac_fs/lib/eac_fs/core_ext.rb
1248
1271
  - sub/eac_fs/lib/eac_fs/file_info.rb
1249
1272
  - sub/eac_fs/lib/eac_fs/logs.rb
1250
1273
  - sub/eac_fs/lib/eac_fs/logs/file.rb
@@ -1255,6 +1278,8 @@ files:
1255
1278
  - sub/eac_fs/lib/eac_fs/patches/object/fs_cache.rb
1256
1279
  - sub/eac_fs/lib/eac_fs/patches/pathname.rb
1257
1280
  - sub/eac_fs/lib/eac_fs/patches/pathname/info.rb
1281
+ - sub/eac_fs/lib/eac_fs/rspec.rb
1282
+ - sub/eac_fs/lib/eac_fs/rspec/setup.rb
1258
1283
  - sub/eac_fs/lib/eac_fs/storage_tree.rb
1259
1284
  - sub/eac_fs/lib/eac_fs/traversable.rb
1260
1285
  - sub/eac_fs/lib/eac_fs/traverser.rb