eac_tools 0.29.0 → 0.31.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +35 -29
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +2 -2
  5. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/{apache_host.rb → instances/apache_host.rb} +3 -1
  6. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base.rb +6 -5
  7. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/data_unit.rb +53 -0
  8. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/{rest_api.rb → instances/rest_api.rb} +3 -1
  9. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project_rename.rb +1 -1
  10. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/runners/base.rb +1 -1
  11. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update.rb +120 -0
  12. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/core_update.rb +3 -2
  13. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/version.rb +1 -1
  14. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec.rb +22 -0
  15. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec_files/apache_host_spec_no_ssl_content.conf +11 -0
  16. data/sub/avm-eac_redmine_base0/spec/spec_helper.rb +1 -0
  17. data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +1 -1
  18. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base/lib_rename.rb +77 -0
  19. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/namespace_replacer.rb +55 -0
  20. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/update_dependencies_requirements.rb +21 -7
  21. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +1 -1
  22. data/sub/avm-files/Gemfile +8 -0
  23. data/sub/avm-files/avm-files.gemspec +22 -0
  24. data/sub/avm-files/lib/avm/files/appendable/file_content.rb +24 -0
  25. data/sub/avm-files/lib/avm/files/appendable/plain_directory.rb +25 -0
  26. data/sub/avm-files/lib/avm/files/appendable/resource_base.rb +13 -0
  27. data/sub/avm-files/lib/avm/files/appendable/tar_output_command.rb +26 -0
  28. data/sub/avm-files/lib/avm/files/appendable/templatized_directory.rb +29 -0
  29. data/sub/avm-files/lib/avm/files/appendable.rb +55 -0
  30. data/sub/avm-files/lib/avm/files/appender.rb +11 -0
  31. data/sub/avm-files/lib/avm/files/deploy.rb +71 -0
  32. data/sub/avm-files/lib/avm/files/formatter/formats/base.rb +62 -0
  33. data/sub/avm-files/lib/avm/files/formatter/formats/generic_plain.rb +34 -0
  34. data/sub/avm-files/lib/avm/files/formatter/formats/html.rb +45 -0
  35. data/sub/avm-files/lib/avm/files/formatter/formats/javascript.rb +24 -0
  36. data/sub/avm-files/lib/avm/files/formatter/formats/json.rb +27 -0
  37. data/sub/avm-files/lib/avm/files/formatter/formats/php.rb +22 -0
  38. data/sub/avm-files/lib/avm/files/formatter/formats/python.rb +22 -0
  39. data/sub/avm-files/lib/avm/files/formatter/formats/ruby.rb +22 -0
  40. data/sub/avm-files/lib/avm/files/formatter/formats/xml.rb +28 -0
  41. data/sub/avm-files/lib/avm/files/formatter/formats.rb +13 -0
  42. data/sub/avm-files/lib/avm/files/formatter/utf8_assert.rb +74 -0
  43. data/sub/avm-files/lib/avm/files/formatter.rb +90 -0
  44. data/sub/avm-files/lib/avm/files/runner_with/file_replacer.rb +34 -0
  45. data/sub/avm-files/lib/avm/files/runner_with/filesystem_traverser.rb +54 -0
  46. data/sub/avm-files/lib/avm/files/runner_with.rb +11 -0
  47. data/sub/avm-files/lib/avm/files/text_replacer/gsub.rb +24 -0
  48. data/sub/avm-files/lib/avm/files/text_replacer.rb +32 -0
  49. data/sub/avm-files/lib/avm/files/version.rb +7 -0
  50. data/sub/avm-files/lib/avm/files.rb +9 -0
  51. data/sub/avm-files/spec/rubocop_spec.rb +3 -0
  52. data/sub/avm-files/spec/spec_helper.rb +4 -0
  53. data/sub/avm-tools/avm-tools.gemspec +5 -5
  54. data/sub/avm-tools/lib/avm/tools/version.rb +1 -1
  55. data/sub/eac_cli/eac_cli.gemspec +3 -3
  56. data/sub/eac_cli/lib/eac_cli/core_ext.rb +1 -1
  57. data/sub/eac_cli/lib/eac_cli/runner_with_set.rb +7 -3
  58. data/sub/eac_cli/lib/eac_cli/version.rb +1 -1
  59. data/sub/eac_ruby_base0/eac_ruby_base0.gemspec +4 -4
  60. data/sub/eac_ruby_base0/lib/eac_ruby_base0/version.rb +1 -1
  61. metadata +51 -19
  62. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/core_update.rb +0 -118
  63. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/data_unit.rb +0 -51
  64. data/sub/eac_ruby_base0/lib/eac_ruby_base0/patches/object/runner_with.rb +0 -5
  65. data/sub/eac_ruby_base0/lib/eac_ruby_base0/patches/object.rb +0 -5
  66. data/sub/eac_ruby_base0/lib/eac_ruby_base0/runner_with/filesystem_traverser.rb +0 -52
