eac_tools 0.33.0 → 0.34.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: db0d464431cf41ef160af756aa3e544b3cc367794711149ad308f7931068c637
4
- data.tar.gz: 292aedae8064eb68018c0036edbf1dfae6839e92f7b9d0776727d94dddfc1061
3
+ metadata.gz: 1a07350e5f6e203f916c6b9ef70f92f59eff8d4c3af4159a086385608d56119b
4
+ data.tar.gz: 03f349d5cee7e0865d05c26fb7e8a2e394f070cc22199bd4b306a81131f955af
5
5
  SHA512:
6
- metadata.gz: b0fa09268506f2195aa716730b091dcca87a92c8d03cea20c964c81353a554e5858e51aaeefd6933f19dbeafab6ec6a978edb560c9fbbf5c55764e6dcc4d2ce9
7
- data.tar.gz: 66cfd6c64ff37e3d4e9371d50483c8cff3fc4eeb18952701d9a0d4de8c49fdf9e02530c6e48be7b4a5fef93100e6bbf2c0c034a43196ff0aca064a30e3d6d487
6
+ metadata.gz: c44c9eedc11252a33e9f23cc07a13bd732b2808fd9d63900fa6a7d3583f15758dc0b561533ceb2f271e628d135e05786398744efce321ac8022219c55458da76
7
+ data.tar.gz: 83a02656f81b1248636ba07fbe6b96ebccbd74f3d4c2a09587e5b2f8561a03832a57ac75d79a6db6fed85edb67462c2b347fed11954258b43ad3b74d543c98ab
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eac_tools (0.33.0)
4
+ eac_tools (0.34.0)
5
5
  avm (~> 0.45)
6
6
  avm-eac_asciidoctor_base0 (~> 0.7, >= 0.7.1)
7
7
  avm-eac_generic_base0 (~> 0.5)
@@ -10,10 +10,10 @@ PATH
10
10
  avm-eac_rails_base1 (~> 0.7)
11
11
  avm-eac_redmine_base0 (~> 0.16)
12
12
  avm-eac_redmine_plugin_base0 (~> 0.3)
13
- avm-eac_ruby_base1 (~> 0.21)
13
+ avm-eac_ruby_base1 (~> 0.22)
14
14
  avm-eac_webapp_base0 (~> 0.9)
15
15
  avm-eac_wordpress_base0 (~> 0.2, >= 0.2.1)
16
- avm-tools (~> 0.137)
16
+ avm-tools (~> 0.138)
17
17
  eac_ruby_utils (~> 0.104)
18
18
 
19
19
  PATH
@@ -80,10 +80,10 @@ PATH
80
80
  PATH
81
81
  remote: sub/avm-eac_ruby_base1
82
82
  specs:
83
- avm-eac_ruby_base1 (0.21.0)
84
- avm (~> 0.41, >= 0.41.1)
83
+ avm-eac_ruby_base1 (0.22.0)
84
+ avm (~> 0.45)
85
85
  avm-eac_generic_base0 (~> 0.5)
86
- eac_ruby_utils (~> 0.103)
86
+ eac_ruby_utils (~> 0.104)
87
87
 
88
88
  PATH
89
89
  remote: sub/avm-eac_webapp_base0
@@ -116,10 +116,10 @@ PATH
116
116
  PATH
117
117
  remote: sub/avm-tools
118
118
  specs:
119
- avm-tools (0.137.0)
119
+ avm-tools (0.138.0)
120
120
  aranha-parsers (~> 0.14, >= 0.14.3)
121
121
  avm (~> 0.45)
122
- avm-eac_ruby_base1 (~> 0.21)
122
+ avm-eac_ruby_base1 (~> 0.22)
123
123
  avm-eac_ubuntu_base0 (~> 0.3)
124
124
  avm-files (~> 0.4, >= 0.4.1)
125
125
  avm-git (~> 0.4)
@@ -342,7 +342,7 @@ GEM
342
342
  tzinfo (2.0.5)
