redmine-installer 2.3.2 → 2.4.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: 562050e0ea7eb2b7d4539fd4e19ee1691de18e861a07ce25e052ef98eee70f1f
4
- data.tar.gz: e5932bf820f693d20ed1987434b63d9d85a7d32b4e7ded16d03d880e0ef46b87
3
+ metadata.gz: 0605dd69a69945ad4065c6164ff8fe5b05c33f6e9b9a3d7b75feeef331691419
4
+ data.tar.gz: c1291030bdfbc4c29cd43f84befbb3a886bbdfe224ae24d8bd995f0190e4a79f
5
5
  SHA512:
6
- metadata.gz: b6064513f5c53b327985ac76fa23fc764fe2fdde289c6cc4cfd8355947d48085d1c6a029ec800b164581c4f022e9e0daf6985da31846c0c28006c114ebdec0ad
7
- data.tar.gz: 28fec9b468aeb51ac9ab52ee237f2e25e63a9c9f70dd1ef5ca77f15a4adf118c773a8d0e3115db905d175b1ff386f8527dc654146229ec046674b40877feb13a
6
+ metadata.gz: 82a79260f974fba17dd2db7d972c5d9acb48614873226beb8a8479e058238eb7325982719c6739ebc221aefc38251dde0e3936ec0ba3fd997c1ae78c84e3de47
7
+ data.tar.gz: 4176792027d34272b2c365c797d112ddeb0b9c6438b3bcbdf3524ccbae6416bfbd03e7e279088173b8c2d425ef6b91c7a219696a029419b506a79f43c27fe1ab
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.4.0] - 2022-09-07
4
+ ### Added
5
+ - allow the administrator to manually empty the root directory [#33](https://github.com/easyredmine/redmine-installer/pull/33)
6
+
3
7
  ## [2.3.0.beta] - 2019-06-10
4
8
 
5
9
  ### Added
@@ -48,7 +48,7 @@ module RedmineInstaller
48
48
  c.action do |args, options|
49
49
  options.default(enable_user_root: false)
50
50
 
51
- RedmineInstaller::Install.new(args[0], args[1], options.__hash__).run
51
+ RedmineInstaller::Install.new(args[0], args[1], **options.__hash__).run
52
52
  end
53
53
  end
54
54
  alias_command :i, :install
@@ -77,7 +77,7 @@ module RedmineInstaller
77
77
  c.action do |args, options|
78
78
  options.default(enable_user_root: false, copy_files_with_symlink: false)
79
79
 
80
- RedmineInstaller::Upgrade.new(args[0], args[1], options.__hash__).run
80
+ RedmineInstaller::Upgrade.new(args[0], args[1], **options.__hash__).run
81
81
  end
82
82
  end
83
83
  alias_command :u, :upgrade
@@ -1,4 +1,5 @@
1
1
  require 'find'
2
+ require 'io/console'
2
3
 
3
4
  module RedmineInstaller
4
5
  class Redmine < TaskModule
@@ -279,7 +280,17 @@ module RedmineInstaller
279
280
  next if entry == '.' || entry == '..'
280
281
  next if entry == FILES_DIR && task.options.copy_files_with_symlink
281
282
 
282
- FileUtils.remove_entry_secure(entry)
283
+ begin
284
+ FileUtils.remove_entry_secure(entry)
285
+ rescue
286
+ if task.options.copy_files_with_symlink
287
+ print_title('Cannot automatically empty ' + root + '. Please manually empty this directory (except for ' + root + '/' + FILES_DIR + ') and then hit any key to continue...')
288
+ else
289
+ print_title('Cannot automatically empty ' + root + '. Please manually empty this directory and then hit any key to continue...')
290
+ end
291
+ STDIN.getch
292
+ break
293
+ end
283
294
  end
284
295
  end
285
296
 
@@ -1,3 +1,5 @@
1
1
  module RedmineInstaller
2
- VERSION = '2.3.2'
2
+
3
+ VERSION = '2.4.0'
4
+
3
5
  end
@@ -32,7 +32,7 @@ module RedmineInstaller
32
32
  autoload :Easycheck, 'redmine-installer/easycheck'
33
33
 
34
34
  # Settings
35
- MIN_SUPPORTED_RUBY = '2.3.0'
35
+ MIN_SUPPORTED_RUBY = '3.1.2'
36
36
 
37
37
  def self.logger
38
38
  @logger ||= RedmineInstaller::Logger.new
@@ -16,22 +16,24 @@ Gem::Specification.new do |spec|
16
16
  spec.license = 'MIT'
17
17
 
18
18
  files = `git ls-files -z`.split("\x0")
19
- files.delete_if {|f| f.start_with?('spec/packages/') }
19
+ files.delete_if { |f| f.start_with?('spec/packages/') }
20
20
 
21
21
  spec.files = files
22
22
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
23
23
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
24
24
  spec.require_paths = ['lib']
25
25
 
26
- spec.required_ruby_version = '>= 2.3.0'
26
+ spec.required_ruby_version = '3.1.2'
27
27
 
28
+ spec.add_runtime_dependency 'bundler', '>= 1.16'
28
29
  spec.add_runtime_dependency 'commander'
30
+ spec.add_runtime_dependency 'pastel', '~> 0.8.0'
29
31
  spec.add_runtime_dependency 'rubyzip'
30
- spec.add_runtime_dependency 'bundler', '>= 1.16'
31
- spec.add_runtime_dependency 'pastel', '~> 0.7.2'
32
- spec.add_runtime_dependency 'tty-prompt', '~> 0.16.1'
32
+ spec.add_runtime_dependency 'tty-progressbar', '~> 0.18.2'
33
+ spec.add_runtime_dependency 'tty-prompt', '~> 0.23.1'
33
34
  spec.add_runtime_dependency 'tty-spinner', '~> 0.8.0'
34
- spec.add_runtime_dependency 'tty-progressbar', '~> 0.15.0'
35
35
 
36
+ spec.add_development_dependency 'childprocess', '~> 4.1.0'
36
37
  spec.add_development_dependency 'rake'
38
+ spec.add_development_dependency 'rspec', '~> 3.11.0'
37
39
  end
@@ -39,7 +39,7 @@ class InstallerProcess
39
39
  end
40
40
 
41
41
  def run
42
- Bundler.with_clean_env {
42
+ Bundler.with_unbundled_env {
43
43
  start
44
44
  yield
45
45
  }
@@ -67,28 +67,28 @@ class InstallerProcess
67
67
  # @process.io.stdin.write_nonblock(text + "\n")
68
68
  end
69
69
 
70
- def get(*args)
71
- @last_get_return = _get(*args)
70
+ def get(text, **args)
71
+ @last_get_return = _get(text, **args)
72
72
  end
73
73
 
74
74
  private
75
75
 
76
- # max_wait in s
77
- def _get(text, max_wait: 10)
78
- wait_to = Time.now + max_wait
79
- while Time.now < wait_to
80
- @buffer << @stdout.read
81
- index = @buffer.rindex(text)
82
-
83
- if index
84
- break
85
- # return @buffer.slice!(0, index+text.size)
86
- else
87
- sleep 0.5
88
- end
76
+ # max_wait in s
77
+ def _get(text, max_wait: 10)
78
+ wait_to = Time.now + max_wait
79
+ while Time.now < wait_to
80
+ @buffer << @stdout.read
81
+ index = @buffer.rindex(text)
82
+
83
+ if index
84
+ break
85
+ # return @buffer.slice!(0, index+text.size)
86
+ else
87
+ sleep 0.5
89
88
  end
90
-
91
- @buffer
92
89
  end
93
90
 
91
+ @buffer
92
+ end
93
+
94
94
  end
@@ -57,7 +57,7 @@ RSpec.describe 'RedmineInstaller backup / restore', order: :defined do
57
57
  FileUtils.cp(dump, DATABASE_DUMP)
58
58
  end
59
59
 
60
- it 'restore', command: 'install', args: [package_v345, '--database-dump', DATABASE_DUMP] do
60
+ it 'restore', command: 'install', args: [package_v503, '--database-dump', DATABASE_DUMP] do
61
61
  expected_output('Path to redmine root:')
62
62
  write(@redmine_root)
63
63
 
@@ -55,28 +55,28 @@ RSpec.describe RedmineInstaller::Install, command: 'install' do
55
55
  write(@redmine_root)
56
56
 
57
57
  expected_output('Path to package:')
58
- write(package_v345)
58
+ write(package_v503)
59
59
 
60
60
  expected_output('Extracting redmine package')
61
61
 
62
62
  expected_successful_configuration(email: true)
63
63
  expected_successful_installation
64
64
 
65
- expected_redmine_version('3.4.5')
65
+ expected_redmine_version('5.0.3')
66
66
  expected_email_configuration
67
67
  end
68
68
 
69
- it 'download redmine', args: ['v3.4.5'] do
69
+ it 'download redmine', args: ['v5.0.3'] do
70
70
  expected_output('Path to redmine root:')
71
71
  write(@redmine_root)
72
72
 
73
- expected_output_in('Downloading http://www.redmine.org/releases/redmine-3.4.5.zip', 30)
73
+ expected_output_in('Downloading https://www.redmine.org/releases/redmine-5.0.3.zip', 30)
74
74
  expected_output('Extracting redmine package')
75
75
 
76
76
  expected_successful_configuration
77
77
  expected_successful_installation
78
78
 
79
- expected_redmine_version('3.4.5')
79
+ expected_redmine_version('5.0.3')
80
80
  end
81
81
 
82
82
  it 'installing something else', args: [package_someting_else] do
@@ -85,7 +85,7 @@ RSpec.describe RedmineInstaller::Install, command: 'install' do
85
85
  expected_output('is not valid')
86
86
  end
87
87
 
88
- it 'bad database settings', args: [package_v345] do
88
+ it 'bad database settings', args: [package_v503] do
89
89
  write(@redmine_root)
90
90
 
91
91
  expected_output('Creating database configuration')
@@ -129,7 +129,7 @@ RSpec.describe RedmineInstaller::Install, command: 'install' do
129
129
  expected_output('--> Database migrating')
130
130
  expected_output_in('Redmine was installed', 60)
131
131
 
132
- expected_redmine_version('3.4.5')
132
+ expected_redmine_version('5.0.3')
133
133
  end
134
134
 
135
135
  it 'high installer version', args: [package_high_installer_version] do
@@ -26,7 +26,7 @@ RSpec.describe RedmineInstaller::Upgrade, :install_first, command: 'upgrade' do
26
26
  write(@redmine_root)
27
27
 
28
28
  expected_output('Path to package:')
29
- write(package_v345)
29
+ write(package_v503)
30
30
 
31
31
  expected_output('Extracting redmine package')
32
32
  expected_output('Data backup')
@@ -44,7 +44,7 @@ RSpec.describe RedmineInstaller::Upgrade, :install_first, command: 'upgrade' do
44
44
 
45
45
  expected_successful_upgrade
46
46
 
47
- expected_redmine_version('3.4.5')
47
+ expected_redmine_version('5.0.3')
48
48
 
49
49
  expect(File.exist?(test_test_file)).to be_falsey
50
50
 
@@ -66,7 +66,7 @@ RSpec.describe RedmineInstaller::Upgrade, :install_first, command: 'upgrade' do
66
66
  write(@redmine_root)
67
67
 
68
68
  wait_for_stdin_buffer
69
- write(package_v345)
69
+ write(package_v503)
70
70
 
71
71
  wait_for_stdin_buffer
72
72
 
@@ -80,7 +80,7 @@ RSpec.describe RedmineInstaller::Upgrade, :install_first, command: 'upgrade' do
80
80
 
81
81
  expected_successful_upgrade
82
82
 
83
- expected_redmine_version('3.4.5')
83
+ expected_redmine_version('5.0.3')
84
84
 
85
85
  expect(File.exist?(test_test_file)).to be_truthy
86
86
  end
@@ -94,7 +94,7 @@ RSpec.describe RedmineInstaller::Upgrade, :install_first, command: 'upgrade' do
94
94
  write(@redmine_root)
95
95
 
96
96
  wait_for_stdin_buffer
97
- write(package_v345)
97
+ write(package_v503)
98
98
 
99
99
  wait_for_stdin_buffer
100
100
 
@@ -108,13 +108,14 @@ RSpec.describe RedmineInstaller::Upgrade, :install_first, command: 'upgrade' do
108
108
 
109
109
  expected_successful_upgrade
110
110
 
111
- expected_redmine_version('3.4.5')
111
+ expected_redmine_version('5.0.3')
112
112
 
113
113
  # Not bullet-prof but at least check if files are still there
114
114
  expect(Dir.glob(File.join(files_dir, '*.txt')).sort).to eq(files.sort)
115
115
  end
116
116
 
117
117
  it 'upgrade rys and modify bundle/index' do
118
+ skip 'old version not supporting Ruby >3'
118
119
  wait_for_stdin_buffer
119
120
  write(@redmine_root)
120
121
 
@@ -171,7 +172,7 @@ RSpec.describe RedmineInstaller::Upgrade, :install_first, command: 'upgrade' do
171
172
  write(@redmine_root)
172
173
 
173
174
  wait_for_stdin_buffer
174
- write(package_v345)
175
+ write(package_v503)
175
176
 
176
177
  go_down
177
178
  go_down
@@ -183,7 +184,7 @@ RSpec.describe RedmineInstaller::Upgrade, :install_first, command: 'upgrade' do
183
184
 
184
185
  write(answer)
185
186
  expected_successful_upgrade
186
- expected_redmine_version('3.4.5')
187
+ expected_redmine_version('5.0.3')
187
188
 
188
189
  expect(Dir.exist?(plugin_dir)).to be(result)
189
190
  end
@@ -12,6 +12,10 @@ module PackagesHelper
12
12
  File.join(packages_dir, 'redmine-3.4.5-rys.zip')
13
13
  end
14
14
 
15
+ def package_v503
16
+ File.join(packages_dir, 'redmine-5.0.3.zip')
17
+ end
18
+
15
19
  def package_someting_else
16
20
  File.join(packages_dir, 'something-else.zip')
17
21
  end
data/spec/spec_helper.rb CHANGED
@@ -30,12 +30,12 @@ RSpec.configure do |config|
30
30
 
31
31
  config.before(:all, :install_first) do
32
32
  @redmine_root = @origin_redmine = Dir.mktmpdir('redmine_root')
33
- @process = InstallerProcess.new('install', package_v345, @origin_redmine)
33
+ @process = InstallerProcess.new('install', package_v503, @origin_redmine)
34
34
  @process.run do
35
35
  expected_successful_configuration
36
36
  expected_successful_installation
37
37
 
38
- expected_redmine_version('3.4.5')
38
+ expected_redmine_version('5.0.3')
39
39
  end
40
40
  @backup_dir = Dir.mktmpdir('backup_dir')
41
41
  end
metadata CHANGED
@@ -1,31 +1,31 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redmine-installer
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.2
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ondřej Moravčík
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-24 00:00:00.000000000 Z
11
+ date: 2022-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: commander
14
+ name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '1.16'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '1.16'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rubyzip
28
+ name: commander
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -39,47 +39,61 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: bundler
42
+ name: pastel
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.8.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.8.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubyzip
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
59
  - - ">="
46
60
  - !ruby/object:Gem::Version
47
- version: '1.16'
61
+ version: '0'
48
62
  type: :runtime
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
66
  - - ">="
53
67
  - !ruby/object:Gem::Version
54
- version: '1.16'
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
- name: pastel
70
+ name: tty-progressbar
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - "~>"
60
74
  - !ruby/object:Gem::Version
61
- version: 0.7.2
75
+ version: 0.18.2
62
76
  type: :runtime
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - "~>"
67
81
  - !ruby/object:Gem::Version
68
- version: 0.7.2
82
+ version: 0.18.2
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: tty-prompt
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
87
  - - "~>"
74
88
  - !ruby/object:Gem::Version
75
- version: 0.16.1
89
+ version: 0.23.1
76
90
  type: :runtime
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
94
  - - "~>"
81
95
  - !ruby/object:Gem::Version
82
- version: 0.16.1
96
+ version: 0.23.1
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: tty-spinner
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -95,19 +109,19 @@ dependencies:
95
109
  - !ruby/object:Gem::Version
96
110
  version: 0.8.0
97
111
  - !ruby/object:Gem::Dependency
98
- name: tty-progressbar
112
+ name: childprocess
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
115
  - - "~>"
102
116
  - !ruby/object:Gem::Version
103
- version: 0.15.0
104
- type: :runtime
117
+ version: 4.1.0
118
+ type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
122
  - - "~>"
109
123
  - !ruby/object:Gem::Version
110
- version: 0.15.0
124
+ version: 4.1.0
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: rake
113
127
  requirement: !ruby/object:Gem::Requirement
@@ -122,6 +136,20 @@ dependencies:
122
136
  - - ">="
123
137
  - !ruby/object:Gem::Version
124
138
  version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rspec
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 3.11.0
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 3.11.0
125
153
  description: ''
126
154
  email:
127
155
  - moravcik.ondrej@gmail.com
@@ -176,23 +204,23 @@ homepage: https://github.com/easyredmine/redmine-installer
176
204
  licenses:
177
205
  - MIT
178
206
  metadata: {}
179
- post_install_message:
207
+ post_install_message:
180
208
  rdoc_options: []
181
209
  require_paths:
182
210
  - lib
183
211
  required_ruby_version: !ruby/object:Gem::Requirement
184
212
  requirements:
185
- - - ">="
213
+ - - '='
186
214
  - !ruby/object:Gem::Version
187
- version: 2.3.0
215
+ version: 3.1.2
188
216
  required_rubygems_version: !ruby/object:Gem::Requirement
189
217
  requirements:
190
218
  - - ">="
191
219
  - !ruby/object:Gem::Version
192
220
  version: '0'
193
221
  requirements: []
194
- rubygems_version: 3.0.3
195
- signing_key:
222
+ rubygems_version: 3.3.22
223
+ signing_key:
196
224
  specification_version: 4
197
225
  summary: Easy way how install/upgrade Redmine, EasyRedmine or EasyProject.
198
226
  test_files: