redmine-installer 1.0.1 → 1.0.2

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
  SHA1:
3
- metadata.gz: 6eaa904e13251ea33c73736a30c92a5d4ddeef38
4
- data.tar.gz: 43e41ce807838f5f99b45058c3aabb1b821b5cff
3
+ metadata.gz: c6b1dc78262bd3d0e88d765b62bac3ff5c6cd31b
4
+ data.tar.gz: 4281ff021662f3f92e320dbcc150132161592a8d
5
5
  SHA512:
6
- metadata.gz: 6066b5488f0860416ad1f8e16e3e9395338a0e04ab27c992098c87dd174283f50794ee20c823b4087178c9ac775169e314db7ce8339272ddca619e703b92dead
7
- data.tar.gz: 98790f5d9cf1a4e662dc09d8ede703742817f87e3f3c7d66772560435c6bb19ec60d72bd3df5dff15cfe6ea97e216522aeb4aaf008c87344f8f8aeb309a41594
6
+ metadata.gz: 9120fb096383789fdced6385f500308b3f773a33c2a35eb5e1361391085317321cec5405f7a094cb29f9c51a3c8366f0ebda282c830e69a177c9514630581bce
7
+ data.tar.gz: a75f19c13818acc90aaaea573f622c8e79ad08a21e70b809c34058972fb66fffce3070a7354cd864a53ff6b3b3fda1582e45f1bfbec49061bfdb5faa400d4bcf
data/Gemfile CHANGED
@@ -3,11 +3,12 @@ source 'https://rubygems.org'
3
3
  # Specify your gem's dependencies in redmine-installer.gemspec
4
4
  gemspec
5
5
 
6
+ gem 'ansi'
6
7
  gem 'gli'
7
8
  gem 'i18n'
8
- gem 'ansi'
9
9
  gem 'notifier'
10
10
  gem 'ruby-progressbar'
11
+ gem 'rubyzip'
11
12
 
12
13
  group :development do
13
14
  gem 'pry'
@@ -48,6 +48,8 @@ module Redmine::Installer
48
48
  unless success
49
49
  if confirm(:do_you_want_repeat_command, false)
50
50
  return run(*_args)
51
+ else
52
+ raise Redmine::Installer::Error, I18n.translate(:command_exit_with_error, command: command)
51
53
  end
52
54
  end
53
55
 
@@ -60,6 +60,7 @@ module Redmine::Installer
60
60
  attribute :default
61
61
  attribute :value
62
62
  attribute :ask, true
63
+ attribute :hide, false
63
64
 
64
65
  def initialize(name)
65
66
  # Default
@@ -77,6 +78,7 @@ module Redmine::Installer
77
78
 
78
79
  def set(key, value)
79
80
  self.send("#{key}=", value)
81
+ self
80
82
  end
81
83
 
82
84
  def default(value=nil)
@@ -84,6 +86,14 @@ module Redmine::Installer
84
86
 
85
87
  self.default = value
86
88
  self.value = value if self.value.nil?
89
+ self
90
+ end
91
+
92
+ def hide(value=nil)
93
+ return @hide if value.nil?
94
+
95
+ self.hide = value
96
+ self
87
97
  end
88
98
 
89
99
  end
@@ -18,7 +18,7 @@ module Redmine::Installer::Helper
18
18
 
19
19
  say("(#{instance.class.title})", 2)
20
20
  instance.params.for_asking.each do |p|
21
- p.value = ask(p.title, default: p.default)
21
+ p.value = ask(p.title, default: p.default, hide: p.hide)
22
22
  end
23
23
 
24
24
  instance.make_config(base.tmp_redmine_root)
@@ -9,6 +9,7 @@ cs:
9
9
  cli_flag_source: 'Jaký typ je balíček'
10
10
  cli_flag_branch: 'Jiná větev gitu'
11
11
  cli_flag_environment: 'Prostředí redminu'