343
343
  concurrent-ruby (~> 1.0)
344
344
  unicode-display_width (1.6.1)
345
- zeitwerk (2.6.0)
345
+ zeitwerk (2.6.1)
346
346
  zlib (2.1.1)
347
347
 
348
348
  PLATFORMS
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacTools
4
- VERSION = '0.33.0'
4
+ VERSION = '0.34.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.41', '>= 0.41.1'
15
+ s.add_dependency 'avm', '~> 0.45'
16
16
  s.add_dependency 'avm-eac_generic_base0', '~> 0.5'
17
- s.add_dependency 'eac_ruby_utils', '~> 0.103'
17
+ s.add_dependency 'eac_ruby_utils', '~> 0.104'
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'
@@ -29,17 +29,34 @@ module Avm
29
29
  siblings.map { |s| sibling_gemfile_local_line(s) }.join
30
30
  end
31
31
 
32
+ def on_unexisting_gemfile_local
33
+ return yield unless gemfile_local_path.exist?
34
+
35
+ ::EacRubyUtils::Fs::Temp.on_file do |temp_file|
36
+ ::FileUtils.cp(gemfile_local_path, temp_file)
37
+ begin
38
+ ::FileUtils.rm_f(gemfile_local_path)
39
+ yield
40
+ ensure
41
+ ::FileUtils.cp(temp_file, gemfile_local_path)
42
+ end
43
+ end
44
+ end
45
+
32
46
  def run_bundle
33
- the_source.bundle.execute!
34
- rescue ::RuntimeError
35
- the_source.bundle('update').execute!
47
+ on_unexisting_gemfile_local do
48
+ the_source.bundle.execute!
49
+ rescue ::RuntimeError
50
+ the_source.bundle('update').execute!
51
+ end
36
52
  end
37
53
 
38
54
  def sibling_gemfile_local_line(sibling)
39
55
  ["gem '#{sibling.gem_name}'",
40
56
  "path: ::File.expand_path('" +
41
57
  sibling.path.relative_path_from(the_source.path).to_path +
42
- "', __dir__)"].join(', ') + "\n"
58
+ "', __dir__)",
59
+ 'require: false'].join(', ') + "\n"
43
60
  end
44
61
 
