eac_tools 0.124.0 → 0.125.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: 90a05e5c6f66d64913ac12444f338786c1370111908dc2e44fabb36341d59751
4
- data.tar.gz: f471db29574f550fe5e45f7490fd124f8acd77cbd26427b86e91ed78b5d27e62
3
+ metadata.gz: 38d1d457e0332317b49bca8e2c773148b876d1fa84e1ecdef37137cc879504fe
4
+ data.tar.gz: 196098332ea2ea1e42872fa46b5777892c2d45d3d9cc58bf4a22204f5d9b9548
5
5
  SHA512:
6
- metadata.gz: 8fc1bd49d5345b48353e43d93c45f8734935d4616483a2baba93428f95946133b6025caa2b0ac8ab0811b215de37428850b2992f69edfc862a22ccab9693a868
7
- data.tar.gz: ef724ab0cb14249ac9c51ee61708380ad529dab447551f7b6fc8329c71cbc33434b36af2893e1b2d0017602a462cf973bf68b6f2fd34e1c561f9ab2278d6c386
6
+ metadata.gz: 493425a7840634c5a7a5b04ec88ed29feaf80db24b361158d01386789a7a5a42a0e9d98835a6442d44217c1b5a0f7215937e1f1d7da36003de27a166d1d6a026
7
+ data.tar.gz: ad8f88aed572adf20198d33580e58ae4a086f778c3234834536d2d544d9542e86ad77b117f8b072597af06a65aa51d9a8cc3e651bdb3e91c16c435bce0632775
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eac_tools (0.124.0)
4
+ eac_tools (0.125.0)
5
5
  avm (~> 0.103)
6
6
  avm-eac_asciidoctor_base0 (~> 0.27, >= 0.27.1)
7
7
  avm-eac_generic_base0 (~> 0.16, >= 0.16.1)
@@ -13,7 +13,7 @@ PATH
13
13
  avm-eac_python_base0 (~> 0.2, >= 0.2.2)
14
14
  avm-eac_rails_base0 (~> 0.11, >= 0.11.2)
15
15
  avm-eac_rails_base1 (~> 0.12, >= 0.12.1)
16
- avm-eac_redmine_base0 (~> 0.28)
16
+ avm-eac_redmine_base0 (~> 0.29)
17
17
  avm-eac_redmine_plugin_base0 (~> 0.6, >= 0.6.1)
18
18
  avm-eac_ruby_base0 (~> 0.3, >= 0.3.1)
19
19
  avm-eac_ruby_base1 (~> 0.45, >= 0.45.2)
@@ -26,7 +26,7 @@ PATH
26
26
  PATH
27
27
  remote: sub/avm-eac_redmine_base0
28
28
  specs:
29
- avm-eac_redmine_base0 (0.28.0)
29
+ avm-eac_redmine_base0 (0.29.0)
30
30
  avm (~> 0.103)
31
31
  avm-eac_generic_base0 (~> 0.16, >= 0.16.1)
32
32
  avm-eac_rails_base1 (~> 0.12, >= 0.12.1)
@@ -38,7 +38,7 @@ PATH
38
38
  GEM
39
39
  remote: https://rubygems.org/
40
40
  specs:
41
- activesupport (8.1.3.1)
41
+ activesupport (8.1.4)
42
42
  base64
43
43
  bigdecimal
44
44
  concurrent-ruby (~> 1.0, >= 1.3.1)
@@ -260,7 +260,7 @@ GEM
260
260
  optimist (3.2.1)
261
261
  os (1.1.4)
262
262
  ostruct (0.6.3)
263
- parallel (2.2.0)
263
+ parallel (2.3.0)
264
264
  parseconfig (1.1.2)
265
265
  parser (3.3.12.0)
266
266
  ast (~> 2.4.1)
@@ -278,7 +278,7 @@ GEM
278
278
  random-port (0.8.2)
279
279
  tago (~> 0.0)
280
280
  rchardet (1.10.2)
281
- regexp_parser (2.13.0)
281
+ regexp_parser (2.13.1)
282
282
  rouge (3.30.0)
283
283
  rspec (3.13.2)
284
284
  rspec-core (~> 3.13.0)
data/eac_tools.gemspec CHANGED
@@ -29,7 +29,7 @@ Gem::Specification.new do |s|
29
29
  s.add_dependency 'avm-eac_python_base0', '~> 0.2', '>= 0.2.2'