12
+ command_exit_with_error: 'Příkaz: <bright>%{command}</bright> skončil s chybou'
12
13
  dir_not_exist_and_cannot_be_created: 'Složka %{dir} neexistuje a nemůže být vytvořena'
13
14
  dir_is_not_writeable: 'Složka <bright>%{dir}</bright> není zapisovatelná'
14
15
  do_you_want_repeat_command: 'Chcete opakovat příkaz?'
@@ -10,6 +10,7 @@ en:
10
10
  cli_flag_source: 'What type is package argument'
11
11
  cli_flag_branch: 'Different branch for git'
12
12
  cli_flag_environment: 'Environment for redmine'
13
+ command_exit_with_error: 'Command: <bright>%{command}</bright> exit with an error'
13
14
  dir_not_exist_and_cannot_be_created: 'Dir %{dir} does not exist and can not be created'
14
15
  dir_is_not_writeable: 'Dir <bright>%{dir}</bright> is not writeable'
15
16
  do_you_want_repeat_command: 'Do you want repeat this command?'
@@ -45,7 +45,7 @@ module Redmine::Installer::Plugin
45
45
  @params.add('database')
46
46
  @params.add('host').default('localhost')
47
47
  @params.add('username')
48
- @params.add('password')
48
+ @params.add('password').hide(true)
49
49
  @params.add('encoding').default('utf8')
50
50
  end
51
51
 
@@ -143,7 +143,7 @@ module Redmine::Installer::Plugin
143
143
 
144
144
  class PostgreSQL < Database
145
145
  def self.adapter_name
146
- 'pg'
146
+ 'postgresql'
147
147
  end
148
148
 
149
149
  def initialize
@@ -152,7 +152,7 @@ module Redmine::Installer::Plugin
152
152
  end
153
153
 
154
154
  def command(comm, file)