45
62
  def start_banner
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacRubyBase1
7
+ module Sources
8
+ module Runners
9
+ class Bundler
10
+ class GemfileLock
11
+ module Git
12
+ private
13
+
14
+ def git_continue
15
+ infom "Adding \"#{gemfile_lock}\"..."
16
+ git_repo.command('add', gemfile_lock).execute!
17
+ if rebase_conflict?
18
+ git_continue_run('rebase')
19
+ elsif cherry_conflict?
20
+ git_continue_run('cherry-pick')
21
+ else
22
+ raise 'Unknown how to continue'
23
+ end
24
+ end
25
+
26
+ def git_continue_run(command)
27
+ infom "\"#{command}\" --continue..."
28
+ cmd = git_repo.command(command, '--continue')
29
+ .envvar('GIT_EDITOR', 'true')
30
+ return unless !cmd.system && !conflict?
31
+
32
+ fatal_error "\"#{cmd}\" failed and there is no conflict"
33
+ end
34
+
35
+ def git_repo
36
+ instance.scm.git_repo
37
+ end
38
+
39
+ def git_reset_checkout
40
+ git_reset_gemfile_lock
41
+ git_checkout_gemfile_lock
42
+ end
43
+
44
+ def git_checkout_gemfile_lock
45
+ infom 'Checkouting...'
46
+ git_repo.command('checkout', '--', gemfile_lock).system!
47
+ end
48
+
49
+ def git_reset_gemfile_lock
50
+ infom 'Reseting...'
51
+ git_repo.command('reset', gemfile_lock).system! if
52
+ ::File.exist?(gemfile_lock)
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,89 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/core_ext'
4
+
5
+ module Avm
6
+ module EacRubyBase1
7
+ module Sources
8
+ module Runners
9
+ class Bundler
10
+ class GemfileLock
11
+ require_sub __FILE__, include_modules: true
12
+ runner_with :help do
13
+ desc 'Manipulage a "Gemfile.lock" file.'
14
+ bool_opt '-c', '--continue', 'Continue Git rebase/cherry-pick.'
15
+ bool_opt '-i', '--install', 'Run "bundle install".'
16
+ bool_opt '-u', '--update', 'Run "bundle update".'
17
+ bool_opt '-r', '--recursive', 'Run until Git rebase/cherry-pick is finished.'
18
+ bool_opt '-a', '--all', 'Same as "-cirud".'
19
+ bool_opt '-d', '--delete', 'Delete Gemfile.lock'
20
+ end
21
+
22
+ def run
23
+ loop do
24
+ git_reset_checkout
25
+ delete_gemfile_lock
26
+ bundle_update
27
+ bundle_install
28
+ git_continue
29
+ break if complete?
30
+ end
31
+ end
32
+
33
+ private
34
+
35
+ def complete?
36
+ !option_or_all?(:recursive) || !conflict?
37
+ end
38
+
39
+ def delete_gemfile_lock
40
+ ::FileUtils.rm_f(gemfile_lock)
41
+ end
42
+
43
+ def rebasing?
44
+ git_repo.root_path.join('.git', 'rebase-merge').exist?
45
+ end
46
+
47
+ def bundle_install
48
+ infom '"bundle install"...'
49
+ bundle_run('install')
50
+ end
51
+
52
+ def bundle_update
53
+ infom '"bundle update"...'
54
+ bundle_run('update')
55
+ end
56
+
57
+ def gemfile_lock
58
+ 'Gemfile.lock'
59
+ end
60
+
61
+ def bundle_run(*args)
62
+ instance.bundle(*args).system!
63
+ end
64
+
65
+ def conflict?
66
+ rebase_conflict? || cherry_conflict?
67
+ end
68
+
69
+ def rebase_conflict?
70
+ git_repo.root_path.join('.git', 'REBASE_HEAD').exist?
71
+ end
72
+
73
+ def cherry_conflict?
74
+ git_repo.root_path.join('.git', 'CHERRY_PICK_HEAD').exist?
75
+ end
76
+
77
+ def option_or_all?(option)
78
+ parsed[option] || parsed.all?
79
+ end
80
+
81
+ def instance
82
+ runner_context.call(:subject)
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRubyBase1
5
- VERSION = '0.21.0'
5
+ VERSION = '0.22.0'
6
6
  end
7
7
  end
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
16
16
 
17
17
  s.add_dependency 'aranha-parsers', '~> 0.14', '>= 0.14.3'
18
18
  s.add_dependency 'avm', '~> 0.45'
19
- s.add_dependency 'avm-eac_ruby_base1', '~> 0.21'
19
+ s.add_dependency 'avm-eac_ruby_base1', '~> 0.22'
20
20
  s.add_dependency 'avm-eac_ubuntu_base0', '~> 0.3'
21
21
  s.add_dependency 'avm-files', '~> 0.4', '>= 0.4.1'
22
22
  s.add_dependency 'avm-git', '~> 0.4'
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module Tools
5
- VERSION = '0.137.0'
5
+ VERSION = '0.138.0'
6
6
  end
7
7
  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.33.0
4
+ version: 0.34.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-09-28 00:00:00.000000000 Z
11
+ date: 2022-10-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: avm
@@ -146,14 +146,14 @@ dependencies:
146
146
  requirements:
147
147
  - - "~>"
148
148
  - !ruby/object:Gem::Version
149
- version: '0.21'
149
+ version: '0.22'
150
150
  type: :runtime
151
151
  prerelease: false
152
152
  version_requirements: !ruby/object:Gem::Requirement
153
153
  requirements:
154
154
  - - "~>"
155
155
  - !ruby/object:Gem::Version
156
- version: '0.21'
156
+ version: '0.22'
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: avm-eac_webapp_base0
159
159
  requirement: !ruby/object:Gem::Requirement
