avm-eac_ruby_base1 0.16.0 → 0.19.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 73cf66a72fcc24c0128fc2d9706c58ec009ecdd963b75efe0fe34000a2d4f4b3
4
- data.tar.gz: 5a28a9b29acbf660057f7c181531cbbba8432c86294fce4c67f4d1ac136d83ce
3
+ metadata.gz: 772ed8c3577711d9ae50f4ca3853a56e27110e2f7eba7504ba0920392e7d4ade
4
+ data.tar.gz: b1a35039a114b6d29d325d707e8b42f82b7b2e4b37ce8106b44881d6737e0b80
5
5
  SHA512:
6
- metadata.gz: c3f075d27166477bab4968a99af4af651eb3cb3445b5a549e8956f7467dbcf2ed49abbde04dc493bd582d4f3ddd51b61d22f6243a56a88de3763aca8aa228969
7
- data.tar.gz: 026c88f853df55a243cdb78baeb43328c59472a8f2570dda7f21bf452290be0f2b8f4165fed5024e3ed9328a971d73b3d8f088ebc9f8519395aa8fe8afee2788
6
+ metadata.gz: 83b8ef8f93cc1ac073ac28e19316fc0b57f9cfeabd7ae925f0e26ba89511a18136ace6c6ef378a082806a8b4231a1856218937e1d0b6851220e4ccf240a82ad9
7
+ data.tar.gz: e454efa02155ea184238bf2dd086925a4d4f68d661fff0f8f1e652d6c65d778e8a8faa686b66afb873e05384bde01d3a5d852c1364f46e66bd75caf7aeea2cf1
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/version_number'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module EacRubyBase1
8
+ class PreferredVersionRequirements
9
+ enable_simple_cache
10
+ common_constructor :version do
11
+ self.version = ::Avm::VersionNumber.new(version)
12
+ end
13
+
14
+ # @return [Avm::VersionNumber]
15
+ def prefix_version
16
+ ::Avm::VersionNumber.new(
17
+ normalized_version.segments[0..normalized_version.segments.count - 2]
18
+ )
19
+ end
20
+
21
+ # @return [Gem::Requirement]
22
+ def to_requirement
23
+ r = ["~> #{prefix_version}"]
24
+ r << ">= #{normalized_version}" unless normalized_version.segments[-1].zero?
25
+ ::Gem::Requirement.new(r)
26
+ end
27
+
28
+ # @return [Array<String>]
29
+ def to_requirements_list
30
+ to_requirement.requirements.map { |r| "#{r[0]} #{r[1]}" }
31
+ end
32
+
33
+ private
34
+
35
+ # @return [Avm::VersionNumber]
36
+ def normalized_version_uncached
37
+ r = version
38
+ r = ::Avm::VersionNumber.new(r.segments + [0]) while r.segments.count < 3
39
+ r
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_ruby_base1/rubocop'
4
+ require 'eac_cli/core_ext'
5
+
6
+ module Avm
7
+ module EacRubyBase1
8
+ module Runners
9
+ class Base
10
+ class Rubocop
11
+ runner_with :help do
12
+ desc 'Runs Rubocop (https://rubygems.org/gems/rubocop).'
13
+ arg_opt '-C', 'Caminho para executar o Rubocop [default: .].'
14
+ pos_arg :rubocop_args, repeat: true, optional: true
15
+ end
16
+
17
+ def run
18
+ ::Avm::EacRubyBase1::Rubocop.new(path, parsed.rubocop_args).run
19
+ end
20
+
21
+ private
22
+
23
+ def path
24
+ ::Pathname.new(parsed.c || '.').expand_path
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/runners/base'
4
+
5
+ module Avm
6
+ module EacRubyBase1
7
+ module Runners
8
+ class Base < ::Avm::Runners::Base
9
+ require_sub __FILE__
10
+
11
+ runner_with :help, :subcommands do
12
+ desc 'Ruby utilities for AVM.'
13
+ subcommands
14
+ end
15
+ end
16
+ end
17
+ end
18
+ 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 Runners
8
+ require_sub __FILE__
9
+ end
10
+ end
11
+ end
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'avm/eac_generic_base0/sources/base'
4
4
  require 'avm/eac_ruby_base1/sources/base/bundle_command'
5
+ require 'avm/eac_ruby_base1/sources/bundle_update'
5
6
  require 'eac_ruby_utils/core_ext'
6
7
 
7
8
  module Avm
@@ -18,6 +19,11 @@ module Avm
18
19
  .envvar_gemfile
19
20
  end
20
21
 
22
+ # @return [Avm::EacRubyBase1::Sources::BundleUpdate]
23
+ def bundle_update
24
+ ::Avm::EacRubyBase1::Sources::BundleUpdate.new(self)
25
+ end
26
+
21
27
  # @return [String]
22
28
  def configured_gemfile_path
23
29
  configuration_entry(CONFIGURED_GEMFILE_PATH_ENTRY_KEY).value
@@ -2,8 +2,8 @@
2
2
 