155
- %{PGPASSWORD="#{get('password')}" #{comm} -i -h #{get('host')} -p #{get('port')} -U #{get('username')} -Fc -f #{file}}
155
+ %{PGPASSWORD="#{get('password')}" #{comm} -i -h #{get('host')} -p #{get('port')} -U #{get('username')} -Fc -f #{file} #{get('database')}}
156
156
  end
157
157
 
158
158
  def command_for_backup(file)
@@ -11,20 +11,34 @@ module Redmine::Installer::Plugin
11
11
  records.include?(self.class_name.downcase)
12
12
  end
13
13
 
14
- class EasyProject < RedminePlugin
14
+ end
15
+ end
15
16
 
16
- RAKE_EASYPROJECT_INSTALL = 'bundle exec rake easyproject:install RAILS_ENV=production'
17
+ ##
18
+ # EasyProject
19
+ #
20
+ # http://www.easyredmine.com
21
+ #
22
+ # Easy Redmine is complex project management web application best suited to project teams between
23
+ # 10 - 100 users. Whether you manage just yourself or a huge team of software developers,
24
+ # Easy Redmine will provide all necessary project management features to complete your projects
25
+ # on time, scope and budget.
26
+ #
27
+ class EasyProject < Redmine::Installer::Plugin::RedminePlugin
17
28
 
18
- def self.install
19
- if am_i_there?
20
- run_command(RAKE_EASYPROJECT_INSTALL, t('plugin.redmine_plugin.easyproject.install'))
21
- end
22
- end
23
-
24
- def self.upgrade
25
- install
26
- end
29
+ class Redmine::Installer::Command
30
+ def rake_easyproject_install(env)
31
+ run(RAKE, 'easyproject:install', get_rails_env(env), :'plugin.redmine_plugin.easyproject.install')
27
32
  end
33
+ end
34
+
35
+ RAKE_EASYPROJECT_INSTALL = 'bundle exec rake RAILS_ENV=production'
36
+
37
+ def self.install(base)
38
+ command.rake_easyproject_install(base.env) if am_i_there?
39
+ end
28
40
 
41
+ def self.upgrade(base)
42
+ install(base)
29
43
  end
30
44
  end
@@ -13,7 +13,9 @@ module Redmine::Installer::Step
13
13
  command.rake_generate_secret_token(base.env)
14
14
 
15
15
  # Other plugins can have post-install procedure
16
- plugin::RedminePlugin.all.each(&:install)
16
+ plugin::RedminePlugin.all.each do |plugin|
17
+ plugin.install(base)
18
+ end
17
19
  end
18
20
  end
19
21
 
@@ -30,7 +30,9 @@ module Redmine::Installer::Step
30
30
  command.rake_generate_secret_token(base.env)
31
31
 
32
32
  # Other plugins can have post-install procedure
33
- plugin::RedminePlugin.all.each(&:upgrade)
33
+ plugin::RedminePlugin.all.each do |plugin|
34
+ plugin.upgrade(base)
35
+ end
34
36
  end
35
37
 
36
38
  # Delete content of redmine_root
@@ -1,6 +1,7 @@
1
1
  require 'fileutils'
2
2
  require 'notifier'
3
3
  require 'ansi'
4
+ require 'io/console'
4
5
 
5
6
  module Redmine::Installer
6
7
  module Utils
@@ -113,8 +114,14 @@ module Redmine::Installer
113
114
  end
114
115
 
115
116
  # Instead of `super` take only what I need
116
- def gets
117
- $stdin.gets.to_s.chomp
117
+ def gets(hide=false)
118
+ if hide
119
+ input = $stdin.noecho{|io| io.gets}.to_s.chomp
120
+ $stdout.puts # noecho is also for enter
121
+ input
122
+ else
123
+ $stdin.gets.to_s.chomp
124
+ end
118
125
  end
119
126
 
120
127
  # Asking on 1 line
@@ -134,7 +141,7 @@ module Redmine::Installer
134
141
  end
135
142
 
136
143
  say(message)
137
- input = gets
144
+ input = gets(options[:hide])
138
145
 
139
146
  # Ctrl-D or enter was pressed
140
147
  return default if input.empty?
@@ -1,5 +1,5 @@
1
1
  module Redmine
2
2
  module Installer
3
- VERSION = '1.0.1'
3
+ VERSION = '1.0.2'
4
4
  end
5
5
  end
@@ -57,7 +57,6 @@ module Redmine
57
57
  end
58
58
 
59
59
  # Requirements
60
- require 'pry'
61
60
  require 'i18n'
62
61
  require 'redmine-installer/version'
63
62
  require 'redmine-installer/error'
@@ -20,9 +20,12 @@ Gem::Specification.new do |spec|
20
20
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
21
21
  spec.require_paths = ["lib"]
22
22
 
23
- spec.add_runtime_dependency "gli"
24
23
  spec.add_runtime_dependency "ansi"
24
+ spec.add_runtime_dependency "gli"
25
+ spec.add_runtime_dependency "i18n"
25
26
  spec.add_runtime_dependency "notifier"
27
+ spec.add_runtime_dependency "ruby-progressbar"
28
+ spec.add_runtime_dependency "rubyzip"
26
29
 
27
30
  spec.add_development_dependency "bundler", "~> 1.6"
28
31
  spec.add_development_dependency "rake"
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redmine-installer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ondřej Moravčík
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-14 00:00:00.000000000 Z
11
+ date: 2014-11-20 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: ansi
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: gli
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -25,7 +39,7 @@ dependencies:
25
39
  - !ruby/object:Gem::Version
26
40
  version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
- name: ansi
42
+ name: i18n
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
45
  - - '>='
@@ -52,6 +66,34 @@ dependencies:
52
66
  - - '>='
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: ruby-progressbar
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubyzip
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
55
97
  - !ruby/object:Gem::Dependency
56
98
  name: bundler
57
99
  requirement: !ruby/object:Gem::Requirement