eac_tools 0.33.0 → 0.34.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: 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