@@ -194,14 +194,14 @@ dependencies:
194
194
  requirements:
195
195
  - - "~>"
196
196
  - !ruby/object:Gem::Version
197
- version: '0.137'
197
+ version: '0.138'
198
198
  type: :runtime
199
199
  prerelease: false
200
200
  version_requirements: !ruby/object:Gem::Requirement
201
201
  requirements:
202
202
  - - "~>"
203
203
  - !ruby/object:Gem::Version
204
- version: '0.137'
204
+ version: '0.138'
205
205
  - !ruby/object:Gem::Dependency
206
206
  name: eac_ruby_utils
207
207
  requirement: !ruby/object:Gem::Requirement
@@ -475,6 +475,8 @@ files:
475
475
  - sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners.rb
476
476
  - sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler.rb
477
477
  - sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_local.rb
478
+ - sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_lock.rb
479
+ - sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_lock/git.rb
478
480
  - sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/incompatible.rb
479
481
  - sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/update_dependencies_requirements.rb
480
482
  - sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests.rb
@@ -711,10 +713,6 @@ files:
711
713
  - sub/avm-tools/lib/avm/tools/runner/source/issue.rb
712
714
  - sub/avm-tools/lib/avm/tools/runner/source/issue/complete.rb
713
715
  - sub/avm-tools/lib/avm/tools/runner/source/issue/deliver.rb
714
- - sub/avm-tools/lib/avm/tools/runner/source/ruby.rb
715
- - sub/avm-tools/lib/avm/tools/runner/source/ruby/bundler.rb
716
- - sub/avm-tools/lib/avm/tools/runner/source/ruby/bundler/gemfile_lock.rb
717
- - sub/avm-tools/lib/avm/tools/runner/source/ruby/bundler/gemfile_lock/git.rb
718
716
  - sub/avm-tools/lib/avm/tools/runner/source/subs.rb
719
717
  - sub/avm-tools/lib/avm/tools/runner/source/test.rb
720
718
  - sub/avm-tools/lib/avm/tools/runner/source/update.rb