@@ -1,118 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/eac_redmine_base0/core_update'
4
- require 'avm/sources/base/configuration'
5
- require 'avm/sync'
6
- require 'eac_fs/cached_download'
7
- require 'eac_ruby_utils/core_ext'
8
-
9
- module Avm
10
- module EacRedmineBase0
11
- class CoreUpdate
12
- enable_speaker
13
- enable_simple_cache
14
- common_constructor :source, :version, :url
15
-
16
- GITIGNORE_ADD = %w[/public/assets/**/* /config/install.sh /config/secrets_key.txt
17
- /log/**/*].freeze
18
- GITIGNORE_DEL = %w[/Gemfile.lock /plugins/* /public/themes/*].freeze
19
- TARGET_KEEP = ::Avm::Sources::Base::Configuration::CONFIGURATION_FILENAMES
20
- .map { |b| "/#{b}" } + %w[/Gemfile.lock].freeze
21
-
22
- def run
23
- ::EacRubyUtils::Fs::Temp.on_directory do |dir|
24
- @tempdir = dir
25
- assert_source_package
26
- extract_package_to_tempdir
27
- sync_content
28
- change_git_ignore
29
- validate_empty_dir
30
- end
31
- git_commit
32
- success 'Done!'
33
- end
34
-
35
- def assert_source_package
36
- infom 'Asserting source package...'
37
- source_package.assert
38
- infov 'Package cache path', source_package.path
39
- infov 'Package size', source_package.path.size
40
- end
41
-
42
- def fs_object_id
43
- [source.path, version].join('_').variableize
44
- end
45
-
46
- private
47
-
48
- attr_reader :tempdir
49
-
50
- def change_git_ignore
51
- file = target_path.join('.gitignore')
52
- file.write(
53
- (file.read.each_line.map(&:strip).reject { |line| GITIGNORE_DEL.include?(line) } +
54
- ['', '#eac_redmine_base0'] + GITIGNORE_ADD).map { |line| "#{line}\n" }.join
55
- )
56
- end
57
-
58
- def extract_package_to_tempdir
59
- infom "Extracting package to tempdir #{tempdir}..."
60
- ::EacRubyUtils::Envs.local.command(
61
- 'tar', '-xf', source_package.path.to_path, '-C', tempdir.to_path,
62
- '--strip-components', '1'
63
- ).execute!
64
- end
65
-
66
- def git_commit
67
- if git_repo.dirty?
68
- infom 'Git commiting...'
69
- git_repo.command('add', '--', target_path).execute!
70
- git_repo.command('commit', '-m', git_commit_message, '--', target_path).execute!
71
- else
72
- infom 'Nothing to commit'
73
- end
74
- end
75
-
76
- def git_commit_message
77
- i18n_translate(__method__, version: version, __locale: source.locale)
78
- end
79
-
80
- def git_repo_uncached
81
- ::EacGit::Local.new(target_path)
82
- end
83
-
84
- def sync_content
85
- ::Avm::Sync.new(source_path, target_path)
86
- .add_exclude('/*').add_includes(*target_files_to_remove).move_mode(true).run
87
- end
88
-
89
- # @return [EacFs::CachedDownload]
90
- def source_package_uncached
91
- ::EacFs::CachedDownload.new(url, fs_cache)
92
- end
93
-
94
- def validate_empty_dir
95
- if source_path.children.empty?
96
- infom 'No content left in source directory'
97
- else
98
- fatal_error 'Found entries in source directory: ' +
99
- source_path.children.map { |c| c.basename.to_path }.join(', ')
100
- end
101
- end
102
-
103
- def source_path_uncached
104
- ::Pathname.new(tempdir.to_path)
105
- end
106
-
107
- def target_files_to_remove
108
- git_repo.command('ls-files').execute!
109
- .each_line.map { |v| "/#{v.strip}" }
110
- .without(*TARGET_KEEP)
111
- end
112
-
113
- def target_path_uncached
114
- source.path
115
- end
116
- end
117
- end
118
- end
@@ -1,51 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/data/instance/unit'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'curb'
6
- require 'open-uri'
7
-
8
- module Avm
9
- module EacRedmineBase0
10
- class DataUnit < ::Avm::Data::Instance::Unit
11
- common_constructor :instance
12
-
13
- EXPORT_PATH = '/backup/export'
14
- EXTENSION = '.tar'
15
- IMPORT_PATH = '/backup/import.json'
16
-
17
- def do_dump(data_path)
18
- ::File.open(data_path, 'wb') do |file|
19
- file << export_request.response.body_data_or_raise
20
- end
21
- end
22
-
23
- def do_load(data_path)
24
- do_load_by_web(data_path) || do_load_by_rake(data_path) || raise('Failed to load')
25
- end
26
-
27
- def do_load_by_web(data_path)
28
- c = Curl::Easy.new(import_url)
29
- c.multipart_form_post = true
30
- c.http_post(Curl::PostField.file('redmine_with_git_tableless_load[path]', data_path))
31
- c.perform
32
- true
33
- rescue Curl::Err::ConnectionFailedError
34
- false
35
- end
36
-
37
- def do_load_by_rake(data_path)
38
- instance.bundle('exec', 'rake', "redmine_with_git:load:all[#{data_path}]").system
39
- true
40
- end
41
-
42
- def export_request
43
- instance.rest_api.request(EXPORT_PATH)
44
- end
45
-
46
- def import_url
47
- instance.rest_api.build_service_url(IMPORT_PATH).to_s
48
- end
49
- end
50
- end
51
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_cli/core_ext'
4
- require 'eac_ruby_base0/runner_with'
5
- ::EacCli::RunnerWithSet.default.add_namespace(::EacRubyBase0::RunnerWith)
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Dir["#{File.dirname(__FILE__)}/#{::File.basename(__FILE__, '.*')}/*.rb"].sort.each do |path|
4
- require path
5
- end
@@ -1,52 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_cli/runner'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'eac_fs/traversable'
6
- require 'eac_ruby_utils/settings_provider'
7
-
8
- module EacRubyBase0
9
- module RunnerWith
10
- module FilesystemTraverser
11
- DEFAULT_DEFAULT_TRAVERSER_RECURSIVE = false
12
-
13
- common_concern do
14
- include ::EacCli::Runner
15
- include ::EacFs::Traversable
16
- enable_settings_provider
17
- include TopMethods
18
- runner_definition do
19
- bool_opt '-R', '--recursive', 'Recursive.'
20
- bool_opt '--no-recursive', 'No recursive.'
21
- pos_arg :paths, optional: true, repeat: true
22
- end
23
- end
24
-
25
- module TopMethods
26
- def on_none_path_informed
27
- infom 'Warning: none path informed'
28
- end
29
-
30
- def paths
31
- parsed.paths.map(&:to_pathname)
32
- end
33
-
34
- def run_filesystem_traverser
35
- if parsed.paths.any?
36
- parsed.paths.each { |path| traverser_check_path(path) }
37
- else
38
- on_none_path_informed
39
- end
40
- end
41
-
42
- def traverser_recursive
43
- return false if parsed.no_recursive?
44
- return true if parsed.recursive?
45
-
46
- setting_value(:default_traverser_recursive, required: false)
47
- .if_not_nil(DEFAULT_DEFAULT_TRAVERSER_RECURSIVE)
48
- end
49
- end
50
- end
51
- end
52
- end