eac_tools 0.44.0 → 0.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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