@@ -1,62 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_base0/core_ext'
4
-
5
- module Avm
6
- module Tools
7
- class Runner
8
- class Source < ::Avm::Sources::Runner
9
- class Ruby
10
- class Bundler
11
- class GemfileLock
12
- module Git
13
- private
14
-
15
- def git_continue
16
- return unless check_capability(__method__, :git_repo, :continue)
17
-
18
- infom "Adding \"#{gemfile_lock}\"..."
19
- instance.git_repo.command('add', gemfile_lock).execute!
20
- if rebase_conflict?
21
- git_continue_run('rebase')
22
- elsif cherry_conflict?
23
- git_continue_run('cherry-pick')
24
- else
25
- raise 'Unknown how to continue'
26
- end
27
- end
28
-
29
- def git_continue_run(command)
30
- infom "\"#{command}\" --continue..."
31
- cmd = instance.git_repo.command(command, '--continue')
32
- .envvar('GIT_EDITOR', 'true')
33
- return unless !cmd.system && !conflict?
34
-
35
- fatal_error "\"#{cmd}\" failed and there is no conflict"
36
- end
37
-
38
- def git_reset_checkout
39
- return unless check_capability(__method__, :git_repo, nil)
40
-
41
- git_reset_gemfile_lock
42
- git_checkout_gemfile_lock
43
- end
44
-
45
- def git_checkout_gemfile_lock
46
- infom 'Checkouting...'
47
- instance.git_repo.command('checkout', '--', gemfile_lock).system!
48
- end
49
-
50
- def git_reset_gemfile_lock
51
- infom 'Reseting...'
52
- instance.git_repo.command('reset', gemfile_lock).system! if
53
- ::File.exist?(gemfile_lock)
54
- end
55
- end
56
- end
57
- end
58
- end
59
- end
60
- end
61
- end
62
- end
@@ -1,105 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_base0/core_ext'
4
-
5
- module Avm
6
- module Tools
7
- class Runner
8
- class Source < ::Avm::Sources::Runner
9
- class Ruby
10
- class Bundler
11
- class GemfileLock
12
- require_sub __FILE__, include_modules: true
13
- runner_with :help do
14
- desc 'Manipulage a "Gemfile.lock" file.'
15
- bool_opt '-c', '--continue', 'Continue Git rebase/cherry-pick.'
16
- bool_opt '-i', '--install', 'Run "bundle install".'
17
- bool_opt '-u', '--update', 'Run "bundle update".'
18
- bool_opt '-r', '--recursive', 'Run until Git rebase/cherry-pick is finished.'
19
- bool_opt '-a', '--all', 'Same as "-cirud".'
20
- bool_opt '-d', '--delete', 'Delete Gemfile.lock'
21
- end
22
-
23
- def run
24
- loop do
25
- git_reset_checkout
26
- delete_gemfile_lock
27
- bundle_update
28
- bundle_install
29
- git_continue
30
- break if complete?
31
- end
32
- end
33
-
34
- private
35
-
36
- def complete?
37
- !option_or_all?(:recursive) || !conflict?
38
- end
39
-
40
- def delete_gemfile_lock
41
- return unless check_capability(__method__, nil, :delete)
42
-
43
- ::FileUtils.rm_f(gemfile_lock)
44
- end
45
-
46
- def rebasing?
47
- instance.git_repo.root_path.join('.git', 'rebase-merge').exist?
48
- end
49
-
50
- def bundle_install
51
- return unless check_capability(__method__, :ruby_gem, :install)
52
-
53
- infom '"bundle install"...'
54
- bundle_run('install')
55
- end
56
-
57
- def bundle_update
58
- return unless check_capability(__method__, :ruby_gem, :update)
59
-
60
- infom '"bundle update"...'
61
- bundle_run('update')
62
- end
63
-
64
- def gemfile_lock
65
- 'Gemfile.lock'
66
- end
67
-
68
- def bundle_run(*args)
69
- instance.ruby_gem.bundle(*args).system!
70
- end
71
-
72
- def conflict?
73
- rebase_conflict? || cherry_conflict?
74
- end
75
-
76
- def rebase_conflict?
77
- instance.git_repo.root_path.join('.git', 'REBASE_HEAD').exist?
78
- end
79
-
80
- def cherry_conflict?
81
- instance.git_repo.root_path.join('.git', 'CHERRY_PICK_HEAD').exist?
82
- end
83
-
84
- def option_or_all?(option)
85
- parsed[option] || parsed.all?
86
- end
87
-
88
- def instance
89
- runner_context.call(:instance)
90
- end
91
-
92
- def check_capability(caller, capability, option)
93
- return false unless option.blank? || option_or_all?(option)
94
- return true if capability.if_present(true) { |v| instance.respond_to?(v) }
95
-
96
- warn "Cannot run #{caller}: instance has no capability \"#{capability}\""
97
- false
98
- end
99
- end
100
- end
101
- end
102
- end
103
- end
104
- end
105
- end
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_base0/core_ext'
4
-
5
- module Avm
6
- module Tools
7
- class Runner
8
- class Source < ::Avm::Sources::Runner
9
- class Ruby
10
- class Bundler
11
- require_sub __FILE__
12
- runner_with :help, :subcommands do
13
- desc 'Ruby\'s bundler utitilies for local projects.'
14
- subcommands
15
- end
16
- end
17
- end
18
- end
19
- end
20
- end
21
- end
@@ -1,19 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_cli/core_ext'
4
-
5
- module Avm
6
- module Tools
7
- class Runner
8
- class Source < ::Avm::Sources::Runner
9
- class Ruby
10
- require_sub __FILE__
11
- runner_with :help, :subcommands do
12
- desc 'Ruby utitilies for local projects.'
13
- subcommands
14
- end
15
- end
16
- end
17
- end
18
- end
19
- end