redmine-installer 2.4.0 → 3.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.dockerignore +8 -0
- data/.gitignore +2 -2
- data/CHANGELOG.md +16 -0
- data/Dockerfile +13 -0
- data/README.md +27 -19
- data/gems.locked +76 -0
- data/gems.rb +1 -0
- data/lib/redmine-installer/cli.rb +28 -8
- data/lib/redmine-installer/command.rb +1 -1
- data/lib/redmine-installer/database.rb +2 -2
- data/lib/redmine-installer/easycheck.rb +1 -1
- data/lib/redmine-installer/environment.rb +16 -2
- data/lib/redmine-installer/package.rb +4 -4
- data/lib/redmine-installer/package_config.rb +1 -1
- data/lib/redmine-installer/profile.rb +2 -2
- data/lib/redmine-installer/redmine.rb +1 -1
- data/lib/redmine-installer/version.rb +1 -1
- data/redmine-installer.gemspec +14 -18
- metadata +10 -25
- data/.travis.yml +0 -7
- data/spec/custom_matchers.rb +0 -21
- data/spec/installer_helper.rb +0 -204
- data/spec/installer_process.rb +0 -94
- data/spec/lib/backup_restore_spec.rb +0 -81
- data/spec/lib/install_spec.rb +0 -164
- data/spec/lib/upgrade_spec.rb +0 -202
- data/spec/packages_helper.rb +0 -31
- data/spec/shared_contexts.rb +0 -13
- data/spec/spec_helper.rb +0 -51
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bc71fe65f3f2f74b9935b8bcc436e20a3a56303f2abc55c39bdcf40683159e42
|
4
|
+
data.tar.gz: 65d89e554e10881b977ee14d5277e6070e9ac4a9d3ad87c923d47e60a20ad4e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 85e3bd8554c662fc4d6c429e308237f5c5bfef54b0c7ab16ad9f97784545670ef82c7cf8857c110bf40988b6710caecc24ec152b55b812ebba1e94e1e2ee0363
|
7
|
+
data.tar.gz: 7c1459b46fc7f3b832457fd68f9a2fb1f37a1cf606a491cd08a83009896b07adc0fb35c87cced1688832f6aa5b54b5ef4b5dfe80b551bde4250f2c69415d17e4
|
data/.dockerignore
ADDED
data/.gitignore
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
/.gemtags
|
2
2
|
/.tags
|
3
|
+
/.idea
|
3
4
|
*.gem
|
4
5
|
*.rbc
|
5
6
|
.bundle
|
6
7
|
.config
|
7
8
|
.yardoc
|
8
|
-
Gemfile.lock
|
9
9
|
InstalledFiles
|
10
10
|
_yardoc
|
11
11
|
coverage
|
@@ -27,4 +27,4 @@ test/*
|
|
27
27
|
/redmine-installer-err
|
28
28
|
/redmine-installer-out
|
29
29
|
/redmine
|
30
|
-
/
|
30
|
+
/vendor/*
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,21 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
|
4
|
+
## [3.0.1] - 2022-12-14
|
5
|
+
### Fixed
|
6
|
+
- do not show warning if Percona
|
7
|
+
## [3.0.0] - 2022-12-13
|
8
|
+
### Added
|
9
|
+
- docker-compose for testing [#37](https://github.com/easyredmine/redmine-installer/pull/37)
|
10
|
+
- .github workflow for CI
|
11
|
+
- `env_check` for test server environment
|
12
|
+
### Fixed
|
13
|
+
- ruby 3.x support [#35](https://github.com/easyredmine/redmine-installer/pull/35)
|
14
|
+
- Psych aliases while parsing `database.yml`
|
15
|
+
### Changed
|
16
|
+
- required ruby version = 3.1.2 [#36](https://github.com/easyredmine/redmine-installer/pull/36)
|
17
|
+
- required redmine version = 5.0.4+ [#36](https://github.com/easyredmine/redmine-installer/pull/36)
|
18
|
+
|
3
19
|
## [2.4.0] - 2022-09-07
|
4
20
|
### Added
|
5
21
|
- allow the administrator to manually empty the root directory [#33](https://github.com/easyredmine/redmine-installer/pull/33)
|
data/Dockerfile
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
FROM ruby:3.1.2-bullseye
|
2
|
+
LABEL org.opencontainers.image.authors="support@easysoftware.com"
|
3
|
+
RUN apt-get update && apt-get -y install lsb-release wget curl vim
|
4
|
+
RUN wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb -O percona-release_latest_all.deb &&\
|
5
|
+
dpkg -i percona-release_latest_all.deb &&\
|
6
|
+
percona-release setup ps80 &&\
|
7
|
+
apt-get update && apt-get install -y libperconaserverclient21-dev percona-server-client
|
8
|
+
WORKDIR /gem
|
9
|
+
VOLUME ["/gem/vendor/"]
|
10
|
+
COPY . ./
|
11
|
+
RUN bundle config set deployment 'true'
|
12
|
+
RUN bundle install
|
13
|
+
CMD ["bundle", "exec", "rspec"]
|
data/README.md
CHANGED
@@ -1,48 +1,46 @@
|
|
1
1
|
# Redmine installer
|
2
2
|
|
3
|
-
Easy way hot to install/upgrade Redmine,
|
3
|
+
Easy way hot to install/upgrade Redmine, Easy Redmine or Easy Project.
|
4
4
|
|
5
5
|
Please do not run installer on background. It may happen that process will be paused by some event. For example database may require enter password during backuping database.
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
Add this line to your application's Gemfile:
|
10
|
-
|
11
|
-
```
|
12
|
-
gem 'redmine-installer'
|
13
|
-
```
|
7
|
+
> ⚠️ Current version support only **ruby 3.1.2**, **Percona 8** as DB server and **redmine 5.0.3+**
|
14
8
|
|
15
|
-
|
9
|
+
Version **v3.x** is designed primarily for work with Easy Redmine / Easy Project **v12.x**.
|
16
10
|
|
17
|
-
|
18
|
-
$ bundle
|
19
|
-
```
|
20
|
-
|
21
|
-
Or install it yourself as:
|
11
|
+
## Installation
|
22
12
|
|
23
|
-
|
24
|
-
|
13
|
+
Install tool into your server environment by:
|
14
|
+
```bash
|
15
|
+
gem install redmine-installer
|
25
16
|
```
|
26
17
|
|
18
|
+
> ⚠️ Version `v3.0.0` and higher require ruby 3.1.2 and its designed for Easy Redmine / Easy Project v12 and Redmine 5.0.3+ respectively.
|
27
19
|
## Examples
|
28
20
|
|
29
21
|
To display global documentation for installer.
|
30
22
|
|
31
|
-
```
|
23
|
+
```bash
|
32
24
|
redmine help
|
33
25
|
```
|
34
26
|
|
35
27
|
You can also check more detailed documentation for each command.
|
36
28
|
|
37
|
-
```
|
29
|
+
```bash
|
38
30
|
redmine help [COMMAND]
|
39
31
|
```
|
40
32
|
|
33
|
+
### Environment checker
|
34
|
+
Check your server environment if it meets our requirements for best Easy Redmine experience.
|
35
|
+
```bash
|
36
|
+
redmine env_check
|
37
|
+
```
|
38
|
+
|
41
39
|
### Installing
|
42
40
|
|
43
41
|
Create new project on empty directory. All argument are optional. Directory should be empty because installer delete all content for ensuring correct installation. If directory does not exist, current user must have privileges to create it.
|
44
42
|
|
45
|
-
```
|
43
|
+
```bash
|
46
44
|
redmine help install
|
47
45
|
redmine install [PACKAGE PATH or URL] [REDMINE_ROOT] [options]
|
48
46
|
```
|
@@ -129,3 +127,13 @@ Examples:
|
|
129
127
|
|
130
128
|
Restore database db.dump for redmine in /srv/redmine
|
131
129
|
- `redmine restore-db db.dump /srv/redmine`
|
130
|
+
|
131
|
+
## Testing
|
132
|
+
|
133
|
+
Just run:
|
134
|
+
```bash
|
135
|
+
docker compose up --build --exit-code-from redmine_installer
|
136
|
+
```
|
137
|
+
This will build docker image from current code and run tests against _percona8_.
|
138
|
+
|
139
|
+
note: Require Docker of course.
|
data/gems.locked
ADDED
@@ -0,0 +1,76 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
redmine-installer (3.0.1)
|
5
|
+
bundler (>= 2.3.7)
|
6
|
+
commander
|
7
|
+
pastel (~> 0.8.0)
|
8
|
+
rubyzip
|
9
|
+
tty-progressbar (~> 0.18.2)
|
10
|
+
tty-prompt (~> 0.23.1)
|
11
|
+
tty-spinner (~> 0.8.0)
|
12
|
+
|
13
|
+
GEM
|
14
|
+
remote: https://rubygems.org/
|
15
|
+
specs:
|
16
|
+
childprocess (4.1.0)
|
17
|
+
coderay (1.1.3)
|
18
|
+
commander (4.6.0)
|
19
|
+
highline (~> 2.0.0)
|
20
|
+
diff-lcs (1.5.0)
|
21
|
+
highline (2.0.3)
|
22
|
+
method_source (1.0.0)
|
23
|
+
pastel (0.8.0)
|
24
|
+
tty-color (~> 0.5)
|
25
|
+
pry (0.14.1)
|
26
|
+
coderay (~> 1.1)
|
27
|
+
method_source (~> 1.0)
|
28
|
+
rake (13.0.6)
|
29
|
+
rspec (3.11.0)
|
30
|
+
rspec-core (~> 3.11.0)
|
31
|
+
rspec-expectations (~> 3.11.0)
|
32
|
+
rspec-mocks (~> 3.11.0)
|
33
|
+
rspec-core (3.11.0)
|
34
|
+
rspec-support (~> 3.11.0)
|
35
|
+
rspec-expectations (3.11.1)
|
36
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
37
|
+
rspec-support (~> 3.11.0)
|
38
|
+
rspec-mocks (3.11.2)
|
39
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
40
|
+
rspec-support (~> 3.11.0)
|
41
|
+
rspec-support (3.11.1)
|
42
|
+
rubyzip (2.3.2)
|
43
|
+
strings-ansi (0.2.0)
|
44
|
+
tty-color (0.6.0)
|
45
|
+
tty-cursor (0.7.1)
|
46
|
+
tty-progressbar (0.18.2)
|
47
|
+
strings-ansi (~> 0.2)
|
48
|
+
tty-cursor (~> 0.7)
|
49
|
+
tty-screen (~> 0.8)
|
50
|
+
unicode-display_width (>= 1.6, < 3.0)
|
51
|
+
tty-prompt (0.23.1)
|
52
|
+
pastel (~> 0.8)
|
53
|
+
tty-reader (~> 0.8)
|
54
|
+
tty-reader (0.9.0)
|
55
|
+
tty-cursor (~> 0.7)
|
56
|
+
tty-screen (~> 0.8)
|
57
|
+
wisper (~> 2.0)
|
58
|
+
tty-screen (0.8.1)
|
59
|
+
tty-spinner (0.8.0)
|
60
|
+
tty-cursor (>= 0.5.0)
|
61
|
+
unicode-display_width (2.3.0)
|
62
|
+
wisper (2.0.1)
|
63
|
+
|
64
|
+
PLATFORMS
|
65
|
+
x86_64-darwin-21
|
66
|
+
x86_64-linux
|
67
|
+
|
68
|
+
DEPENDENCIES
|
69
|
+
childprocess (~> 4.1.0)
|
70
|
+
pry
|
71
|
+
rake
|
72
|
+
redmine-installer!
|
73
|
+
rspec (~> 3.11.0)
|
74
|
+
|
75
|
+
BUNDLED WITH
|
76
|
+
2.3.22
|
data/gems.rb
CHANGED
@@ -17,7 +17,7 @@ module RedmineInstaller
|
|
17
17
|
program :version, RedmineInstaller::VERSION
|
18
18
|
program :description, 'Easy way how install/upgrade redmine or plugin.'
|
19
19
|
|
20
|
-
global_option('-d', '--debug', 'Logging message to stdout'){ $DEBUG = true }
|
20
|
+
global_option('-d', '--debug', 'Logging message to stdout') { $DEBUG = true }
|
21
21
|
global_option('-s', '--silent', 'Be less version in output') { $SILENT_MODE = true }
|
22
22
|
global_option('-e', '--env', 'For backward compatibility. Production is now always use.')
|
23
23
|
global_option('--run-easycheck', 'Run easycheck.sh from https://github.com/easyredmine/easy_server_requirements_check') do
|
@@ -26,6 +26,27 @@ module RedmineInstaller
|
|
26
26
|
|
27
27
|
default_command :help
|
28
28
|
|
29
|
+
# --- Environment checker -----------------------------------------------
|
30
|
+
# This command is very specify to Easy Redmine
|
31
|
+
command :env_check do |c|
|
32
|
+
c.syntax = 'env_check'
|
33
|
+
c.description = <<~DESC
|
34
|
+
Check current environment if it meet requirements for Easy Redmine / Easy Project.
|
35
|
+
|
36
|
+
See: https://www.easyredmine.com/documentation-of-easy-redmine/article/hardware-and-software-requirements-for-the-server-solution
|
37
|
+
DESC
|
38
|
+
c.action do |_args|
|
39
|
+
task = RedmineInstaller::Task.new
|
40
|
+
RedmineInstaller::Environment.new(task).check
|
41
|
+
puts task.pastel.green "OK"
|
42
|
+
rescue StandardError => e
|
43
|
+
puts task.pastel.red e.message
|
44
|
+
|
45
|
+
puts "\n\nCheck: https://www.easyredmine.com/documentation-of-easy-redmine/article/hardware-and-software-requirements-for-the-server-solution#Software%20requirements for more info."
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
alias_command :check, :env_check
|
29
50
|
|
30
51
|
# --- Install -----------------------------------------------------------
|
31
52
|
command :install do |c|
|
@@ -53,7 +74,6 @@ module RedmineInstaller
|
|
53
74
|
end
|
54
75
|
alias_command :i, :install
|
55
76
|
|
56
|
-
|
57
77
|
# --- Upgrade -----------------------------------------------------------
|
58
78
|
command :upgrade do |c|
|
59
79
|
c.syntax = 'upgrade [PACKAGE] [REDMINE_ROOT] [options]'
|
@@ -82,7 +102,6 @@ module RedmineInstaller
|
|
82
102
|
end
|
83
103
|
alias_command :u, :upgrade
|
84
104
|
|
85
|
-
|
86
105
|
# --- Verify log --------------------------------------------------------
|
87
106
|
command :'verify-log' do |c|
|
88
107
|
c.syntax = 'verify-log LOGFILE'
|
@@ -96,7 +115,6 @@ module RedmineInstaller
|
|
96
115
|
end
|
97
116
|
end
|
98
117
|
|
99
|
-
|
100
118
|
# --- Backup ------------------------------------------------------------
|
101
119
|
command :backup do |c|
|
102
120
|
c.syntax = 'backup [REDMINE_ROOT]'
|
@@ -105,13 +123,16 @@ module RedmineInstaller
|
|
105
123
|
c.example 'Backup',
|
106
124
|
'redmine backup /srv/redmine'
|
107
125
|
|
108
|
-
c.
|
126
|
+
c.option '--enable-user-root', 'Skip root as root validation' # just for consistency
|
127
|
+
|
128
|
+
c.action do |args, options|
|
129
|
+
options.default(enable_user_root: false)
|
130
|
+
|
109
131
|
RedmineInstaller::Backup.new(args[0]).run
|
110
132
|
end
|
111
133
|
end
|
112
134
|
alias_command :b, :backup
|
113
135
|
|
114
|
-
|
115
136
|
# --- Restore db --------------------------------------------------------
|
116
137
|
command :'restore-db' do |c|
|
117
138
|
c.syntax = 'restore-db DATABASE_DUMP [REDMINE_ROOT] [options]'
|
@@ -129,7 +150,6 @@ module RedmineInstaller
|
|
129
150
|
end
|
130
151
|
end
|
131
152
|
|
132
|
-
|
133
153
|
run!
|
134
154
|
end
|
135
155
|
|
@@ -137,7 +157,7 @@ module RedmineInstaller
|
|
137
157
|
def parse_keep_options(values)
|
138
158
|
proxy_options = Commander::Runner.instance.active_command.proxy_options
|
139
159
|
|
140
|
-
saved = proxy_options.find{|switch, _| switch == :keep }
|
160
|
+
saved = proxy_options.find { |switch, _| switch == :keep }
|
141
161
|
if saved
|
142
162
|
saved[1].concat(values)
|
143
163
|
else
|
@@ -21,7 +21,7 @@ module RedmineInstaller
|
|
21
21
|
error "Database configuration files does not exist on #{redmine.root}."
|
22
22
|
end
|
23
23
|
|
24
|
-
definitions = YAML.load_file(redmine.database_yml_path)
|
24
|
+
definitions = YAML.load_file(redmine.database_yml_path, aliases: true)
|
25
25
|
definition = definitions['production']
|
26
26
|
|
27
27
|
unless definition.is_a?(Hash)
|
@@ -60,7 +60,7 @@ module RedmineInstaller
|
|
60
60
|
@host = prompt.ask('Host:', default: 'localhost', required: true)
|
61
61
|
@username = prompt.ask('Username:', default: '')
|
62
62
|
@password = prompt.mask('Password:', default: '')
|
63
|
-
@encoding = prompt.ask('Encoding:', default: '
|
63
|
+
@encoding = prompt.ask('Encoding:', default: 'utf8mb4', required: true)
|
64
64
|
@port = prompt.ask('Port:', default: default_port, convert: lambda(&:to_i), required: true)
|
65
65
|
end
|
66
66
|
|
@@ -7,7 +7,7 @@ module RedmineInstaller
|
|
7
7
|
EASYCHECK_SH = 'https://raw.githubusercontent.com/easyredmine/easy_server_requirements_check/master/easycheck.sh'
|
8
8
|
|
9
9
|
def self.run
|
10
|
-
Bundler.
|
10
|
+
Bundler.with_unbundled_env do
|
11
11
|
if Kernel.system('which', 'wget')
|
12
12
|
Open3.pipeline(['wget', EASYCHECK_SH, '-O', '-', '--quiet'], 'bash')
|
13
13
|
|
@@ -7,15 +7,29 @@ module RedmineInstaller
|
|
7
7
|
end
|
8
8
|
|
9
9
|
if Gem::Version.new(RUBY_VERSION) < Gem::Version.new(RedmineInstaller::MIN_SUPPORTED_RUBY)
|
10
|
-
error "You are using unsupported ruby. Please install
|
10
|
+
error "You are using unsupported ruby. Please install ruby v#{RedmineInstaller::MIN_SUPPORTED_RUBY}."
|
11
11
|
end
|
12
12
|
|
13
|
-
|
13
|
+
if mysql_version =~ /^mysql\s+Ver\s(8\.\d)/
|
14
|
+
unless mysql_version.include? "Percona"
|
15
|
+
puts pastel.on_red 'WARNING: It seems you are using MySQL 8.x, but ER / EP supported only Percona 8 db.'
|
16
|
+
end
|
17
|
+
else
|
18
|
+
error 'Only Percona 8.x db server is supported!.'
|
19
|
+
end
|
20
|
+
|
21
|
+
logger.info 'Environment checked'
|
14
22
|
end
|
15
23
|
|
16
24
|
def user_is_root?
|
17
25
|
Process.euid == 0
|
18
26
|
end
|
19
27
|
|
28
|
+
def mysql_version
|
29
|
+
`mysql --version`
|
30
|
+
rescue StandardError
|
31
|
+
""
|
32
|
+
end
|
33
|
+
|
20
34
|
end
|
21
35
|
end
|
@@ -86,23 +86,23 @@ module RedmineInstaller
|
|
86
86
|
|
87
87
|
def valid_url?(string)
|
88
88
|
uri = URI.parse(string)
|
89
|
-
[
|
89
|
+
%w[http https].include?(uri.scheme)
|
90
90
|
rescue URI::BadURIError, URI::InvalidURIError
|
91
91
|
false
|
92
92
|
end
|
93
93
|
|
94
94
|
def download_redmine_version(version)
|
95
|
-
url = "
|
95
|
+
url = "https://www.redmine.org/releases/redmine-#{version}.zip"
|
96
96
|
download_from_url(url)
|
97
97
|
end
|
98
98
|
|
99
99
|
def download_from_url(url)
|
100
100
|
uri = URI.parse(url)
|
101
101
|
|
102
|
-
@temp_file = Tempfile.new([
|
102
|
+
@temp_file = Tempfile.new(%w[redmine .zip])
|
103
103
|
@temp_file.binmode
|
104
104
|
|
105
|
-
Net::HTTP.start(uri.host, uri.port) do |http|
|
105
|
+
Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
|
106
106
|
head = http.request_head(uri)
|
107
107
|
|
108
108
|
unless head.is_a?(Net::HTTPSuccess)
|
@@ -6,7 +6,7 @@ module RedmineInstaller
|
|
6
6
|
PROFILES_FILE = File.join(Dir.home, '.redmine-installer-profiles.yml')
|
7
7
|
|
8
8
|
def self.get!(profile_id)
|
9
|
-
data = YAML.load_file(PROFILES_FILE) rescue nil
|
9
|
+
data = YAML.load_file(PROFILES_FILE, aliases: true) rescue nil
|
10
10
|
|
11
11
|
if data.is_a?(Hash) && data.has_key?(profile_id)
|
12
12
|
Profile.new(profile_id, data[profile_id])
|
@@ -25,7 +25,7 @@ module RedmineInstaller
|
|
25
25
|
def save
|
26
26
|
FileUtils.touch(PROFILES_FILE)
|
27
27
|
|
28
|
-
all_data = YAML.load_file(PROFILES_FILE)
|
28
|
+
all_data = YAML.load_file(PROFILES_FILE, aliases: true)
|
29
29
|
all_data = {} unless all_data.is_a?(Hash)
|
30
30
|
|
31
31
|
@id ||= all_data.keys.last.to_i + 1
|
@@ -305,7 +305,7 @@ module RedmineInstaller
|
|
305
305
|
bundle_index = File.join(Dir.pwd, '.bundle/plugin/index')
|
306
306
|
|
307
307
|
if File.exist?(bundle_index)
|
308
|
-
index = YAML.load_file(bundle_index)
|
308
|
+
index = YAML.load_file(bundle_index, aliases: true)
|
309
309
|
|
310
310
|
# { load_paths: { PLUGIN_NAME: *PATHS } }
|
311
311
|
#
|
data/redmine-installer.gemspec
CHANGED
@@ -1,31 +1,27 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
|
3
1
|
lib = File.expand_path('lib', __dir__)
|
4
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
3
|
|
6
4
|
require 'redmine-installer/version'
|
7
5
|
|
8
6
|
Gem::Specification.new do |spec|
|
9
|
-
spec.name
|
10
|
-
spec.version
|
11
|
-
spec.authors
|
12
|
-
spec.email
|
13
|
-
spec.summary
|
14
|
-
spec.description
|
15
|
-
spec.homepage
|
16
|
-
spec.license
|
17
|
-
|
18
|
-
files = `git ls-files -z`.split("\x0")
|
19
|
-
files
|
20
|
-
|
21
|
-
spec.
|
22
|
-
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
23
|
-
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
7
|
+
spec.name = 'redmine-installer'
|
8
|
+
spec.version = RedmineInstaller::VERSION
|
9
|
+
spec.authors = ['Ondřej Moravčík', 'Easy Software Ltd.']
|
10
|
+
spec.email = ['developers@easysoftware.com']
|
11
|
+
spec.summary = %q{Easy way how install/upgrade Redmine, EasyRedmine or EasyProject.}
|
12
|
+
spec.description = %q{}
|
13
|
+
spec.homepage = 'https://github.com/easyredmine/redmine-installer'
|
14
|
+
spec.license = 'MIT'
|
15
|
+
|
16
|
+
files = `git ls-files -z`.split("\x0") - Dir.glob("{spec/**/*,docker-compose.yml,.github/**/*}")
|
17
|
+
spec.files = files
|
18
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
19
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
24
20
|
spec.require_paths = ['lib']
|
25
21
|
|
26
22
|
spec.required_ruby_version = '3.1.2'
|
27
23
|
|
28
|
-
spec.add_runtime_dependency 'bundler', '>=
|
24
|
+
spec.add_runtime_dependency 'bundler', '>= 2.3.7'
|
29
25
|
spec.add_runtime_dependency 'commander'
|
30
26
|
spec.add_runtime_dependency 'pastel', '~> 0.8.0'
|
31
27
|
spec.add_runtime_dependency 'rubyzip'
|
metadata
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redmine-installer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ondřej Moravčík
|
8
|
+
- Easy Software Ltd.
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
@@ -16,14 +17,14 @@ dependencies:
|
|
16
17
|
requirements:
|
17
18
|
- - ">="
|
18
19
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
20
|
+
version: 2.3.7
|
20
21
|
type: :runtime
|
21
22
|
prerelease: false
|
22
23
|
version_requirements: !ruby/object:Gem::Requirement
|
23
24
|
requirements:
|
24
25
|
- - ">="
|
25
26
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
27
|
+
version: 2.3.7
|
27
28
|
- !ruby/object:Gem::Dependency
|
28
29
|
name: commander
|
29
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -152,19 +153,21 @@ dependencies:
|
|
152
153
|
version: 3.11.0
|
153
154
|
description: ''
|
154
155
|
email:
|
155
|
-
-
|
156
|
+
- developers@easysoftware.com
|
156
157
|
executables:
|
157
158
|
- redmine
|
158
159
|
extensions: []
|
159
160
|
extra_rdoc_files: []
|
160
161
|
files:
|
162
|
+
- ".dockerignore"
|
161
163
|
- ".gitignore"
|
162
|
-
- ".travis.yml"
|
163
164
|
- CHANGELOG.md
|
165
|
+
- Dockerfile
|
164
166
|
- LICENSE.txt
|
165
167
|
- README.md
|
166
168
|
- Rakefile
|
167
169
|
- bin/redmine
|
170
|
+
- gems.locked
|
168
171
|
- gems.rb
|
169
172
|
- lib/redmine-installer.rb
|
170
173
|
- lib/redmine-installer/backup.rb
|
@@ -191,15 +194,6 @@ files:
|
|
191
194
|
- lib/redmine-installer/utils.rb
|
192
195
|
- lib/redmine-installer/version.rb
|
193
196
|
- redmine-installer.gemspec
|
194
|
-
- spec/custom_matchers.rb
|
195
|
-
- spec/installer_helper.rb
|
196
|
-
- spec/installer_process.rb
|
197
|
-
- spec/lib/backup_restore_spec.rb
|
198
|
-
- spec/lib/install_spec.rb
|
199
|
-
- spec/lib/upgrade_spec.rb
|
200
|
-
- spec/packages_helper.rb
|
201
|
-
- spec/shared_contexts.rb
|
202
|
-
- spec/spec_helper.rb
|
203
197
|
homepage: https://github.com/easyredmine/redmine-installer
|
204
198
|
licenses:
|
205
199
|
- MIT
|
@@ -219,17 +213,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
219
213
|
- !ruby/object:Gem::Version
|
220
214
|
version: '0'
|
221
215
|
requirements: []
|
222
|
-
rubygems_version: 3.3.
|
216
|
+
rubygems_version: 3.3.7
|
223
217
|
signing_key:
|
224
218
|
specification_version: 4
|
225
219
|
summary: Easy way how install/upgrade Redmine, EasyRedmine or EasyProject.
|
226
|
-
test_files:
|
227
|
-
- spec/custom_matchers.rb
|
228
|
-
- spec/installer_helper.rb
|
229
|
-
- spec/installer_process.rb
|
230
|
-
- spec/lib/backup_restore_spec.rb
|
231
|
-
- spec/lib/install_spec.rb
|
232
|
-
- spec/lib/upgrade_spec.rb
|
233
|
-
- spec/packages_helper.rb
|
234
|
-
- spec/shared_contexts.rb
|
235
|
-
- spec/spec_helper.rb
|
220
|
+
test_files: []
|
data/.travis.yml
DELETED
data/spec/custom_matchers.rb
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
require 'rspec/expectations'
|
2
|
-
|
3
|
-
RSpec::Matchers.define :have_output do |text|
|
4
|
-
match do |process|
|
5
|
-
expect(process.get(text)).to include(text)
|
6
|
-
end
|
7
|
-
|
8
|
-
failure_message do |process|
|
9
|
-
"expected that \"#{process.last_get_return}\" would contains: #{text}"
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
RSpec::Matchers.define :have_output_in do |text, second|
|
14
|
-
match do |process|
|
15
|
-
expect(process.get(text, max_wait: second)).to include(text)
|
16
|
-
end
|
17
|
-
|
18
|
-
failure_message do |process|
|
19
|
-
"expected that \"#{process.last_get_return}\" would contains: #{text} in #{second}s"
|
20
|
-
end
|
21
|
-
end
|