3
3
  require 'avm/eac_generic_base0/sources/base'
4
4
  require 'avm/eac_ruby_base1/rubygems/version_file'
5
+ require 'avm/eac_ruby_base1/sources/runners'
5
6
  require 'avm/eac_ruby_base1/sources/update'
6
- require 'avm/eac_ruby_base1/sources/runners/bundler'
7
7
  require 'avm/version_number'
8
8
  require 'eac_ruby_utils/core_ext'
9
9
 
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacRubyBase1
7
+ module Sources
8
+ class BundleUpdate
9
+ common_constructor :source
10
+ delegate :bundle, to: :source
11
+
12
+ def execute!
13
+ bundle('update').execute! + bundle('install').execute!
14
+ end
15
+
16
+ def system!
17
+ bundle('update').system!
18
+ bundle('install').system!
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_ruby_base1/rubygems/gemspec'
4
+ require 'avm/eac_ruby_base1/sources/update_dependency_requirements'
5
+ require 'eac_cli/core_ext'
6
+
7
+ module Avm
8
+ module EacRubyBase1
9
+ module Sources
10
+ module Runners
11
+ class UpdateDependenciesRequirements
12
+ runner_with :help do
13
+ bool_opt '-a', '--all'
14
+ pos_arg :gem_name, repeat: true, optional: true
15
+ end
16
+
17
+ def run
18
+ runner_context.call(:source_banner)
19
+ infov 'Gems to update', gem_names.count
20
+ gem_names.each do |gem_name|
21
+ infov 'Gem to update', gem_name
22
+ ::Avm::EacRubyBase1::Sources::UpdateDependencyRequirements
23
+ .new(runner_context.call(:source), gem_name).perform
24
+ end
25
+ end
26
+
27
+ def gemspec
28
+ ::Avm::EacRubyBase1::Rubygems::Gemspec.from_file(
29
+ runner_context.call(:source).gemspec_path
30
+ )
31
+ end
32
+
33
+ private
34
+
35
+ def gem_names_uncached
36
+ ::Set.new(parsed.gem_name + gem_names_from_all).sort
37
+ end
38
+
39
+ def gem_names_from_all
40
+ return [] unless parsed.all?
41
+
42
+ gemspec.dependencies.map(&:gem_name)
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -14,10 +14,8 @@ module Avm
14
14
  end
15
15
 
16
16
  def bundle_update
17
- infom 'Running "bundle update"...'
18
- source.bundle('update').execute!
19
- infom 'Running "bundle install"...'
20
- source.bundle('install').execute!
17
+ infom 'Running "bundle update && bundle install"...'
18
+ source.bundle_update.execute!
21
19
  end
22
20
 
23
21
  protected
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_ruby_base1/preferred_version_requirements'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module EacRubyBase1
8
+ module Sources
9
+ class UpdateDependencyRequirements
10
+ enable_simple_cache
11
+ common_constructor :source, :gem_name
12
+
13
+ def perform
14
+ source.scm.commit_if_change(commit_message) { update_code }
15
+ end
16
+
17
+ private
18
+
19
+ # @return [String]
20
+ def commit_message
21
+ i18n_translate(__method__,
22
+ name: gem_name,
23
+ requirements_list: requirements_list.join(', '),
24
+ __locale: source.locale)
25
+ end
26
+
27
+ # @return [Array<String>]
28
+ def requirements_list_uncached
29
+ ::Avm::EacRubyBase1::PreferredVersionRequirements.new(
30
+ source.gemfile_lock_gem_version(gem_name)
31
+ ).to_requirements_list
32
+ end
33
+
34
+ def gemspec_uncached
35
+ ::Avm::EacRubyBase1::Rubygems::Gemspec.from_file(source.gemspec_path)
36
+ end
37
+
38
+ def parent_bundle
39
+ return unless source.parent.if_present { |v| v.is_a?(::Avm::EacRubyBase1::Sources::Base) }
40
+
41
+ source.parent.bundle_update.execute!
42
+ end
43
+
44
+ def update_code
45
+ update_gemspec
46
+ source.bundle.system!
47
+ parent_bundle
48
+ end
49
+
50
+ def update_gemspec
51
+ gemspec.dependency(gem_name).version_specs = requirements_list
52
+ gemspec.write(source.gemspec_path)
53
+ source.bundle('exec', 'rubocop', source.gemspec_path).system!
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRubyBase1
5
- VERSION = '0.16.0'
5
+ VERSION = '0.19.0'
6
6
  end
7
7
  end
data/locale/en.yml CHANGED
@@ -6,3 +6,5 @@ en:
6
6
  no_scm_update_commit_message: "Gem \"%{name}\" (Local): update to '%{version}'."
7
7
  scm_update_commit_message: '**/.gitrepo: fix/update.'
8
8
  update_gemfile_lock_commit_message: 'All gems: update.'