30
30
  s.add_dependency 'avm-eac_rails_base0', '~> 0.11', '>= 0.11.2'
31
31
  s.add_dependency 'avm-eac_rails_base1', '~> 0.12', '>= 0.12.1'
32
- s.add_dependency 'avm-eac_redmine_base0', '~> 0.28'
32
+ s.add_dependency 'avm-eac_redmine_base0', '~> 0.29'
33
33
  s.add_dependency 'avm-eac_redmine_plugin_base0', '~> 0.6', '>= 0.6.1'
34
34
  s.add_dependency 'avm-eac_ruby_base0', '~> 0.3', '>= 0.3.1'
35
35
  s.add_dependency 'avm-eac_ruby_base1', '~> 0.45', '>= 0.45.2'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacTools
4
- VERSION = '0.124.0'
4
+ VERSION = '0.125.0'
5
5
  end
@@ -0,0 +1,64 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Sources
6
+ class CoreUpdate
7
+ module BundleChanges
8
+ GEMFILE_CONFLICTED_GEMS = %w[rubocop rubocop-rails].freeze
9
+
10
+ # @return [void]
11
+ def bundle_changes
12
+ disable_gemfile_conflicted_gems
13
+ load_subs_from_gemfile
14
+ generate_gemfile_lock
15
+ end
16
+
17
+ # @return [void]
18
+ def disable_gemfile_conflicted_gems
19
+ GEMFILE_CONFLICTED_GEMS.each do |gem_name|
20
+ disable_gemfile_gem(gem_name)
21
+ end
22
+ end
23
+
24
+ # @param gem_name [String]
25
+ # @return [void]
26
+ def disable_gemfile_gem(gem_name)
27
+ source.gemfile_path.write(
28
+ source.gemfile_path.read.gsub(gemfile_gem_line_pattern(gem_name), '\1# \2')
29
+ )
30
+ end
31
+
32
+ # @param gem_name [String]
33
+ # @return [Regexp]
34
+ def gemfile_gem_line_pattern(gem_name)
35
+ /^([ \t]*)(gem[ \t]+['"]#{::Regexp.quote(gem_name)}['"].*)$/
36
+ end
37
+
38
+ # @return [void]
39
+ def generate_gemfile_lock
40
+ source.bundle_update.system!
41
+ end
42
+
43
+ # @return [void]
44
+ def load_subs_from_gemfile
45
+ source.gemfile_path.write(load_subs_from_gemfile_code, mode: 'a')
46
+ end
47
+
48
+ # @return [String]
49
+ def load_subs_from_gemfile_code
50
+ <<~'CODE'
51
+
52
+ # Subs
53
+ Dir["#{File.join(__dir__, 'sub')}/*"].each do |dir|
54
+ next unless File.exist?(File.join(dir, "#{File.basename(dir)}.gemspec"))
55
+
56
+ gem File.basename(dir), path: dir, require: false
57
+ end
58
+ CODE
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Sources
6
+ class CoreUpdate
7
+ module Scm
8
+ enable_memoized
9
+
10
+ # @return [void]
11
+ def git_commit
12
+ if git_repo.dirty?
13
+ infom 'Git commiting...'
14
+ git_repo.command('add', '--', target_path).execute!
15
+ git_repo.command('commit', '-m', git_commit_message, '--', target_path).execute!
16
+ else
17
+ infom 'Nothing to commit'
18
+ end
19
+ end
20
+
21
+ # @return [String]
22
+ def git_commit_message
23
+ i18n_translate(__method__, version: version, __locale: source.locale)
24
+ end
25
+
26
+ # @return [EacGit::Local]
27
+ memoize def git_repo
28
+ ::EacGit::Local.new(target_path)
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Sources
6
+ class CoreUpdate
7
+ module SourcePackage
8
+ enable_memoized
9
+
10
+ # @return [void]
11
+ def assert_source_package
12
+ infom 'Asserting source package...'
13
+ source_package.assert
14
+ infov 'Package cache path', source_package.path
15
+ infov 'Package size', source_package.path.size
16
+ end
17
+
18
+ # @return [EacFs::CachedDownload]
19
+ memoize def source_package
20
+ ::EacFs::CachedDownload.new(url, fs_cache)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRedmineBase0
5
+ module Sources
6
+ class CoreUpdate
7
+ module Tempdir
8
+ def on_temp_dir
9
+ ::EacRubyUtils::Fs::Temp.on_directory do |dir|
10
+ @tempdir = dir
11
+ yield
12
+ end
13
+ end
14
+
15
+ protected
16
+
17
+ attr_accessor :tempdir
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -13,37 +13,28 @@ module Avm
13
13
  GITIGNORE_DEL = %w[/Gemfile.lock /plugins/* /themes/* !/themes/README].freeze
14
14
  TARGET_KEEP = ::Avm::Sources::Base::Configuration::CONFIGURATION_FILENAMES
15
15
  .map { |b| "/#{b}" } + %w[/Gemfile.lock /plugins/*/**
16
- /themes/*/**].freeze
16
+ /themes/*/** /sub/*/**].freeze
17
17
  TARGET_REMOVE = ['/themes/README'].freeze
18
18
 
19
19
  def run
20
- ::EacRubyUtils::Fs::Temp.on_directory do |dir|
21
- @tempdir = dir
20
+ on_temp_dir do
22
21
  assert_source_package
23
22
  extract_package_to_tempdir
24
23
  sync_content
25
24
  change_git_ignore
26
25
  validate_empty_dir
26
+ bundle_changes
27
27
  end
28
28
  git_commit
29
29
  success 'Done!'
30
30
  end
31
31
 
32
- def assert_source_package
33
- infom 'Asserting source package...'
34
- source_package.assert
35
- infov 'Package cache path', source_package.path
36
- infov 'Package size', source_package.path.size
37
- end
38
-
39
32
  def fs_object_id
40
33
  [source.path, version].join('_').variableize
41
34
  end
42
35
 
43
36
  private
44
37
 
45
- attr_reader :tempdir
46
-
47
38
  def change_git_ignore
48
39
  file = target_path.join('.gitignore')
49
40
  file.write(
@@ -60,34 +51,11 @@ module Avm
60
51
  ).execute!
61
52
  end
62
53
 
63
- def git_commit
64
- if git_repo.dirty?
65
- infom 'Git commiting...'
66
- git_repo.command('add', '--', target_path).execute!
67
- git_repo.command('commit', '-m', git_commit_message, '--', target_path).execute!
68
- else
69
- infom 'Nothing to commit'
70
- end
71
- end
72
-
73
- def git_commit_message
74
- i18n_translate(__method__, version: version, __locale: source.locale)
75
- end
76
-
77
- memoize def git_repo
78
- ::EacGit::Local.new(target_path)
79
- end
80
-
81
54
  def sync_content
82
55
  ::Avm::Sync.new(source_path, target_path)
83
56
  .add_exclude('/*').add_includes(*target_files_to_remove).move_mode(true).run
84
57
  end
85
58
 
86
- # @return [EacFs::CachedDownload]
87
- memoize def source_package
88
- ::EacFs::CachedDownload.new(url, fs_cache)
89
- end
90
-
91
59
  def validate_empty_dir
92
60
  if source_path.children.empty?
93
61
  infom 'No content left in source directory'
@@ -119,6 +87,8 @@ module Avm
119
87
  memoize def target_path
120
88
  source.path
121
89
  end
90
+
91
+ require_sub __FILE__, include_modules: true
122
92
  end
123
93
  end
124
94
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRedmineBase0
5
- VERSION = '0.28.0'
5
+ VERSION = '0.29.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eac_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.124.0
4
+ version: 0.125.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Put here the authors
@@ -211,14 +211,14 @@ dependencies:
211
211
  requirements:
212
212
  - - "~>"
213
213
  - !ruby/object:Gem::Version
214
- version: '0.28'
214
+ version: '0.29'
215
215
  type: :runtime
216
216
  prerelease: false
217
217
  version_requirements: !ruby/object:Gem::Requirement
218
218
  requirements:
219
219
  - - "~>"
220
220
  - !ruby/object:Gem::Version
221
- version: '0.28'
221
+ version: '0.29'
222
222
  - !ruby/object:Gem::Dependency
223
223
  name: avm-eac_redmine_plugin_base0
224
224
  requirement: !ruby/object:Gem::Requirement
@@ -432,6 +432,10 @@ files:
432
432
  - sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base/default_settings.rb
433
433
  - sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base/update.rb
434
434
  - sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update.rb
435
+ - sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update/bundle_changes.rb
436
+ - sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update/scm.rb
437
+ - sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update/source_package.rb
438
+ - sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update/tempdir.rb
435
439
  - sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/core_update.rb
436
440
  - sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/docker.rb
437
441
  - sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/version.rb