avm-eac_ruby_base1 0.16.0 → 0.19.0

Sign up to get free protection for your applications and to get access to all the features.
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