9
+ update_dependency_requirements:
10
+ commit_message: "Gem \"%{name}\": update to '%{requirements_list}'."
data/locale/pt-BR.yml CHANGED
@@ -6,3 +6,5 @@ pt-BR:
6
6
  no_scm_update_commit_message: "Gem \"%{name}\" (Local): atualiza para '%{version}'."
7
7
  scm_update_commit_message: '**/.gitrepo: conserta/atualiza.'
8
8
  update_gemfile_lock_commit_message: 'Todas as gems: atualiza.'
9
+ update_dependency_requirements:
10
+ commit_message: "Gem \"%{name}\": atualiza para to '%{requirements_list}'."
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avm-eac_ruby_base1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.0
4
+ version: 0.19.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-08-08 00:00:00.000000000 Z
11
+ date: 2022-08-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: avm
@@ -16,48 +16,48 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.34'
19
+ version: '0.35'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.35.1
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - "~>"
25
28
  - !ruby/object:Gem::Version
26
- version: '0.34'
29
+ version: '0.35'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 0.35.1
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: avm-eac_generic_base0
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
37
  - - "~>"
32
38
  - !ruby/object:Gem::Version
33
- version: '0.2'
39
+ version: '0.5'
34
40
  type: :runtime
35
41
  prerelease: false
36
42
  version_requirements: !ruby/object:Gem::Requirement
37
43
  requirements:
38
44
  - - "~>"
39
45
  - !ruby/object:Gem::Version
40
- version: '0.2'
46
+ version: '0.5'
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: eac_ruby_utils
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
51
  - - "~>"
46
52
  - !ruby/object:Gem::Version
47
- version: '0.95'
48
- - - ">="
49
- - !ruby/object:Gem::Version
50
- version: 0.95.1
53
+ version: '0.98'
51
54
  type: :runtime
52
55
  prerelease: false
53
56
  version_requirements: !ruby/object:Gem::Requirement
54
57
  requirements:
55
58
  - - "~>"
56
59
  - !ruby/object:Gem::Version
57
- version: '0.95'
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- version: 0.95.1
60
+ version: '0.98'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: aranha-parsers
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -111,6 +111,7 @@ files:
111
111
  - lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_factory.rb
112
112
  - lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_parser_base.rb
113
113
  - lib/avm/eac_ruby_base1/bundler/incompatible_parser/version_requirement.rb
114
+ - lib/avm/eac_ruby_base1/preferred_version_requirements.rb
114
115
  - lib/avm/eac_ruby_base1/rubocop.rb
115
116
  - lib/avm/eac_ruby_base1/rubocop/configured.rb
116
117
  - lib/avm/eac_ruby_base1/rubocop/envvar.rb
@@ -120,6 +121,9 @@ files:
120
121
  - lib/avm/eac_ruby_base1/rubygems/gemspec/add_or_replace_gem_line.rb
121
122
  - lib/avm/eac_ruby_base1/rubygems/gemspec/dependency.rb
122
123
  - lib/avm/eac_ruby_base1/rubygems/version_file.rb
124
+ - lib/avm/eac_ruby_base1/runners.rb
125
+ - lib/avm/eac_ruby_base1/runners/base.rb
126
+ - lib/avm/eac_ruby_base1/runners/base/rubocop.rb
123
127
  - lib/avm/eac_ruby_base1/source_generators.rb
124
128
  - lib/avm/eac_ruby_base1/source_generators/base.rb
125
129
  - lib/avm/eac_ruby_base1/sources.rb
@@ -129,10 +133,12 @@ files:
129
133
  - lib/avm/eac_ruby_base1/sources/base/rake.rb
130
134
  - lib/avm/eac_ruby_base1/sources/base/rubygems.rb
131
135
  - lib/avm/eac_ruby_base1/sources/base/version_bump.rb
136
+ - lib/avm/eac_ruby_base1/sources/bundle_update.rb
132
137
  - lib/avm/eac_ruby_base1/sources/runners.rb
133
138
  - lib/avm/eac_ruby_base1/sources/runners/bundler.rb
134
139
  - lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_local.rb
135
140
  - lib/avm/eac_ruby_base1/sources/runners/bundler/incompatible.rb
141
+ - lib/avm/eac_ruby_base1/sources/runners/update_dependencies_requirements.rb
136
142
  - lib/avm/eac_ruby_base1/sources/tests.rb
137
143
  - lib/avm/eac_ruby_base1/sources/tests/base.rb
138
144
  - lib/avm/eac_ruby_base1/sources/tests/minitest.rb
@@ -142,6 +148,7 @@ files:
142
148
  - lib/avm/eac_ruby_base1/sources/tests/rspec.rb
143
149
  - lib/avm/eac_ruby_base1/sources/update.rb
144
150
  - lib/avm/eac_ruby_base1/sources/update/sub_update.rb
151
+ - lib/avm/eac_ruby_base1/sources/update_dependency_requirements.rb
145
152
  - lib/avm/eac_ruby_base1/version.rb
146
153
  - locale/en.yml
147
154
  - locale/pt-BR.yml